- •Міністерство освіти і науки України
- •На курсову роботу з дисципліни "Проблемно-орієнтовані мови програмування" студенту групи кн-15 Головку р.М.
- •1.Формулювання задачі
- •2. Методи та засоби розв’язування задачі
- •3.Алгоритми розв’язування задачі
- •4.Програма та її опис
- •5.Технологія програмування, виконання та відлагодження програми
- •6.Інструкція користувачеві
- •7.Контрольний приклад та аналіз результатів комп’ютерної реалізації програми
- •Void Calculate(tEdit *Edit1, cCalc *Tc, char cd)
- •Void Numbers(tEdit *Edit1, cCalc *Tc, char num)
- •Void __fastcall tForm1::Button11Click(tObject *Sender)
- •Void __fastcall tForm1::Button31Click(tObject *Sender)
Void Calculate(tEdit *Edit1, cCalc *Tc, char cd)
{
if (Tc->d=='e') Edit1->Text="Error!";
else
{
if (!Tc->end)
{
if (Tc->d==cd || Tc->d=='\0')
{
Tc->d=cd;
if (Tc->a1 && !Tc->b1 && !Tc->flag)
{
Edit1->Text=FloatToStr(Tc->Action(StrToFloat(Edit1->Text)));
Tc->flag=true;
}
else if (!Tc->a1 && !Tc->b1)
{
Edit1->Text=FloatToStr(Tc->Action(StrToFloat(Edit1->Text)));
Tc->flag=true;
}
}
else
{
if (!Tc->flag)
{
Edit1->Text=FloatToStr(Tc->Action(StrToFloat(Edit1->Text)));
Tc->a1=Tc->flag=true;
Tc->b1=false;
Tc->a=StrToFloat(Edit1->Text);
}
Tc->d=cd;
}
}
else if (!Tc->flag)
{
Tc->d=cd;
Tc->b1=Tc->end=false;
Tc->a1=Tc->flag=true;
Tc->a=StrToFloat(Edit1->Text);
}
}
}
Void Numbers(tEdit *Edit1, cCalc *Tc, char num)
{
if (Tc->d=='e') Edit1->Text="Error!";
else
{
if (Tc->flag || (Tc->point==false && Edit1->Text=="0,"))
{
Edit1->Clear();
Tc->flag=false;
Tc->point=false;
}
Edit1->Text=Edit1->Text+num;
}
}
TForm1 *Form1;
cCalc *Tc= new cCalc;
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//============================================================
//======================' + '====================================
void __fastcall TForm1::Button13Click(TObject *Sender)
{
Calculate(Edit1, Tc,'+');
}
//======================' - '====================================
void __fastcall TForm1::Button14Click(TObject *Sender)
{
Calculate(Edit1, Tc,'-');
}
//======================' * '====================================
void __fastcall TForm1::Button15Click(TObject *Sender)
{
Calculate(Edit1, Tc,'*');
}
//======================' / '====================================
void __fastcall TForm1::Button16Click(TObject *Sender)
{
Calculate(Edit1, Tc,'/');
}
//======================' Mod '==================================
void __fastcall TForm1::Button25Click(TObject *Sender)
{
Calculate(Edit1, Tc,'%');
}
//======================' Div '==================================
void __fastcall TForm1::Button26Click(TObject *Sender)
{
Calculate(Edit1, Tc,'d');
}
//======================' x^y '==================================
void __fastcall TForm1::Button29Click(TObject *Sender)
{
Calculate(Edit1, Tc,'^');
}
//===============================================================
//==========================================================
//========================' 1 '==================================
void __fastcall TForm1::Button2Click(TObject *Sender)
{
Numbers(Edit1, Tc, '1');
}
//========================' 2 '==================================
void __fastcall TForm1::Button3Click(TObject *Sender)
{
Numbers(Edit1, Tc, '2');
}
//========================' 3 '==================================
void __fastcall TForm1::Button4Click(TObject *Sender)
{
Numbers(Edit1, Tc, '3');
}
//========================' 4 '==================================
void __fastcall TForm1::Button5Click(TObject *Sender)
{
Numbers(Edit1, Tc, '4');
}
//========================' 5 '==================================
void __fastcall TForm1::Button6Click(TObject *Sender)
{
Numbers(Edit1, Tc, '5');
}
//========================' 6 '==================================
void __fastcall TForm1::Button7Click(TObject *Sender)
{
Numbers(Edit1, Tc, '6');
}
//========================' 7 '==================================
void __fastcall TForm1::Button8Click(TObject *Sender)
{
Numbers(Edit1, Tc, '7');
}
//========================' 8 '==================================
void __fastcall TForm1::Button9Click(TObject *Sender)
{
Numbers(Edit1, Tc, '8');
}
//========================' 9 '==================================
void __fastcall TForm1::Button10Click(TObject *Sender)
{
Numbers(Edit1, Tc, '9');
}
//========================' 0 '==================================
void __fastcall TForm1::Button1Click(TObject *Sender)
{
if (Tc->point) Numbers(Edit1, Tc, '0');
else if (StrToFloat(Edit1->Text)>0) Numbers(Edit1, Tc, '0');
}
//===============================================================
//========================BeakSpace==============================
void __fastcall TForm1::Button18Click(TObject *Sender)
{
if (Tc->d=='e') Edit1->Text="Error!";
else
{
if (Edit1->Text.Length()==1 ||
(Edit1->Text.Length()==2 && Edit1->Text.operator [](1)=='-'))
{
Edit1->Text="0,";
Tc->point=false;
}
else
if (Edit1->Text.Length()==4 && Edit1->Text.operator [](1)=='-' &&
Edit1->Text.operator [](2)=='0' && Edit1->Text.operator [](3)==',')
{
Edit1->Text="0,";
Tc->point=false;
}
else
if (Edit1->Text.operator [](Edit1->Text.Length())==',' &&
Edit1->Text!="0,")
{
Tc->point=false;
Edit1->Text=Edit1->Text.Delete(Edit1->Text.Length(),1);
}
else
if (Edit1->Text!="0,") Edit1->Text=Edit1->Text.Delete(Edit1->Text.Length(),1);
}
}
//===============================================================
//========================' +/- '================================
