Загрузка...

Программа на вычисление стороны и углов треугольника

Тема в разделе C/C++ создана пользователем dremi4 16 сен 2021. 190 просмотров

  1. dremi4
    dremi4 Автор темы 16 сен 2021 0 4 ноя 2018
    Код
    //---------------------------------------------------------------------------

    #include <vcl.h>
    #pragma hdrstop

    #include "Unit4.h"
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma resource "*.dfm"
    TForm1 *Form1;
    //---------------------------------------------------------------------------
    __fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
    {
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    float a, c, h;
    float b, b1, b2;
    double A, B, C;
    a=StrToFloat(Edit1->Text);
    c=StrToFloat(Edit2->Text);
    h=StrToFloat(Edit3->Text);
    b1=sqrt(a*a-h*h);
    b2=sqrt(c*c-h*h);
    b=b1+b2;
    A=acos((a*a+b*b-c*c)/(2*a*b));
    B=acos((a*a+c*c-b*b)/(2*a*c));
    C=acos((b*b+c*c-a*a)/(2*b*c));
    Edit4->Text = FloatToStr(b);
    Edit5->Text = FloatToStr(B);
    Edit6->Text = FloatToStr(C);
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::Button2Click(TObject *Sender)
    {
    Form1-> Close();
    }
    //---------------------------------------------------------------------------
    Программа работает, но при вводе чисел выдаёт "Invalid floating point operation". В чём может быть проблема и где ошибка? Подскажите пожалуйста.
     
    16 сен 2021 Изменено
  2. dremi4
    dremi4 Автор темы 16 сен 2021 0 4 ноя 2018
    извиняюсь, первый раз пишу
     
  3. XomkaPiroman
    XomkaPiroman 16 сен 2021 Ем 348 19 авг 2020
    Ошибка означает, что где-то получается слишком большое число или конфликт точности. По идее тебе среда разработки должна подсветить строку с ошибкой. Советую через шаг с заходом или шаг с выходом (F10 или F11) простись по проге и отловить, гле начинается аврал
     
Top
Загрузка...