Калькулятор

Програма дозволяє виконати найпростіші розрахунки. В якості поля введення використвоується компонент StaticText.

Код написання програми

float accum; // змінна, в якій зберігаються дані попередньої операції
int op, f;
//-------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
f = 0;
op = 0;
StaticText1->Caption = 0;
}
//--------------------------------
void DoOp (void)
{
float op2 = StrToFloat(Form1->StaticText1->Caption);
switch ( op )
{
case 0 : accum = op2; break ;
case 1 : accum += op2; break;
case 2 : accum -= op2; break;
}
Form1->StaticText1->Caption = FloatToStrF(accum,ffGeneral,6,3);
}
//---------------------------------
void __fastcall TForm1::BitBtn0Click(TObject *Sender)
{
if ( f != 0)
StaticText1->Caption = StaticText1->Caption + "0";
}
//---------------------------------
void __fastcall TForm1::BitBtn1Click(TObject *Sender)
{
if ( f == 0)
{
StaticText1->Caption = "1";
f = 1;
}
else
StaticText1->Caption = StaticText1->Caption + "1";
}
//----------------------------------
void __fastcall TForm1::BitBtn2Click(TObject *Sender)
{
if ( f == 0)
{
StaticText1->Caption = "2";
f = 1;
}
else
StaticText1->Caption = StaticText1->Caption + "2";
}
//-----------------------------------
void __fastcall TForm1::BitBtn3Click(TObject *Sender)
{
if ( f == 0)
{
StaticText1->Caption = "3";
f = 1;
}
else
StaticText1->Caption = StaticText1->Caption + "3";
}
//---------------------------------------
void __fastcall TForm1::BitBtn4Click(TObject *Sender)
{
if ( f == 0)
{
StaticText1->Caption = "4";
f = 1;
}
else
StaticText1->Caption = StaticText1->Caption + "4";
}
//------------------------------------------
void __fastcall TForm1::BitBtn5Click(TObject *Sender)
{
if ( f == 0)
{
StaticText1->Caption = "5";
f = 1;
}
else
StaticText1->Caption = StaticText1->Caption + "5";
}
//--------------------------------------------
void __fastcall TForm1::BitBtn6Click(TObject *Sender)
{
if ( f == 0)
{
StaticText1->Caption = "6";
f = 1;
}
else
StaticText1->Caption = StaticText1->Caption + "6";
}
//------------------------------------------
void __fastcall TForm1::BitBtn7Click(TObject *Sender)
{
if ( f == 0)
{
StaticText1->Caption = "7";
f = 1;
}
else
StaticText1->Caption = StaticText1->Caption + "7";
}
//-------------------------------------------
void __fastcall TForm1::BitBtn8Click(TObject *Sender)
{
if ( f == 0)
{
StaticText1->Caption = "8";
f = 1;
}
else
StaticText1->Caption = StaticText1->Caption + "8";
}
//-----------------------------------------
void __fastcall TForm1::BitBtn9Click(TObject *Sender)
{
if ( f == 0)
{
StaticText1->Caption = "9";
f = 1;
}
else
StaticText1->Caption = StaticText1->Caption + "9";
}
//-----------------------------------------
void __fastcall TForm1::BitBtn11Click(TObject *Sender)
{
if ( f == 0)
{
StaticText1->Caption = "0,";
f = 1;
}
else StaticText1->Caption = StaticText1->Caption + ",";
}
//--------------------------------------------
void __fastcall TForm1::BitBtn14Click(TObject *Sender)
{
StaticText1->Caption = "0";
accum = 0;
op = 0;
f = 0;
}
//---------------------------------------------
void __fastcall TForm1::BitBtn10Click(TObject *Sender)
{
if ( f != 0)
{
DoOp(); // Віднімання « - »
f = 0;
}
op = 1;
}
//--------------------------------------------
void __fastcall TForm1::BitBtn12Click(TObject *Sender)
{
if ( f != 0)
{
DoOp(); // Складання « + »
f = 0;
}
op = 2;
}
//--------------------------------------------
void __fastcall TForm1::BitBtn13Click(TObject *Sender)
{
if ( f != 0)
{
DoOp(); // Виконання розрахунку « = »
f = 0;
}
op = 0;
}

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *