Bajardi: Norqulova Dilbar Guruh: swd015-L3 1-Misol: Kastyum va shim


Download 374.3 Kb.
bet2/3
Sana20.10.2020
Hajmi374.3 Kb.
#134943
1   2   3
Bog'liq
1-laboratoriya ishi dasturlashdan


#include

using namespace std;

namespace xodim{

class Xodim{

private:

string familyasi, ismi;

int maoshi, kirgan_yili, tugilgan_yili;

public:


templatefriend void Qidirish(X t[], int n);

templatefriend void Saralash(X t[], int n);

void set(string F, string I, int M, int K, int T){

familyasi = F;

ismi = I;

maoshi = M;

kirgan_yili = K;

tugilgan_yili = T;

}

void get(){



cout<<"Fam: "<

cout<<"Ismi: "<

cout<<"Maoshi: "<

cout<<"Kirgan yili: "<

cout<<"Tug'ilgan yili: "<

cout<

}

};


class komp_xodimlari : public Xodim{

public:


int yoshi, ishlagan;

};

templatevoid Qidirish(X t[], int n)



{

cout<<"Qidirilayotgan xodim ismini kiriting: "<

string s; cin>>s; bool bor=false;

for(int i=0; i

if(t[i].ismi.compare(s)==0){

bor=true; t[i].get();

}

}

if(!bor) cout<<"Bunday ismli xodim ro'yxatda yo'q"<

cout<

}

templatevoid Saralash(X t[], int n)



{

cout<<"60 yoshdan oshgan xodimlar ma'lumotlari: "<

int hozir=2020;

for (int i=0; i

{ t[i].yoshi=hozir-t[i].tugilgan_yili;

if(t[i].yoshi>60)

{ t[i].get();

t[i].ishlagan=hozir-t[i].kirgan_yili;

t[i].maoshi=12*t[i].ishlagan*t[i].maoshi;

cout<<"Olgan maoshi: "<

cout<<"Kompaniyada "<

}}}


int main ()

{

string fam[]={"Nazirov", "Boburov", "Ismatova"};



string ism[]={"Javohir", "Temur", "Mohira"};

int maosh[]={900000, 800000, 700000};

int kirgan[]={1985, 1990, 1975};

int tugil[]={1960, 1965, 1950};

xodim::komp_xodimlari t[100];

for(int i=0; i<3; i++){

t[i].set(fam[i], ism[i], maosh[i], kirgan[i], tugil[i]);

t[i].get();}

cout<

xodim::Qidirish(t, 3);



xodim::Saralash(t, 3);}

9.3-Misol:



Bir guruh odamlarning nishonga olish musobaqasining dasturiy ta’minoti sifatida “Ovchi” classini yarating. Har bir ovchining o'z ismi, yoshi (yillar) va yillik tajribasi (yillar) mavjud. Ovchilar “Yangi”, “Tajribali” va “Faxriylar” (Ovchi classining avlodlari) ga bo'lingan. Har bir ovchi uchun qayta yuklanuvchi metod yozing: "O’q uzish" parametrlarsiz boolean qiymatni qaytaruvchi (tegsa - true, tegmasa - false). Nishonga tegish ehtimolligi quyidagicha aniqlanadi: yangilar uchun zarba ehtimoli = 0.01 * yillik tajribasi; tajribali = 0,05 * yillik tajribasi; faxriylar uchun = 0,9-0,01 * yosh.

Asosiy dasturda ovchilar birinchisidan boshlab ketma-ket o’q uzishni boshlashadi. Hamma bittadan otib bo’lgach o’q otish to’xtalib natijalar e’lon qilinadi. Natijalar har safar e’lon qilinib boriladi. Ehtimolligi eng kam bo’lgan ovchi musobaqadan chiqariladi. Musobaqa biror kishining zarbasi aniq nishonga tekkanda to’xtatiladi, natijalar yana e’lon qilinadi va g’olib katta yozuvlar bilan e’lon qilinadi.

Asosiy dasturda 7 kishidan iborat maasiv yarating: 2 ta yangi, 3 ta tajribali, 2 ta faxriy. Barcha ovchilar haqida ma’lumotlar chiqarilgandan keyin musobaqani boshlang.


#include

#include

using namespace std;

namespace OverLoad{

class Ovchi {

public:


string ismi;

int yoshi, yil_taj, teg_ehtimol;

bool Oq_uzish (){

if (this->teg_ehtimol==1) return true;

else return false;

}

void Yutdi ()



{

if (Oq_uzish()) cout<<"G'alaba qozondi"<

else cout<<"Yutqazdi va musobaqadan chetlashtirildi!"<

cout<

}

int getEhtimol (){



if (this->yil_taj>0&&this->yil_taj<5) teg_ehtimol=0.01*yil_taj;

else if (this->yil_taj>5&&this->yil_taj<21) teg_ehtimol=0.05*yil_taj;

else if (this->yil_taj>21) teg_ehtimol= 0.9-0.01*yoshi;

}

};



class Yangi: public Ovchi {

public:


void T(string I, int Yo, int Yi)

{

ismi = I;



yoshi = Yo;

yil_taj = Yi;

}

void Malumot(){



cout<<"Yangilar guruhidan: "<

cout<<"Ismi: "<

cout<<"Yoshi: "<

cout<<"Yillik tajribasi: "<

}

};


class Tajribali: public Ovchi {

public:


void T(string I, int Yo, int Yi)

{

ismi = I;



yoshi = Yo;

yil_taj = Yi;

}

void Malumot(){



cout<<"Tajribalilar guruhidan: "<

cout<<"Ismi: "<

cout<<"Yoshi: "<

cout<<"Yillik tajribasi: "<

}

};


class Faxriylar: public Ovchi {

public:


void T(string I, int Yo, int Yi)

{

ismi = I;



yoshi = Yo;

yil_taj = Yi;

}

void Malumot(){



cout<<"Faxriylar guruhidan: "<

cout<<"Ismi: "<

cout<<"Yoshi: "<

cout<<"Yillik tajribasi: "<

}

};


template void Malumot(X t)

{

cout<<"Ismi: "<

cout<<"Yoshi: "<

cout<<"Yillik tajribasi: "<

}

}

using namespace OverLoad;



int main(){

cout<<"\t\t Ovchilar ro'yxati: "<

Yangi t; t.T("Omadbek", 25, 4); t.Malumot();

Yangi b; b.T("Jasur", 26, 3); b.Malumot();

Tajribali y; y.T("Abdulaziz", 35, 9); y.Malumot();

Tajribali l; l.T("Xojakbar", 37, 20); l.Malumot();

Tajribali m; m.T("Ibrohim", 34, 25); m.Malumot();

Faxriylar k; k.T("Alisher", 45, 25); k.Malumot();

Faxriylar j; j.T("Sanjar", 75, 45); j.Malumot();

cout<

Malumot(t); t.getEhtimol(); t.Oq_uzish(); t.Yutdi();

Malumot(b); b.getEhtimol(); b.Oq_uzish(); b.Yutdi();

Malumot(y); y.getEhtimol(); y.Oq_uzish(); y.Yutdi();

Malumot(m); m.getEhtimol(); m.Oq_uzish(); m.Yutdi();

Malumot(k); k.getEhtimol(); k.Oq_uzish(); k.Yutdi();

Malumot(j); j.getEhtimol(); j.Oq_uzish(); j.Yutdi();



Malumot(l); l.getEhtimol(); l.Oq_uzish(); l.Yutdi(); }




Download 374.3 Kb.

Do'stlaringiz bilan baham:
1   2   3




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