Vohidov asadbek



Download 146,57 Kb.
bet3/3
Sana08.06.2022
Hajmi146,57 Kb.
#643810
1   2   3
Bog'liq
22YWZVgu0tah3A2XaZnoRadWC93ErPLx

1.3 Klasslardan foydalanish

Klasslarni yozishda biz funktsiyalarni yozishdagi tartib qoidalarga rioya qilamiz. Klassning birinchi qatoriga kalit so’z class va klass nomi, so’ngra yangi qatordan figurali qavslar ochiladi va uning ichiga klass usullari va atributlari yoziladi.


Klass quyidagi sektsiyalarga ega bo’lishi mumkin:
private (private, ichki).
protected (protekted, himoyalangan qism).
public (publik, umumiy).
– Ommaviy (public ) – barcha obektlar kirishi uchun ruxsat bor;
– Himoyalangan (protected) - faqat ushbu ekzemplyarga va har qanday tarmoq sinflarga kirishga ruxsat bor;
– Xususiy (private) - faqat ushbu ekzemplyarga kirishga ruxsat bor.
1.4 Tanlash operatori : switch.
Tanlash operatori switch tanlanuvchi ifoda qiymatini birnechta konstantalar bilan taqqoslab chiqadi. switch case ko‟plik tanlov operatori hisoblanadi. switch da ko‟rsatilgan ifosa qiymati case so‟zidan keyin yozilgan har bir qiymat bilan taqqoslab chiqiladi. Taqqoslanuvchi qiymat qaysidir qatordagi case operatoridan yozilgan qiymatga teng u holda uning davomida yozilgan amallar bajariladi.
1.5 Vorislik. Vorislik mavjud bo‘lgan sinfning ta’rifi asosida yangi sinfni
yaratish imkonini beradi. Yangi sinf boshqasi asosida yaratilgach, uning ta’rifi
avtomatik tarzda mavjud sinfning barcha hususiyatlari, hulq-atvori va joriy
qilinishiga vorislik qiladi. Avval mavjud bo‘lgan sinf interfeysining barcha
metodlari va xususiyatlari avtomatik tarzda voris interfeysida paydo bo‘ladi.
Vorislik voris sinfida biron-bir jixatdan to‘g‘ri kelmagan xulq-atvorni avvaldan
ko‘ra bilish imkonini beradi. Bunday foydali xususiyat dasturiy ta’minotni
talablarning o‘zgarishiga moslashtirish imkonini beradi. Agar o‘zgartirishlar
kiritishga ehtiyoj tug‘ilsa, bu holda eski sinf funksiyalariga vorislik qiluvchiyangi sinf yozib qo‘ya qolinadi. Keyin o‘zgartirilishi lozim bo‘lgan funksiyalargaqaytadan ta’rif beriladi hamda yangi funksiyalar qo‘shiladi. Bunda o‘rniga o‘rin qo‘yishning mazmuni shundan iboratki, u dastlabki sinf ta’rifini o‘zgartirmay turib, obyekt ishini o‘zgartirish imkonini beradi. Axir bu holda ayta test sinovlaridan puxta o‘tkazilgan asosiy sinflarga tegmasa ham bo‘ladi. Agar siz ko‘p martalab qo‘llash yoki boshqa biron maqsadlarga ko‘ra vorislikni qo‘llashga ahd qilsangiz, avval har gal qarang - vorislik-sinf bilan vorislikni berayotgan sinfning turlari o‘zaro mos keladimi. Vorislikda turlarining mos kelishi ko‘pincha «Is-a» testi deb ataladi. Ikkita sinf bir hil turga ega bo‘lgandagina, o‘zaro «Is-a» munosabatida turibdi deb hisoblanadi. Birinchi sinf o‘zida ikkinchisinfning ekzemplyariga ega bo‘lgandagina ikkita sinf o‘zaro «Xas-a»munosabatidaturibdidebhisoblanadi

II-amaliy qism
Dastur kodi
#include
#include
#include
using namespace std;

class asosiy


