3- variant. 1- laboratoriya ishi



Download 89,34 Kb.
Sana17.05.2021
Hajmi89,34 Kb.
#64852
Bog'liq
1-labaratoriya ishi 3-variant


3- variant.

1- LABORATORIYA ISHI

  1. OBYEKTGA YO’NALTIRILGAN DASTURLASH

    1. Noma’lum turlar va noma’lum nomlar fazosi

  1. Telefon va notebook class larini yarating va ularni bog’lovchi funksiyalar yarating

Dastur ko’di:

// Telefon va notebook classlarini bog'lovchi funksiyalar

#include

using namespace std;

class mobile {

private:


int makeyear;

int hotirasi;

public:

mobile ( int makeyear, int hotirasi){

this ->makeyear=makeyear;

this ->hotirasi=hotirasi;

}

virtual int getmakeyear (){



return makeyear;

}

virtual int gethotirasi (){



return hotirasi;

}

};



class Telefon : public mobile {

public:


Telefon ( int makeyear, int hotirasi) : mobile (makeyear, hotirasi){}

};

class Notebook : public mobile {



public:

Notebook (int makeyear, int hotirasi) : mobile ( makeyear , hotirasi){}

};

int main (){



Telefon Tel= Telefon (2019,16);

Notebook Note= Notebook (2016, 1000);

cout<<"\n _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-\n";

cout<<" chiqilgan yili : "<

cout<<" telefon xotirasi GB : "<

cout<<"_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-\n";

cout<<" ishlab chiqilgan yili : "<

cout<<" notebook xotirasi GB : "<

cout<<"_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-\n";

}

Natija:






    1. Classlar o’rtasida vorislikni tashkil qilish. Overriding va overloading bo’ladigan funksiyalarni yaratish

3.

Sana (uchta son):

kun, oy,yil



Dori-darmon:

nomi, ishlab chiqarilgan sanasi, ishlab chiqarish firmasi



Dori-darmon ishlab chiqarilganidan keyin necha kun o’tganligini hisoblang.

Dastur ko’di:

#include

#include

using namespace std;

class Day {

private: int sana, oy, yil;

public:

Day (int san, int o,int y){ sana=san; oy=o; yil= y; }

int getsana (){ return sana; }

int getoy (){ return oy; }

int getyil(){ return yil; }

Day (){}

};

class Dori {



private:

string dorinomi, firmasi;

int chsana, choy, chyil;

public:


Dori (string d, string f, int sa, int oy, int yil){

dorinomi=d; firmasi= f; chsana= sa; choy= oy; chyil=yil; }

string getdorinomi (){ return dorinomi; }

string getfirmasi (){ return firmasi; }

int getchsana (){ return chsana; }

int getchoy (){ return choy; }

int getchyil(){ return chyil; }

Dori (){}

};

class Kun : public Dori , public Day {



private:

Day day; Dori dori;

public:

Kun ( Day day, Dori dori ){

this -> day= day; this -> dori= dori;

}

void Sana (){ int q=0;



q= (day.getyil()- dori.getchyil())*366+(day.getoy()-dori.getchoy())*30+(day.getsana()-dori.getchsana());

cout<<"\n\n";

if (q) {

cout<<"Dori nomi : "<

}

else cout<<" Siz sanani hatoni kiritdingiz hali dori chiqman :) \n\n";



}

};

int main (){



string dor, fir;

int aa,bb,cc; int dd,ee,ff;

cout<<"\n\n ";

cout<<" dori nomini kiriting : "; cin>>dor;

cout<<" dori firmasini kiriting : "; cin>>fir;

cout<<" dorining chiqgan yilni kiriting : "; cin>>aa;

cout<<" dorining chiqgan oyini kiriting : "; cin>>bb;

cout<<" dorining chiqgan sanasini kiriting: "; cin>>cc;

cout<<"============================================================\n\n";

cout<<" bugungi sanani kiriting : "; cin>>dd;

cout<<" bu oyni kiriting : "; cin>>ee;

cout<<" bu yilni kiritng : "; cin>>ff;

cout<<"============================================================\n\n";

Dori dori(dor, fir,cc, bb,aa);

Day day (dd, ee,ff);

Kun kun (day, dori );

kun.Sana();

}

Natija:






    1. OYD ning merosxo’rlik va polimorfizm xususiyatlaridan foydalangan holda vazifaga muvofiq dasturlar yaratish



3

Kompyuter” classini yarating. Maydonlari: Protsessor chastotasi (MGts), yadro soni, operativ xotira hajmi (MB), qattiq disk hajmi (GB), narxi. Ikkita virtual metod yarating: “Narx” metodida quyidagi formula orqali taxminiy narxni hisoblang: protsessor chastotasi 2000 MGts, yadro soni 2 dan kam bo’lmagan operativ xotira hajmi kamida 2048 Mb va qattiq disk hajmi 320 Gb bo’lsa, Protsessor chastotasi * yadro soni / 100 + xotira miqdori / 80 + qattiq disk hajmi / 20 formula orqali narxni($ dollar hisobida) hisoblasin. Mantiqiy tur qaytaruvchi “Yaroqlilik” nomli metod yarating. Ushbu metod Protsessor chastotasi 2000 MGts, yadro soni 2 dan kam bo’lmasa, operativ xotirasi 2048 MB dan kam bo’lmasa va qattiq disk hajmi kamida 320 GB bo’lsa rost(true), aks holda yolg’on(false) qiymat qaytarsin. Bundan tashqari, kompyuterlar haqida ma'lumotlarni chop etuvchi “Print” metodini yarating: protsessor chastotasi, yadro soni, operativ xotira hajmi, qattiq disk hajmi, narxi va ehtiyojlarimiz uchun yaroqliligi.

Shuningdek, “Noutbuk” nomli avlod classini yarating. Qo’shimcha parametri - batareyaning ishlash muddati (daqiqada). Qayta yuklangan ikkita metod: “Narx” metodi oddiy kompyuterning narxiga teng miqdorga + batareya ishlash muddati daqiqalari soni * 10 ($ dollar hisobida) ga teng bo'ladi va “Yaroqlilik” metodi oddiy kompyuter shartlarini bajarganda va batareya ishlash muddati 240 daqiqadan kam bo’lmaganda rost(true), aks holda yolg’on(false) qiymat qaytarsin. Bundan tashqari, kompyuterlar haqida ma'lumotlarni chop etuvchi “Print” metodini yarating: protsessor chastotasi, yadro soni, operativ xotira hajmi, qattiq disk hajmi, narxi va ehtiyojlarimiz uchun yaroqliligi.

Asosiy dasturda kompyuter va noutbuk classlarining obyektlarini yarating va ular haqidagi ma'lumotlarni namoyish qiling.


Dastur ko’di:

#include

using namespace std;
namespace Komp {

class Kompyuter {

private:

double prchas, yadson, operxotira, qattiqdisk, narx;

public:

Kompyuter (){};

Kompyuter(double prchas, double yadson, double operxotira, double qattiqdisk ): prchas(prchas), yadson(yadson),operxotira(operxotira), qattiqdisk(qattiqdisk) {}
virtual int Narx (){

if (prchas >=2000 && yadson >=2 && operxotira >=2048 && qattiqdisk >=320 ){


narx = (prchas*yadson)/100+(operxotira)/80+ (qattiqdisk)/20;

}

else {



narx=0;

cout<<" Kompyuter tekin beriladi :) "<

}

return narx;



}

virtual bool Yaroqlilik (){

bool a=false;

if (prchas>=2000 && yadson>=2 && operxotira>=2048 && qattiqdisk>=320 ){

a=true;

cout<<" Kompyuter yaroqli : "<

}

else {


cout<<" Kompyuter yaroqsiz: "<

}

}



virtual void Print (){
cout<<" Kompyuter chastotasi : "<


cout<<" Kompyuter yadrosi soni : "<

cout<<" Kompyuter operativ hotira : "<

cout<<" Kompyuter qattiq disk hajm: "<

cout<<" Kompyuter narxi : "<

}

};


class Noutbook : public Kompyuter {

private:

double nprchas, nyadson, noperxotira, nqattiqdisk, nnarx;

double Batareya ;

public:

Noutbook(double nprchas, double nyadson, double noperxotira, double nqattiqdisk, double Batareya) :

nprchas(nprchas), nyadson(nyadson), noperxotira(noperxotira), nqattiqdisk(nqattiqdisk), Batareya(Batareya) {}
int Narx() override{

if (nprchas>=2000 && nyadson>=2 && noperxotira>=2048 && nqattiqdisk>=320 ){


nnarx = (nprchas*nyadson)/100+(noperxotira)/80+ (nqattiqdisk)/20+Batareya*10;

}

else {



nnarx=0;

cout<<" Kompyuter tekin beriladi :) "<

}

return nnarx;



}

bool Yaroqlilik ()override {

bool b=false;

if (nprchas>=2000 && nyadson>=2 && noperxotira>=2048 && nqattiqdisk>=320 && Batareya>=240){

b=true;

cout<<" Kompyuter yaroqli : "<

}

else {


cout<<" Kompyuter yaroqsiz: "<

}

}



void Print () override{
cout<<" Noutbook chastotasi : "<

cout<<" Noutbook yadrosi soni : "<

cout<<" Noutbook operativ hotira : "<

cout<<" Noutbook qattiq disk hajm: "<

cout<<" Noutbook batareya o'lchovi:"<

cout<<" Noutbook narxi : "<

}

};


}

using namespace Komp;

int main (){

Kompyuter K= Kompyuter(2050,3,2080,360 );

Noutbook N= Noutbook (2100, 4,2048, 400, 300);

K.Print();

K.Yaroqlilik();

cout<<"___________________________________________________"<

N.Print();

N.Yaroqlilik();

return 0;

}

Natija:




Download 89,34 Kb.

Do'stlaringiz bilan baham:




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