Sunteți pe pagina 1din 15

Ministerul Educației al Republicii Moldova

Universitatea Libera Internaționala din Moldova


Facultatea: Informatică, Inginerie și Design
Catedra: Tehnologii Informaționale și Design
Disciplina: Programarea C Builder

Lucrare de laborator nr.2


Tema: “Crearea Calculatorului ”

Chisinau-2018
Scopul: Crearea unui calculator simplu în C Builder pentru efectuarea
operațiilor matematice de bază cu numere reale.

Insarcinarea:
Creați un calculator simplu în C Builder, care efectuează operațiile
matematice simple cu numere reale (adunarea, scăderea, înmulțirea,
împărțirea, extragerea rădăcinii pătrate). Adăugați un buton sau un punct
de meniu cu o scurtă informație despre autor (despre voi). Mai adăugați
un buton conform variantelor, indicate mai jos.

Teorie:
Componenta Edit este pentru tastarea textului. Acesta se află pe fila
Standard din Paleta de componente:

Proprietatea sa principală este Text. Vă permite să citiți și să scrieți un


text în Edit. Rețineți că această proprietate are un tip de șir (mai degrabă
un tip AnsiString, dar acum această rafinare nu este atât de importantă).
Aceasta înseamnă că, dacă utilizatorul introduce un număr în Edit, este
necesară o conversie suplimentară. Acest lucru se face aproximativ în
felul următor:

int z = StrToInt (Editare1-> Text);

Label este o etichetă. Se utilizează în principal pentru a semna alte


componente. De exemplu, pentru numele valorii de intrare din Editare.
Button este un buton simplu fara imagine doar cu text in el.

MainMenu - meniul principal, care apare în colțul din stânga sus sub
forma unei benzi și articole.
Pentru a crea un submeniu, trebuie să faceți clic dreapta pe partiția dorită
și să selectați "CreateSubmenu".
În ceea ce privește tastele rapide, totul este simplu, în proprietatea
ShortCut, selectați opțiunea dorită și, în viitor, trebuie doar să apăsați
tastele necesare pentru un clic similar pe meniu.
Calculatorul
Să creăm o aplicaţie care va efectua operaţii aritmetice cu numere reale, a
cărei fereastră va arăta ca în următoarea imagine.
Realizare:

1) Executăm File\New\Application.

2) Plasăm pe formă o casetă de editare, 17 butoane de comandă conform imaginii.

3) Modificăm valoarea proprietăţii Caption a fiecărui buton de comandă şi cea a

formei conform imaginii.

4) Atribuim proprietăţii Text a casetei de editare valoare vidă.

5) Prelucrăm evenimentul OnClick al fiecărui buton de comandă (la efectuarea


unui click pe unul din butoanele 0 .. 9 este necesară adăugarea valorii butonului în
caseta de editare).

6) Deoarece datele iniţiale sînt de tip AnsiString, le vom transforma în număr, le


vom prelucra şi apoi le vom transforma înapoi în text pentru a le afişa. Pentru a
exclude introducerea datelor greşite din punct de vedere sintactic (se acceptă doar
cifre şi caracterul „.”) vom prelucra evenimentul OnKeyPress a casetei de editare.
7) Pentru a interzice scrierea caracterelor în cutia de editare se va seta proprietatea
ReadOnly la valoarea true. 8) Prelucrăm evenimentul OnCreate al formei.

9) Salvăm şi lansăm aplicaţia la execuţie.

Mersul lucrarii:
Varianta 14:
ctg x

Codul programei:

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

#include <vcl.h>
#include <math.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
int a,b,c;
float m;
char k;
void __fastcall TForm1::Button10Click(TObject *Sender)
{
Edit1->Text=Edit1->Text+"0";
b=StrToInt(Edit1->Text);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Edit1->Text=Edit1->Text+"1";
b=StrToInt(Edit1->Text);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
Edit1->Text=Edit1->Text+"2";
b=StrToInt(Edit1->Text);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
Edit1->Text=Edit1->Text+"3";
b=StrToInt(Edit1->Text);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button4Click(TObject *Sender)
{
Edit1->Text=Edit1->Text+"4";
b=StrToInt(Edit1->Text);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button5Click(TObject *Sender)
{
Edit1->Text=Edit1->Text+"5";
b=StrToInt(Edit1->Text);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button6Click(TObject *Sender)
{
Edit1->Text=Edit1->Text+"6";
b=StrToInt(Edit1->Text);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button7Click(TObject *Sender)
{
Edit1->Text=Edit1->Text+"7";
b=StrToInt(Edit1->Text);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button8Click(TObject *Sender)
{
Edit1->Text=Edit1->Text+"8";
b=StrToInt(Edit1->Text);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button9Click(TObject *Sender)
{
Edit1->Text=Edit1->Text+"9";
b=StrToInt(Edit1->Text);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button12Click(TObject *Sender)
{
a=StrToInt(Edit1->Text);
k='+';
Edit1->Text="";
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button11Click(TObject *Sender)
{
a=StrToInt(Edit1->Text);
k='-';
Edit1->Text="";
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button13Click(TObject *Sender)
{
a=StrToInt(Edit1->Text);
k='*';
Edit1->Text="";
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button14Click(TObject *Sender)
{
a=StrToInt(Edit1->Text);
k='/';
Edit1->Text="";
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button16Click(TObject *Sender)
{
switch(k){
case '+':a=a+b;
Edit1->Text=IntToStr(a);break;
case '-':a=a-b;
Edit1->Text=IntToStr(a);break;
case '*':a=a*b;
Edit1->Text=IntToStr(a);break;
case '/':a=a/b;
Edit1->Text=IntToStr(a);break;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button15Click(TObject *Sender)
{
Edit1->Text="";
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button17Click(TObject *Sender)
{
b=StrToFloat(Edit1->Text);

m=1/tan(b);
Edit1->Text="";
Edit1->Text=FloatToStr(m);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Calculator1Click(TObject *Sender)
{
ShowMessage("Calculator creat de Pirlog Andrei");
}
//---------------------------------------------------------------------------
Rezultatul 1:

Rezultatul 2:
Rezultatul 3:

Rezultatul 4:
Concluzie:
In urma efecturarii lucrarii de laborator nr.2 am creat un calculator
simplu care efetuiaza așa operatii ca adunare, scadere, inmultire,
impartire, sin, cos, extragerea rădăcinii patratului, și ridicarea la putere;

S-ar putea să vă placă și