Выдаёт ошибку: Acos Domain Error,полсе нажатия окей,ещё одну ошибку P

  • Автор темы prikolist
  • Дата начала
Статус
Закрыто для дальнейших ответов.
P

prikolist

Гость
#1
Здравствуйте! подскажите пожалуйста где ошибка в коде.

Выдаёт ошибку: acos DOMAIN error,полсе нажатия окей,ещё одну ошибку
pow OWERFLAW ERROR


Код:
//---------------------------------------------------------------------------


#include <vcl.h>
#include <math.h>  // Директива для sqrt,abs,pow
#pragma hdrstop

#include "Unit1.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,b,c,h,otvet;
double d;



//Выводим результат в Label1 проверив на исключения
try
{
//Присваиваем переменным а,b,c,d,h введённые значения. в Edit1..Edit5
//Преобразуем с текстового типа символы в вещественый тип Float
a = StrToFloat(Edit1->Text);
b = StrToFloat(Edit2->Text);
c = StrToFloat(Edit3->Text);
d = StrToFloat(Edit4->Text);
h = StrToFloat(Edit5->Text);

//Результат вычислений присваиваем переменной "otvet" проверив деление
// на значение b
if (b!=0)
{
otvet = pow(4*(exp(sqrt(abs(a/b)))-exp(-sqrt(abs(a/b))))+3*acos(d),c);
return;
}
else
{
MessageBox(0,"Введите другое значение b и повторите расчет, так как делить \n на b, при b=0 запрещенно, согласно законам программирования !",
"Программа создана Игорем",MB_ICONWARNING);
return;
}



//-----------------------------------------------------------




//Результат пполучаем в метке Label 1
Label1->Caption = "Результат=" + FloatToStrF(otvet,ffGeneral,7,2);
}
catch(EZeroDivide&)
{
MessageBox(0,"Ошибка! Деление на ноль!!!","Ошибка",MB_ICONERROR);
return;
}
catch(EConvertError&)
{
MessageBox(0,"Ошибка! Неправильно введено число в одном из \n полей. Возможно в полях присутствуют неправильные \n знаки вроде: w,п,!,%,$,. и т.д.","Ошибка",MB_ICONERROR);
return;
}
catch(EOverflow&)
{
ShowMessage("Выход числа за допустимый диапазон");
return;
}

}
//---------------------------------------------------------------------------
//Кнопка закрыть
void __fastcall TForm1::Button2Click(TObject *Sender)
{
Close();
}
 
Статус
Закрыто для дальнейших ответов.