Muhammad al-xorazmiy nomidagi toshkent axborot texnologiyalari universiteti qarshi filiali kompyuter injeniring fakultiti di 11 21 guruh talabasi Dasturlash1 fanidan tayyorlagan



Download 171,12 Kb.
Sana11.04.2022
Hajmi171,12 Kb.
#544328
Bog'liq
lab



O’ZBEKISTON RESPUBLIKASI AXBOROT TEXNOLOGIYALARI VA KOMMUNIKATSIYALARNI RIVOJLANTIRISH VAZIRLIGI
MUHAMMAD AL-XORAZMIY NOMIDAGI TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI QARSHI FILIALI


Kompyuter injeniring fakultiti DI 11_21 guruh talabasi
Dasturlash1
fanidan tayyorlagan

1-LABARATORIA ISHI

Qabul qildi: Zohidov.J


Bajardi: Toshpulatov S
2022
1-Labaratoria ishi: Bufеrlashtirilgan kiritish va chiqarish.
Ishning maqsadi: C++ dasturlash tilida obyektga yo‘naltirilgan dasturlash
tamoyilaridan foydalanib, noma’lum nomlar fazosini tashkil qilish ko‘nikmalarini shakllantirish.

Buferlashtirilgan kiritish va chiqarish. C++ tilida ekran va faylga Iodan tashqari kiritish va chiqarish vazifalarini lokalizatsiyalash sifatida massivlardan foydalanadigan qator funksiyalarni qo‘llab-quvvatlaydi.Massivlarga asoslangan kiritish / chiqarish konseptual (array-basedI/O)echimga o‘xshasada, C tilining IO funksiyalari bilan anologdir(ayniqsa,sscanf() va sprintf() funksiyalari).Massivlar yordamida kiritish/chiqarishC++tilida juda moslashuvchan va foydalidir,chunki unda foydalanuvchi tomonidan yaratilgan o‘zgaruvchilarni kiritish va chiqarishda ham foydalaniladi. Massivlar bilan kiritish/chiqarishning barcha jihatlarini qamrab olish mumkin emas, ammo, eng muhim va tez tez ishlatiladigan xususiyatlari amalga oshirish mumkin.Massivlar yordamida Ioni amalga oshirish uchun ham oqimlarni talab qilishini tushunish muhimdir.Oldingi ko‘nikmalaringizdan C++da IO amalarini bilishingiz mumkin.Biroq,kiritish/chiqishda paramertlar sifatida ob’ektlardan foydalanishning barcha afzalliklari haqida dasturchilarning ko‘nikmalari muhimdir. Shuningdek,ma’lumot olish uchun,siz bir necha yangi xususiyatlarni boshqaradigan funksiyalar bilan tanishishingiz kerak.


Misol: 16.Muzlatgich va mikrovalovka class larini yarating va ularni bog‘lovchi
funksiyalar yarating.
Kod:
#include
using namespace std;

namespace yangi_nomlar_fazosi {


class Muzlatgich {
protected:
int avlodi, ishlab_chiqarilgan_yili;
string markasi;

public:
Muzlatgich() {}


Muzlatgich(int avlodi, int yil, string markasi) {
this->avlodi = avlodi;
this->ishlab_chiqarilgan_yili = yil;
this->markasi =markasi;
}
static void qidirish(Muzlatgich* massiv, int n, string mat) {
for (int i = 0; i if (massiv[i].markasi ==mat) massiv[i].print();
}
}
static void saralash(Muzlatgich* massiv, int n) {
for (int i = 0; i for (int j = i + 1; j if (massiv[i].avlodi >massiv[j].avlodi)
swap(massiv[i], massiv[j]);
}
}
}
void ozgartirish(int avlodi, int yil, string markasi) {
this->avlodi = avlodi;
this->ishlab_chiqarilgan_yili = yil;
this->markasi =markasi;
}
void print() {
cout <<"\nAvlodi: "<< avlodi
<<"\nIshlab chiqarilgan yili: "<< ishlab_chiqarilgan_yili
<<"\nMarkasi : "<< markasi << endl;
}
};
class Mikrovalovka :public Muzlatgich {
public:
Mikrovalovka(){}
Mikrovalovka(int avlodi, int yil, string markasi) {
this->avlodi = avlodi;
this->ishlab_chiqarilgan_yili = yil;
this->markasi =markasi;
}
};
}

