1– AMALIY ISH.
Mavzu: Tiplarni dinamik tarzda aniqlash.
Ishning maqsadi: C++ dasturlash tilida obyektga yo‘naltirilgan dasturlash
tamoyilaridan foydalanib, noma’lum nomlar fazosini tashkil qilish
ko‘nikmalarini shakllantirish.
1.1.
Tiplarni dinamik tarzda aniqlash
Masalaning qo‘yilishi:
Variantda berilgan class, konstruktor va class maydonlari yordamida noma’lum
nomlar fazosini yarating. Class da obyektlar massivi ustida quyidagi funksiyalarni
bajaruvchi 3 ta static metod yozing:
- Qidirish metodi
- Saralash metodi
- O‘zgartirish metodi
Masala: “
talaba"
nomli nomlar fazosi va unda “Talaba” classini yarating.
Class maydonlari:
Familiyasi, ismi, kursi, baholari, stipendiyasi.
Class
komponentalarini inkapsulyastiyalash, konstruktorlar
va class metodlarini ishlab
chiqing. Obyektlar massivini yarating va ular ustida qidirish,
saralash, o‘zgartirish
amallarini bajaring.
Masalani yechish g‘oyasi:
talaba fazosida
Talaba
classi yaratiladi va
undamaydonlar yopiq holda e’lon qilinadi. Konstruktor orqali talabaning familiyasi,
ismi va kursi kiritiladi. Baholari massiv ko‘rinishda e’lon qilinib,
tasodifiy baholar
oladigan metod yoziladi. Stipendiyasini baholariga qarab belgilovchi metod ham
yaratiladi.Talaba sessiyani yopganligiga qarab kursdan kursga o‘tkaziladi. Agar u 4
kurs bo‘lsa bitiruvchi ekanligi haqida xabar chiqariladi. Buning uchun Talaba classida
setKurs()metodi yoziladi. main funksiyasida familiya
va ism uchun string massivi
tuzilib(tashqaridan kiritmaslik uchun), Talaba classiga tegishli obyektlar massivining
konstruktoriga parametr sifatida beriladi va talabalar haqida ma’lumot chop
etiladi.main funksiyasida obyektlar massivi ustida talaba ismi bo‘yicha qidiruvchi,
familiyasibo‘yicha tartiblovchi va kursini o‘zgartiruvchi funksiyalar do‘st
funksiya
qilib yoziladi. Natijada funksiya ichida to‘g‘ridan to‘g‘ri murojaat etiladi.
Dastur matni:
1. #include
2. #include
3. #include
4. #include
5. using namespace std;
6. namespace talaba{ //