0% found this document useful (0 votes)
7 views12 pages

Calc

k kj
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views12 pages

Calc

k kj
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 12

710-22- guruh talabasi: Ahadjonov Javohir

1-dedline Kalkulyator dasturini tuzish


Men Kalkulyator dasturini tayyorlash uchun C++ Builder dasturlash muhitining Borland 6 versiyasidan
foydalandim. C++ Builderda yangi loyiha yaratamiz 
Dastlab Kalkulyator dasturini interfeysini yaratib olamiz. Dastlab formaga dasturimiz ko’rinishi chiroyliroq va va
yaratish davomida qulay bo’lishi uchun 2 ta qismga bo’lib olamiz. Birinchisini ekran sifatida ishlatamiz ikkinchisini
esa tugmalar uchun ishlatamiz. Birinchi Panelga Label komponentini joylamymiz. Label komponentasini
joylashtib kalkulyator ekrani sifatida foydalanish uchun uning Aligment xususiyatini taRightJustify ga, Caption
xuxusiyatini “0” ga o’zgartirib, chiroyli ko’rinishi uchun foniga rang berib va shirift turi, o`lchamlarini o`gartiramiz:
So’ng 2-qismga barcha kerakli tugmalarni joylaymiz, tugmalar sifatida SpeedButton dan foydalanamiz chunki
uning imkoniyatlari ancha keng, didga ko’ra rang berib chiqishimiz mumkin song dasturimiz quyidagi holatga
keladi:
Ana endi barcha tugmalarimiz kod yozishga tayyor bo’lib turibdi. Endi tugmalarga vazifasiga qarab kerakli
kodlarini yozib chiqamiz.
Avval raqamlarni ekranga chiqarish uchun kodlar yozib chiqamiz, so’ng Sender funksiyasi orqali boshqa
raqamlarga ham ulab qo’yamiz, undan so’ng ammalarning tugmalariga kodlar yozamiz. Keyin esa tenglik
tugmasini kodimni yozamiz,song boshqa tugmalarga navbatdan kodlar yozamiz.
Dastur kodi:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
#include "math.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
bool bAmal=False,M=False;
String sAmal;
float birinchiSon,ikkinchiSon, Natija,xotiraM;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::SpeedButton21Click(TObject *Sender)


{
if(bAmal)
{
(!M)?birinchiSon=StrToFloat(Label2->Caption) : M=False;
Label2->Caption="0";
bAmal=False;
}

if(Label2->Caption.Length()>12)
Label2->Font->Size=20;
else Label2->Font->Size=24;

if(Label2->Caption=="0")
Label2->Caption=((TSpeedButton*)Sender)->Caption;
else if(Label2->Caption.Length()<=16)
Label2->Caption=Label2->Caption+((TSpeedButton*)Sender)->Caption;
}
//---------------------------------------------------------------------------

void __fastcall TForm1::SpeedButton28Click(TObject *Sender)


{
if(Label2->Caption.Length()>12)
Label2->Font->Size=20;
else Label2->Font->Size=24;
bAmal=True;
Label1->Caption=Label2->Caption+((TSpeedButton*)Sender)->Caption;
}
//---------------------------------------------------------------------------

void __fastcall TForm1::SpeedButton8Click(TObject *Sender)


{
float a;
if(Label2->Caption!="0")
{
a=StrToFloat(Label2->Caption)*(-1);
Label2->Caption=FloatToStr(a);
}

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

void __fastcall TForm1::SpeedButton26Click(TObject *Sender)


{
if(Label2->Caption!="0")
Label2->Caption=Label2->Caption+"0";
}
//---------------------------------------------------------------------------

void __fastcall TForm1::SpeedButton10Click(TObject *Sender)


{
Label1->Caption="";
Label2->Caption="0";
if(Label2->Caption.Length()>12)
Label2->Font->Size=20;
else Label2->Font->Size=24;
}
//---------------------------------------------------------------------------

void __fastcall TForm1::SpeedButton6Click(TObject *Sender)


{
if(Label2->Caption!="0")
Label2->Caption=Label2->Caption.SubString(0, Label2->Caption.Length()-1);
if(Label2->Caption=="")
Label2->Caption="0";
}
//---------------------------------------------------------------------------

void __fastcall TForm1::SpeedButton29Click(TObject *Sender)


{
int iAmal;
sAmal=Label1->Caption.SubString(Label1->Caption.Length(), 1);
ikkinchiSon=StrToFloat(Label2->Caption);
if(sAmal=="+")
iAmal=1;
else if(sAmal=="-")
iAmal=2;
else if(sAmal=="*")
iAmal=3;
else if(sAmal=="/")
iAmal=4;
switch (iAmal) {
case 1: Natija=birinchiSon+ikkinchiSon;
Label2->Caption=Natija; break;
case 2: Natija=birinchiSon-ikkinchiSon;
Label2->Caption=Natija; break;
case 3: Natija=birinchiSon*ikkinchiSon;
Label2->Caption=Natija; break;
case 4: Natija=birinchiSon/ikkinchiSon;
Label2->Caption=Natija; break;

default:
;
}
if(Label2->Caption.Length()>=15)
Label2->Caption=Label2->Caption.SubString(0, Label2->Caption.Pos(",")+8);

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

void __fastcall TForm1::SpeedButton30Click(TObject *Sender)


{
if(Label2->Caption.Pos(",")==0)
Label2->Caption=Label2->Caption+",";
}
//---------------------------------------------------------------------------

void __fastcall TForm1::SpeedButton19Click(TObject *Sender)


{
float a;
a=StrToFloat(Label2->Caption);
a=1/a;
Label1->Caption="reciproc("+Label2->Caption+")";
Label2->Caption=FloatToStr(a);
if(Label2->Caption.Length()>=15)
Label2->Caption=Label2->Caption.SubString(0, Label2->Caption.Pos(",")+6);

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

void __fastcall TForm1::SpeedButton14Click(TObject *Sender)


{
float b;
ikkinchiSon=StrToFloat(Label2->Caption);
sAmal=Label1->Caption.SubString(Label1->Caption.Length(), 1);
if(sAmal=="*")
{
b=(birinchiSon*ikkinchiSon)/100;
Label2->Caption=FloatToStr(b);
}
if(Label2->Caption.Length()>=15)
Label2->Caption=Label2->Caption.SubString(0, Label2->Caption.Pos(",")+6);
}
//---------------------------------------------------------------------------

void __fastcall TForm1::SpeedButton9Click(TObject *Sender)


{
Label1->Caption="sqrt("+Label2->Caption+")";
float ildiz;
ildiz=sqrt(StrToFloat(Label2->Caption));
Label2->Caption=FloatToStr(ildiz);
if(Label2->Caption.Length()>=15)
Label2->Caption=Label2->Caption.SubString(0, Label2->Caption.Pos(",")+6);

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

void __fastcall TForm1::SpeedButton7Click(TObject *Sender)


{
Label2->Caption="0";
}
//---------------------------------------------------------------------------

void __fastcall TForm1::SpeedButton2Click(TObject *Sender)


{
Label2->Caption=FloatToStr(xotiraM);

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

void __fastcall TForm1::SpeedButton5Click(TObject *Sender)


{
if(Label2->Caption!="0")
{
xotiraM=StrToFloat(Label2->Caption);
Label3->Caption="M";
}

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

void __fastcall TForm1::SpeedButton1Click(TObject *Sender)


{
xotiraM=0;
Label3->Caption="";
}
//---------------------------------------------------------------------------

void __fastcall TForm1::SpeedButton3Click(TObject *Sender)


{
M=True;
Label1->Caption=FloatToStr(xotiraM)+"+";
birinchiSon=xotiraM;
bAmal=True;

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

void __fastcall TForm1::SpeedButton4Click(TObject *Sender)


{
M=True;
Label1->Caption=FloatToStr(xotiraM)+"-";
birinchiSon=xotiraM;
bAmal=True;
}
//---------------------------------------------------------------------------

Barcha kodlar tugagach dasturmizni ishga tushirib quyidagi natijani olamiz:

You might also like