Добавил:
korayakov
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Лабы / ООП.Builder / Лабы / laba2 / CALC / Unit1
.cpp//---------------------------------------------------------------------------
#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::Button10Click(TObject *Sender)
{
if (!Calc)
Edit1->Text=Edit1->Text+((TButton*) Sender)->Caption;
else
{Edit1->Text=((TButton*) Sender)->Caption; Calc=false;};
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button18Click(TObject *Sender)
{
Edit1->Text="";
LastNum=0;
Calc=false;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
Oper=127;
LastNum=0;
Calc=doc=false;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button12Click(TObject *Sender)
{
String r=((TButton*) Sender)->Caption;
Oper=127;
String p=Edit1->Text;
if (r=="+") Oper=1;
if (r=="-") Oper=2;
if (r=="*") Oper=3;
if (r=="/") Oper=4;
int s=p.Pos(",");
if (s>0)
{
p.Delete(s,1);
}
LastNum=StrToFloat(p);
if (s>0)
for (int i=1;i<=p.Length()-s+1;i++)
LastNum=LastNum/10;
Edit1->Text="";
doc=false;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button17Click(TObject *Sender)
{
if (Edit1->Text.Length()==0)
return;
if (Oper!=127)
{
double t,r=StrToFloat(Edit1->Text);
switch (Oper){
case 1: t=r+LastNum;break;
case 2: t=LastNum-r;break;
case 3: t=LastNum*r;break;
case 4: t=LastNum/r;break;
}
Edit1->Text=FloatToStr(t);
LastNum=t;
Calc=true;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button11Click(TObject *Sender)
{
if (doc) return;
if (Edit1->Text.Length()==0)
{Edit1->Text="0,";doc=true;
}
else
Edit1->Text=Edit1->Text+",";
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button16Click(TObject *Sender)
{
if (Edit1->Text.Pos("-")==0)
{
Edit1->Text="-"+Edit1->Text;
}
else
{int t=Edit1->Text.Pos("-");
String s=Edit1->Text;s.Delete(t,1);
Edit1->Text=s;
}
}
//---------------------------------------------------------------------------
Соседние файлы в папке CALC