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

#include <vcl.h>
#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)
{
	try
	{
		double a=StrToFloat(Edit1->Text);
		double b=StrToFloat(Edit2->Text);
		double c=StrToFloat(Edit3->Text);
		double Delta=b*b-4*a*c;
		byte IloscPierwiastkow=0;
		if (Delta>0) IloscPierwiastkow=2;
		if (Delta==0) IloscPierwiastkow=1;
		double x1,x2;
		switch (IloscPierwiastkow)
		{
			case 0:
				Edit4->Text="Brak rozwiązań (delta mniejsza od zera)";
				break;
			case 1:
				x1=-b/(2*a);
				x2=x1;
				Edit4->Text="Pierwiastek podwójny:  x="+FloatToStr(x1);
				break;
			case 2:
				x1=(-b-Sqrt(Delta))/(2*a);
				x2=(-b+Sqrt(Delta))/(2*a);
				Edit4->Text="x1="+FloatToStr(x1)+",  x2="+FloatToStr(x2);
				break;
			default:
				//Edit4->Text="Błąd!";
				throw Exception("Niemożliwa do określenia ilość rozwiązań równania");
				break;
		}
		ShowMessage(Edit4->Text);
	}
	catch(EConvertError& exc)
	{
		Edit4->Clear();
		ShowMessage("Błąd konwersji współczynników równania!\nKomunikat wyjątku: "+exc.Message);
		return;
	}
	catch(...)
	{
		Edit4->Clear();
		ShowMessage("Wystąpił nierozpoznany typ błędu!");
	}
}
//---------------------------------------------------------------------------
