Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
отчет мой.docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
4.46 Mб
Скачать

Задача7. Калькулятор

Усовершенствуйте программу Калькулятор так, чтобы можно было выполнять операции умножения и деления. (рис. 69)

Рис 69

Вывод: В этом задании мы создали калькулятор который делит и умножает числа.

Листинг

#include <vcl.h>

#pragma hdrstop

#include "Unit1.h"

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

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1;

float a,b; AnsiString op; int f;

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

__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

{

f=0;

}

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

void __fastcall TForm1::Button1Click(TObject *Sender)

{

if(f==0){

Memo1->Text=((TButton*)Sender)->Caption;

f=1;}

else

Memo1->Text=Memo1->Text+((TButton*)Sender)->Caption;

b=StrToFloat(Memo1->Text);

}

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

void __fastcall TForm1::Button12Click(TObject *Sender)

{

if(f){

a=StrToFloat(Memo1->Text);

op=((TButton*)Sender)->Caption;

Memo1->Lines->Add(((TButton*)Sender)->Caption);

f=0;}

}

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

void __fastcall TForm1::Button17Click(TObject *Sender)

{

if(op=='+'){

a+=b; f=0;}

else if(op=='-'){

a-=b;f=0;}

else if(op=='*'){

a*=b;f=0;}

else if(op=='/'){

a/=b;f=0;}

Memo1->Lines->Add(FloatToStrF(a,ffGeneral,5,2));

}

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

void __fastcall TForm1::Button16Click(TObject *Sender)

{

Memo1->Clear();

f=0;

}

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

void __fastcall TForm1::Button10Click(TObject *Sender)

{

if(!f){

Memo1->Text="0,";

f=1;}

else if(Memo1->Text.Pos(",")==0)

Memo1->Text=Memo1->Text+",";

}

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

Задача 8. Электроэнергия

Напишите программу, которая сохраняет в файле electr.txt показания счетчика расхода электроэнергии.(Рис.70)

Рис 70

Вывод: В этом задании мы написали программу, которая сохраняет показания счетчика расхода электроэнергии.

Листинг

#include <vcl.h>

#pragma hdrstop

#include "Unit1.h"

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

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1;

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

__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

{

Edit2->OnKeyPress = Edit1KeyPress;

Edit3->OnKeyPress = Edit1KeyPress;

Edit1->Tag = 1;

Edit2->Tag = 2;

Edit3->Tag = 3;

}

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

void __fastcall TForm1::Button1Click(TObject *Sender)

{

float prior, curr;

float tariff;

float summ;

prior = StrToFloat(Edit1->Text);

curr = StrToFloat(Edit2->Text);

tariff = StrToFloat(Edit3->Text);

if (curr < prior)

{MessageDlg("Текущее показание счетчика не может быть меньше предыдущего",

mtWarning, TMsgDlgButtons() << mbOK,0);

return;

}

summ = (curr - prior) * tariff;

Label4->Caption = "Сумма к оплате: " +

FloatToStrF(summ, ffCurrency, 6,2);

}

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

void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key)

{

TEdit * Edit;

Edit = (TEdit*)Sender;

if ( Key == VK_RETURN)

switch (Edit->Tag) {

case 1 :

Edit2->SetFocus() ; break;

case 2 :

Edit3->SetFocus() ; break;

case 3 :

Button1->SetFocus() ; break;

}

return;

if ( (( Key >= '0') && ( Key <= '9' )) ||

(Key == VK_BACK))

return;

if ((Key == ',') || (Key == '.'))

{

Key = DecimalSeparator;

if ((Edit1->Text).Pos(DecimalSeparator) != 0)

Key = 0;

return;

}

if ( Key == VK_BACK )

return;

Key = 0;

}

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