{
public:

void bosh_menu()


{
cout<cout<<" Siz bosh menudasiz "<cout<<" 1 => Mahsulotlar "<cout<<" 2 => Xaridorlar ro`yxati "<cout<<" 3 => Yangi xaridorlar uchun "<cout<<" 4 => Sotib olish "<cout<<" 5 => Dasturchi haqida malumot "<cout<<" Bo`limlardan birini tanlang "<cout<<" Bo`lim raqami: ";
}
void bolim1()
{
string text1;

cout<<" Omborlarimizdagi mahsulotlar\n\n";


ifstream oqi_ombor("tavar.txt");
if(oqi_ombor.is_open())
{
while ( getline(oqi_ombor,text1))
{
cout<}
oqi_ombor.close();
}
else
cout<<" Faylni ochishda xatolik yuzaga keldi";

int maxsulot1;


omborga1:
cout<<"\n Maxsulot raqamini kiriting yoki "
<<"\n bosh MENUGA qaytish uchun 0 ni bosing: ";
cin>>maxsulot1;
switch (maxsulot1)
{
case 1:cout<<"\n Bolalar futbolkasi \n narxi: 30 ming so`m \n"; break;
case 2:cout<<"\n Futbolka \n narxi: 50 ming so`m \n"; break;
case 3:cout<<"\n SHim \n narxi: 75 ming so`m \n"; break;
case 4:cout<<"\n Bolalar kastuyumi\n narxi: 145 ming so`m \n"; break;
case 5:cout<<"\n Paypoqlar \n narxi: donasi 2000 so`m \n"; break;
case 0:cout<<"\n"; break;
default: cout<<" Noto`g`ri raqam kiritdingiz. \n"; goto omborga1; break;
}

}
void bolim2()


{
int xaridor2;
string xaridor;
cout<< "\tXaridorlar "<ifstream oqi_xaridor("xaridor.txt");
if(oqi_xaridor.is_open())
{
while ( getline(oqi_xaridor,xaridor))
{
cout<}
oqi_xaridor.close();
}
else
cout<<" Faylni ochishda xatoli yuzaga keldi";
cout<<" Malumot olish uchun tartib raqamini kiriting\n";
cout<<" Raqam: "; b2qayt: cin>>xaridor2;
if(xaridor2<1 || xaridor2>10)
{
cout<<" Noto`g`ri raqam kiritdiz \n qaytadan raqam kiriting: "; goto b2qayt;
}
else
{
cout<<" ismi | hamkorlik muddati | sotilgan maxsulot hajmi (so`m)\n";
switch(xaridor2)
{
case 1: cout<<" Raxmatillo | 3.5 yil | 30 mlrd\n"; break;
case 2: cout<<" Bobur | 3 yil| 23 mlrd \n"; break;
case 3: cout<<" Xusnidin | 3 yil | 20 mlrd \n"; break;
case 4: cout<<" Natasha | 2.5 yil | 19.5 mlrd\n"; break;
case 5: cout<<" Mirzobek | 2.5 yil | 15 mlrd \n"; break;
case 6: cout<<" Shaxboz | 2.5 yil | 15 mlrd \n"; break;
case 7: cout<<" Javohir | 2 yil | 10 mlrd\n"; break;
case 8: cout<<" Xusan | 1.5 yil | 5 mlrd\n"; break;
case 9: cout<<" Jek | 2 yil | 15 mlrd \n"; break;
case 10: cout<<" OLiver | 1.5 yil | 12 mlrd \n"; break;
}
}
}

void bolim3()


{

cout<<"\n Bizni firmamizni tanlaganizdan xursandmiz. \n";


cout<<" Yangi xaridor bo`lsangiz \n";
cout<<" raxmatilllotoxirov2003@gmail.com ga yozing ";

}


void bolim4()
{
int fud1,fud2,shim,kas,pay;
cout<<" Sotib olmoqchi bo`lgan narsalarizni kiriting \n";
cout<<" Sotib olmaydigan maxsulotlarizga 0 qiymat kiriting \n";
b4qayt:
cout<<" 1) Bolalar futbolkasi "; cin>>fud1;
cout<<" 2) Futbolka kattalarniki "; cin>>fud2;
cout<<" 3) Shim "; cin>>shim;
cout<<" 4) Bolalar kastuyumi "; cin>>kas;
cout<<" 5) Paypoqlar "; cin>>pay;

if( fud1<0 ||fud2<0 ||shim<0 ||kas<0 || pay<0 )


{
cout<<" Kiritgan sonlarizda xatolik mavjud "<<<" Qaytadan sonlarni kiriting: \n"; goto b4qayt;
}
else
{
long long narx;
narx=30*fud1+50*fud2+75*shim+145*kas+2*pay;
cout<<" Sotib olmoqchi bo`lgan narsalringiz miqdori \n "<cout<<" To`lovni kassaga qilasiz \n";
}
}

void bolim5()


{
cout<<"\n DASTURCHI HAQIDA MA`LUMOT\n";
cout<<" Bu dasturni RAXMATILLO TOXIROV tuzgan \n";
cout<<" Dasturchini manzillari: \n";
cout<<" Telegramm => @Raxmatillo_Toxirov \n";
cout<<" Elektron pochta => raxmatillotoxirov2003@gmail.com\n";

}
};


class salom
{
public:

};


///operatorni qayta yuklash
ostream & operator <<( ostream &k, salom &x )
{
k<< " Assalumou alaykum " << endl;
k<< " Bizning 'ORZU TEXTIL' firmamizni online bazasiga "
<}
int main()
{
int menu;
salom S;
cout<asosiy p;
bosh:
p.bosh_menu(); cin>>menu;

switch (menu)


{
case 1:cout<<"\n Mahsulotlar bo`limi\n"; break;
case 2:cout<<"\n Xaridorlar arxivi bo`limi \n"; break;
case 3:cout<<"\n Yangi xaridorlar bo`limi\n"; break;
case 4:cout<<"\n Sotib olish bo`limi\n"; break;
case 5:cout<<"\n Dasturchi bo`limi \n"; break;
default: cout<<" Noto`g`ri raqam kiritdingiz. \n Qaytadan raqam kiriting:\n"; goto bosh; break;
}
if(menu==1)
{
p.bolim1(); goto bosh;
}
if(menu==2)
{
p.bolim2(); goto bosh;
}
if(menu==3)
{
p.bolim3(); goto bosh;
}
if(menu==4)
{
p.bolim4(); goto bosh;
}
if(menu==5)
{
p.bolim5(); goto bosh;
}

return 0;


}
Dastur ishlash jarayonidan suratlar



Xulosa:
Birinchi kichik loyiha ishi topshirig’ida men yangi tushunchalar hosil qildim va bu tushunchalarimni mustahkamladim va bilmagan xato fikrlarimni ustozimdan do’stlarimdan tushunib oldim. Operatorlardan foydalanishda hatolikka yo`l qo`ygan joylarimni o`rgandim va o`zimga hulosa chiqardim. Men bu dasturda parametrli takrorlash operatori for() bilan ishlash davomida hatolikka yo`l qo`ymadim. Chunki ustozlarim menga bergan bilim tufayli bu operatordan foydalanish menga muammo tug`dirmadi.If operatori yordamida malumotlarni tarmoqlash sifatida fordalandim. Ikki o`lchamli massivdan foydanalishda bir oz hatolikka yo`l qo`ydim ammo o`qituvchilarim qilgan hatoyimni menga tushuntirishdi. Massiv haqidagi tushunchalarimni yanada mustahkamlash kerak ekanligi haqida qarorga keldim. Loyiha ishining asosiy maqsadi bu bizning barcha operatorlarni yaxlit holda ishlatish, ular yordamida murakkablashgan dastur tuzish tushunchasini mustahkamlashga hizmat qiladi va shu o`rinda aytish joyizki murakkab tartibdagi dasturlardan foydalanishda hatoliklarga yo`l qo`ymaslik kerar ekanligini tushundik. Sababi biz birgina xatoyimiz tufayli dasturni boshidan ohirigacha tekshirib chiqishga to`g`ri kelishini inobatga olish kerak garchi Code :: Blocks dasturida qayerda xato qilganimizni ko`rsatib beradi lekin Dev C++ dasturida ishlashida xatoliklarni ko`rsatib bermaydi.Shu sababdan dasturlash tilida xatolikka yo`l qo`ymaslikka harakat qilaman.
Yurtimizda AKT sohasiga juda kata etibor berilmoqda. Dasturlash tili esa AKT sohasida alohida o`ringa ega. Shuning uchun ham Dasturlash tilini mukammal egallashimiz va kelajakda eng yaxshi dasturchilar qotoridan o`rin egallashimiz kerak.
Men bu loyiha ishini tayyorlashda olgan bilimlarimni yanada mukammalroq ishlatishni o`rgandim. Bir gap bilan aytganda C++ dasturlash tili men uchun eng ajoyib va jozibador dasturlash tili va undagi barcha tiplar, operatorlar uning jozibasini o`zida mujassam etadi.
Foydalanilgan adabiyotlar :

  1. С vа С ++ TILI , Toshkent “voris – nashriyoti” 2013




  1. «C++ da dasturlash» Fanidan tajriba ishlarini bajarish bo‘yicha Uslubiy

ko‘rsatma . Urganch 2016


E’tiboringiz uchun rahmat!!!
//Raxmatillo Toxirov

Download 146,57 Kb.

Do'stlaringiz bilan baham:
1   2   3




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish