Winni Назад создать приложение калькулятор

создать приложение калькулятор, использовать компонент TMainMenu 
для создания верхнего меню, использовать форму AboutBox 
для создания идентификатора приложения. Применить округление чисел.

Текст файлов .cpp:
//-------------------  kalc.cpp  ----------------------------

#include 
#include 
#pragma hdrstop

#include "kalk.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
#include "kalk_about.h"

TForm1 *Form1;
double X,Y; // Регистры калькулятора
int vtor=0; /* Признак начала ввода второго числа. Принимает значение истина,
если необходимо начать ввод второго числа, ложь - в всех остальных случаях */
int toch=0; /* Признак десятичной точки, если число на индикаторе содержит
десятичную точку, то признак принимает значение истина и ложь, если число
не содержит точки */ 
int oper=0;  // Номер выбранной операции
char s1[18]; // Будет использована для преобразования  числа в строку символов

//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void vivod()
{
  Y = X;
  Y = ceil(1000*Y)/1000;
  gcvt(Y,15,s1);
  Form1->Edit1->Text=s1;
}
//------------------------------
void __fastcall TForm1::btn1Click(TObject *Sender)
{
// Если на индикаторе 0 или окончен набор первого числа, то замещаем надпись на
// индикаторе
 if ((Edit1->Text=="0")||( vtor==1 ))
   {
   Edit1->Text=btn1->Caption;
   vtor=0;
   toch=0;
   }
  else
   Edit1->Text=Edit1->Text+btn1->Caption;
// иначе дописываем цифру в конец числа
}
//---------------------------------------------------------------------------
void __fastcall TForm1::btn2Click(TObject *Sender)
{
// Если на индикаторе 0 или окончен набор первого числа, то замещаем надпись на
// индикаторе
 if ((Edit1->Text=="0")||( vtor==1 ))
   {
   Edit1->Text= "2"; //btn2->Caption;
   vtor=0;
   toch=0;
   }
  else
   Edit1->Text=Edit1->Text+"2"; //btn2->Caption;
// иначе дописываем цифру в конец числа
}
//---------------------------------------------------------------------------
void __fastcall TForm1::btn3Click(TObject *Sender)
{
 if ((Edit1->Text=="0")||( vtor==1 ))
   {
   Edit1->Text= "3";
   vtor=0;
   toch=0;
   }
  else
   Edit1->Text=Edit1->Text+"3";
}
//---------------------------------------------------------------------------
void __fastcall TForm1::btn4Click(TObject *Sender)
{
 if ((Edit1->Text=="0")||( vtor==1 ))
   {
   Edit1->Text= "4";
   vtor=0;
   toch=0;
   }
  else
   Edit1->Text=Edit1->Text+"4";
}
//---------------------------------------------------------------------------
void __fastcall TForm1::btn5Click(TObject *Sender)
{
 if ((Edit1->Text=="0")||( vtor==1 ))
   {
   Edit1->Text= "5";
   vtor=0;
   toch=0;
   }
  else
   Edit1->Text=Edit1->Text+"5";
}
//---------------------------------------------------------------------------
void __fastcall TForm1::btn6Click(TObject *Sender)
{
  if ((Edit1->Text=="0")||( vtor==1 ))
   {
   Edit1->Text= "6";
   vtor=0;
   toch=0;
   }
  else
   Edit1->Text=Edit1->Text+"6";
}
//---------------------------------------------------------------------------
void __fastcall TForm1::btn7Click(TObject *Sender)
{
  if ((Edit1->Text=="0")||( vtor==1 ))
   {
   Edit1->Text= "7";
   vtor=0;
   toch=0;
   }
  else
   Edit1->Text=Edit1->Text+"7";
}
//---------------------------------------------------------------------------
void __fastcall TForm1::btn8Click(TObject *Sender)
{
  if ((Edit1->Text=="0")||( vtor==1 ))
   {
   Edit1->Text= "8";
   vtor=0;
   toch=0;
   }
  else
   Edit1->Text=Edit1->Text+"8";
}
//---------------------------------------------------------------------------
void __fastcall TForm1::btn9Click(TObject *Sender)
{
  if ((Edit1->Text=="0")||( vtor==1 ))
   {
   Edit1->Text= "9";
   vtor=0;
   toch=0;
   }
  else
   Edit1->Text=Edit1->Text+"9";
}
//---------------------------------------------------------------------------
void __fastcall TForm1::btn0Click(TObject *Sender)
{
  if ((Edit1->Text=="0")||( vtor==1 ))
   {
   Edit1->Text= "0";
   vtor=0;
   toch=0;
   }
  else
   Edit1->Text=Edit1->Text+"0";
}
//---------------------------------------------------------------------------
void __fastcall TForm1::btnTochClick(TObject *Sender)
{
 if ((Edit1->Text=="0")||( vtor==1 ))
   {
   Edit1->Text="0.";
   vtor=0;
   toch=1;
   }
  else
   if (toch==0)
     {
     Edit1->Text=Edit1->Text+ "."; //Button_toch->Caption;
     toch=1;
     }

}
//---------------------------------------------------------------------------

void __fastcall TForm1::btnPlusClick(TObject *Sender)
{
String s; // Строка будет использована для преобразования строки в число
s=Edit1->Text;
vtor=1;
X=atof(s.c_str());    // Преобразование строки к вещественному числу
Y=X;
oper=1;
}
//---------------------------------------------------------------------------

void __fastcall TForm1::btnMinusClick(TObject *Sender)
{
String s; // Строка будет использована для преобразования строки в число
s=Edit1->Text;
vtor=1;
X=atof(s.c_str());    // Преобразование строки к вещественному числу
Y=X;
oper=2;
}
//---------------------------------------------------------------------------

void __fastcall TForm1::btnRavnoClick(TObject *Sender)
{
String s;   // Будет использована для преобразования строки в число символов
s=Edit1->Text;
X=atof(s.c_str());
if  (oper==1)
{  X=X+Y;  }
if  (oper==2)
{  X=Y-X; }
if  (oper==3)
{  X=Y*X; }
if  (oper==4)
{
 if (X==0)
   Edit1->Text="Деление на ноль";
  else
   X = Y/X;
}
 vivod();
}
//---------------------------------------------------------------------------

void __fastcall TForm1::btnMnojClick(TObject *Sender)
{
String s; // Строка будет использована для преобразования строки в число
s=Edit1->Text;
vtor=1;
X=atof(s.c_str());    // Преобразование строки к вещественному числу
Y=X;
oper=3;
}
//---------------------------------------------------------------------------

void __fastcall TForm1::btnClearClick(TObject *Sender)
{
   Edit1->Text= "0";
   vtor=0;
   toch=0;
}
//---------------------------------------------------------------------------

void __fastcall TForm1::N3Click(TObject *Sender)
{
 Form1->Close();        
}
//---------------------------------------------------------------------------

void __fastcall TForm1::N5Click(TObject *Sender)
{
 AboutBox->Visible=true;        
}
//---------------------------------------------------------------------------

void __fastcall TForm1::btnDelClick(TObject *Sender)
{
String s; // Строка будет использована для преобразования строки в число
s=Edit1->Text;
vtor=1;
X=atof(s.c_str());    // Преобразование строки к вещественному числу
Y=X;
oper=4;
}
//---------------------------------------------------------------------------

void __fastcall TForm1::btnThClick(TObject *Sender)
{
String s; // Строка будет использована для преобразования строки в число
char s1[18];// Будет использована для преобразования  числа в строку символов
double buf1,buf2;
s=Edit1->Text;
// vtor=1;
X=atof(s.c_str());    // Преобразование строки к вещественному числу
Y=X;
buf1 = exp(Y);  buf2 = exp(-Y);
X = ( buf1 - buf2)/(buf1 + buf2);
// округляю до 3 цифр после запятой
vivod();
}

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

void __fastcall TForm1::btnCthClick(TObject *Sender)
{
String s; // Строка будет использована для преобразования строки в число
char s1[18];// Будет использована для преобразования  числа в строку символов
double buf1,buf2;

s=Edit1->Text;
// vtor=1;
X=atof(s.c_str());    // Преобразование строки к вещественному числу
Y=X;

buf1 = exp(Y);  buf2 = exp(-Y);
X = ( buf1 + buf2)/(buf1 - buf2);
vivod();
}
//---------------------------------------------------------------------------
//-------------  kalk_about.cpp   --------------------------------
#include 
#pragma hdrstop

#include "kalk_about.h"
//--------------------------------------------------------------------- 
#pragma resource "*.dfm"
TAboutBox *AboutBox;
//--------------------------------------------------------------------- 
__fastcall TAboutBox::TAboutBox(TComponent* AOwner)
	: TForm(AOwner)
{
}
//---------------------------------------------------------------------
void __fastcall TAboutBox::OKButtonClick(TObject *Sender)
{
   AboutBox->Visible = false; 
}
//---------------------------------------------------------------------------
Упакованные файлы проекта
Rambler's Top100
Hosted by uCoz