int main() {


using namespace yangi_nomlar_fazosi;
int n, m;
cout <<"Nechta muzlatgich haqida ma'lumot kiritmoqchisiz?\nn = "; cin >> n;
Muzlatgich* muzlatgichlar;
muzlatgichlar = new Muzlatgich[n];
if (n) cout <<"\nMuzlatgichlar haqida ma'lumotlarni kiritish:\n\n";
for (int i = 0; i < n; i++) {
int avlodi, yili;
string markasi;
cout <<"Muzlatgichning avlodi: "; cin >> avlodi;
cout <<"Muzlatgichning ishlab chiqarilgan yili: "; cin >> yili;
cout <<"Muzlatgichning markasi: "; cin >> markasi;
muzlatgichlar[i] =Muzlatgich(avlodi, yili, markasi);
}
cout <<"\nMuzlatgichlarni saralash, avlodi bo'yicha:\n";
muzlatgichlar[0].saralash(muzlatgichlar, n);

for (int i = 0; i < n; i++) {
muzlatgichlar[i].print();
}
cout <<"\nQidirish: \nMarkasini kiriting: ";
string man; cin >> man;
muzlatgichlar[0].qidirish(muzlatgichlar, n, man);

cout <<"\nn Nechta mikrovalovka haqida ma'lumot kiritmoqchisiz?\nn = "; cin >> m;


Mikrovalovka* mikrovalovkalar;
mikrovalovkalar = new Mikrovalovka[m];
if (m) cout <<"\nMikrovalovkalar haqida ma'lumotlarni kiritish:\n\n";
for (int i = 0; i < m; i++) {
int avlodi, yili;
string markasi;
cout <<"Mikrovalovkaning avlodi: "; cin >> avlodi;
cout <<"Mikrovalovkaning ishlab chiqarilgan yili: "; cin >> yili;
cout <<"Mikrovalovkaning markasi: "; cin >> markasi;
mikrovalovkalar[i] =Mikrovalovka(avlodi, yili, markasi);
}
cout <<"\nMikrovalovkalarni saralash, avlodi bo'yicha:\n";
mikrovalovkalar[0].saralash(mikrovalovkalar, m);

for (int i = 0; i < m; i++) {
mikrovalovkalar[i].print();
}
cout <<"\nQidirish: Markasinini kiriting: ";
cin >> man;
mikrovalovkalar[0].qidirish(mikrovalovkalar, m, man);

}
Natija:



Nechta muzlatgich haqida ma'lumot kiritmoqchisiz?
n = 2

Muzlatgichlar haqida ma'lumotlarni kiritish:

Muzlatgichning avlodi: 5
Muzlatgichning ishlab chiqarilgan yili: 2003
Muzlatgichning markasi: Artel
Muzlatgichning avlodi: 7
Muzlatgichning ishlab chiqarilgan yili: 2012
Muzlatgichning markasi: Nove

Muzlatgichlarni saralash, avlodi bo'yicha:

Avlodi: 5
Ishlab chiqarilgan yili: 2003
Markasi : Artel

Avlodi: 7


Ishlab chiqarilgan yili: 2012
Markasi : Nove

Qidirish:


Markasini kiriting: Artel

Avlodi: 5


Ishlab chiqarilgan yili: 2003
Markasi : Artel

n Nechta mikrovalovka haqida ma'lumot kiritmoqchisiz?


n = 2

Mikrovalovkalar haqida ma'lumotlarni kiritish:

Mikrovalovkaning avlodi: 2
Mikrovalovkaning ishlab chiqarilgan yili: 2011
Mikrovalovkaning markasi: Macrone
Mikrovalovkaning avlodi: 4
Mikrovalovkaning ishlab chiqarilgan yili: 1016
Mikrovalovkaning markasi: Artel

Mikrovalovkalarni saralash, avlodi bo'yicha:

Avlodi: 2
Ishlab chiqarilgan yili: 2011
Markasi : Macrone

Avlodi: 4


Ishlab chiqarilgan yili: 1016
Markasi : Artel

Qidirish: Markasinini kiriting: Macrone



Avlodi: 2
Ishlab chiqarilgan yili: 2011
Markasi : Macrone

Download 171,12 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