Калькулятор
.docМинистерство общего и профессионального образования РФ
Санкт-Петербургский Государственный Электротехнический Университет “ЛЭТИ”
Кафедра АПУ
Отчет
По лабораторной работе № 1
«Калькулятор»
Выполнили:
Группа:
Факультет ОФ
Проверил:
Литвинов
Санкт-Петербург
2007 г.
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "MainForm.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
#define PLUS 1
#define MINUS 2
#define MULT 3
#define DIV 4
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void TForm1::calculate( int op ) {
try {
edtRes->Text = "";// сбросить текст результата
float op1 = StrToFloat(edtOp1->Text); // преобразование из строки в число
float op2 = StrToFloat(edtOp2->Text);
float res = 0.0; // Объявление переменной результата
switch ( op ) { // выполнение выбранного действия
case PLUS: res = op1 + op2;
break;
case MINUS: res = op1 - op2;
break;
case MULT: res = op1 * op2;
break;
case DIV: res = op1 / op2;
}
// преобразование числа в строку
edtRes->Text = FloatToStr(res);
} catch (EConvertError &e) {
Application->MessageBox(e.Message.c_str(), "Ошибка");
} catch ( EZeroDivide &e ) {
Application->MessageBox("Деление на 0.", "Ошибка");
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::btnPlusClick(TObject *Sender)
{
calculate(PLUS);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::btnMinusClick(TObject *Sender)
{
calculate(MINUS);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::btnMultClick(TObject *Sender)
{
calculate(MULT);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::btnDivClick(TObject *Sender)
{
calculate(DIV);
}
//---------------------------------------------------------------------------