Nurullayev Anvarbek
Download 58.45 Kb.
|
1-lab
- Bu sahifa navigatsiya:
- Topshiriqlar Har bir talaba o’zining jurnaldagi nomeri bo’yicha topshiriq tanlaydi va shu topshiriq bo’yicha dasturini yaratadi
Nurullayev Anvarbek 1- LABORATORIYA ISHI Mavzu:Tiplarni dinamik tarzda aniqlash. Tiplarni almashtirish operatorlari. Yangi nomlar fazosini yaratish. Ishning maqsadi: C++ dasturlash tilida obyektga yo’naltirilgan dasturlash tamoyilaridan foydalanib noma’lum nomlar fazosini tashkil qilish ko’nikmalarini shakllantirish. Nazariy qism Namespace – bir-xil identifikatorlarni bitta dasturda ishlatish muammosini hal qiladi. Namespace ni umumiy strukturasi quyidagicha: Topshiriqlar Har bir talaba o’zining jurnaldagi nomeri bo’yicha topshiriq tanlaydi va shu topshiriq bo’yicha dasturini yaratadi 2.Kompyuter monitor va video kartasini class larini yarating va ularni bog’lovchi funksiyalar yarating. #include using namespace std; namespace yangi_nomlar_fazosi { //Yangi nomlar fazosi class Monitor { protected: string ishlab_chiqarilgan_firmasi; int ishlab_chiqarilgan_yili; string turi; public: Monitor() {} Monitor(string ishlab_chiqarilgan_firmasi, int yil, string turi) { this->ishlab_chiqarilgan_firmasi = ishlab_chiqarilgan_firmasi; this->ishlab_chiqarilgan_yili = yil; this->turi =turi; } static void qidirish(Monitor* massiv, int n, string tur) { //qidirish turi bo'yicha for (int i = 0; i } } static void saralash(Monitor* massiv, int n) { //saralash, ishlab_chiqarilgan_firmasi bo'yicha for (int i = 0; i swap(massiv[i], massiv[j]); } } } void ozgartirish(string ishlab_chiqarilgan_firmasi, int yil,string turi) {//o'zgartirish metodi this->ishlab_chiqarilgan_firmasi = ishlab_chiqarilgan_firmasi; this->ishlab_chiqarilgan_yili = yil; this->turi =turi; } void print() { cout <<"\nishlab_chiqarilgan_firmasi: "<< ishlab_chiqarilgan_firmasi <<"\nIshlab chiqarilgan yili: "<< ishlab_chiqarilgan_yili <<"\nturi : "<< turi << endl; } } ; class Videokarta :public Monitor { public: Videokarta(){} Videokarta (string ishlab_chiqarilgan_firmasi, int yil, string turi) { this->ishlab_chiqarilgan_firmasi = ishlab_chiqarilgan_firmasi; this->ishlab_chiqarilgan_yili = yil; this->turi =turi; } }; } int main() { using namespace yangi_nomlar_fazosi; // Yangi hosil qilingan nomlar fazosidan foydalanish int n, m; cout <<"Nechta Monitor haqida ma'lumot kiritmoqchisiz?\nn = "; cin >> n; Monitor* Monitorlar; Monitorlar = new Monitor [n]; if (n) cout <<"\nMonitorlar haqida ma'lumotlarni kiritish:\n\n"; for (int i = 0; i < n; i++) { string ishlab_chiqarilgan_firmasi; int yili; string turi; cout <<"Monitorning ishlab_chiqarilgan_firmasi: "; cin >> ishlab_chiqarilgan_firmasi; cout <<"Monitorning ishlab chiqarilgan yili: "; cin >> yili; cout <<"Monitorning turi: "; cin >> turi; Monitorlar[i] =Monitor (ishlab_chiqarilgan_firmasi, yili,turi); } cout <<"\nMonitorlarni saralash, ishlab_chiqarilgan_firmasi:\n"; Monitorlar[0].saralash(Monitorlar, n); //Ekranga chiqarish: for (int i = 0; i < n; i++) { Monitorlar[i].print(); } cout <<"\nQidirish: \nturlarini kiriting: "; string man; cin >> man; Monitorlar[0].qidirish(Monitorlar, n, man); cout <<"Nechta Video karta haqida ma'lumot kiritmoqchisiz?\nn = "; cin >> m; Videokarta* videokartalar; videokartalar = new Videokarta[m]; if (m) cout <<"\nVideo kartalar haqida ma'lumotlarni kiritish:\n\n"; for (int i = 0; i < m; i++) { string ishlab_chiqarilgan_firmasi;int yili; string turi; cout <<"Video kartaning ishlab_chiqarilgan_firmasi: "; cin >> ishlab_chiqarilgan_firmasi; cout <<"Video kartaning ishlab chiqarilgan yili: "; cin >> yili; cout <<"Video kartaning turi: "; cin >> turi; videokartalar[i] =Videokarta( ishlab_chiqarilgan_firmasi, yili, turi); } cout <<"\nVideokartalarni saralash,ishlab_chiqarilgan_firmasi:\n"; videokartalar[0].saralash(videokartalar ,m); //Ekranga chiqarish: for (int i = 0; i < m; i++) { videokartalar[i].print(); } cout <<"\nQidirish: turi kiriting: "; cin >> man; videokartalar[0].qidirish(videokartalar, m, man); } Download 58.45 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling