O‘zbekiston respublikasi oliy va o‘rta maxsus ta’lim vazirligi tоshkеnt dаvlаt iqtisоdiyot universitеti


 bob. MURAKKAB MA’LUMOTLAR TURLARI


Download 1.96 Mb.
Pdf ko'rish
bet24/83
Sana08.11.2023
Hajmi1.96 Mb.
#1757524
1   ...   20   21   22   23   24   25   26   27   ...   83
Bog'liq
Obyektga yo`naltirilgan dasturlash tillari

3 bob. MURAKKAB MA’LUMOTLAR TURLARI 
3.2. Yangi ma’lumotlar turlarini kiritish 
Agar har xil qiymatlarga ega bir nechta nomlangan konstanta kiritish kerak 
bo‘lsa sanovchi tipdan foydalanish mumkin: 
enum  {}; 
Konstantalar butun bo‘lishi kerak va initsializatsiya qilinishi mumkin, agar 
initsializator mavjud bo‘lmasa birinchi konstanta nol qiymat oladi, kolganlari bo‘lsa 
oldingisidan birga ortiq bo‘ladi. 
Misol uchun: 
enum{one=1,two=2,three=3}; 
Agar son qiymatlari ko‘rsatilmagan bulsa eng chapki so‘zga 0 qiymati berilib 
kolganlariga tartib buyicha usuvchi sonlar mos kuyiladi: 
Enum{zero,one,two}; 
Bu misolda avtomatik ravishda konstantalar quyidagi qiymatlarni kabul kiladi: 
Zero=0, one=1, two=2; 
Konstantalar aralash ko‘rinishda kiritilishi ham mumkin: 
Enum(zero,one,for=4,five,seeks}. 
Bu misolda avtomatik ravishda konstantalar quyidagi qiymatlarni kabul kiladi: 
Zero=0, one=1, for=4;five=5,seeks=6; 
Nomlangan sanovchi tip kiritib, shu tipdagi o‘zgaruvchilar, ko‘rsatkichlar va 
ilovalardan foydalanish mumkin. Masalan: 
enum color (black, green, yellow, blue, red, white);
color col=red; 
color* cp=&col; 
if (*cp==green) cout<<”yashil”; 
3.2.Tuzilmalar va jamlanmalar 
Struktura – bu ma’lumotlarni bir butun nomlangan elementlar to‘plamiga 
birlashtirish. Struktura elementlari (maydonlar) har xil tipda bo‘lishi mumkin va ular 
har xil nomlarga ega bo‘lishi kerak.


33 
Strukturali tip quyidagicha aniqlanadi:
struct {  }
Strukturada albatta bitta komponenta bo‘lishi kerak. Struktura tipidagi 
o‘zgaruvchi quyidagicha ta’riflanadi:
;
Struktura tipidagi o‘zgaruvchi ta’riflanganda initsializatsiya qilinishi mumkin: 
=;
Strukturani initsializatsiyalash uchun uning elementlar qiymatlarini figurali 
qavslarda tavsiflanadi.
Misollar: 
1. struct Student

char name[20]; 
int kurs; 
float rating; 
}; 
Student s={”Qurbonov”,1,3.5}; 
2. struct

char name[20]; 
char title[30]; 
float rate; 
}employee={“Ashurov", “direktor”,10000}; 
Strukturalarni o‘zlashtirish. Bitta tuzilma tipdagi o‘zgaruvchilar uchun 
o‘zlashtirish operatsiyasi aniqlangan. Bunda har bir elementdan nusxa olinadi. 
Masalan: 
Student ss=s; 
Struktura elementlariga murojaat. Struktura elementlariga murojaat aniqlangan 
ismlar yordamida bajariladi: 
. 


34 
Masalan: 
employee.name – «Ashurov» satriga ko‘rsatkich;
employee.rate – 10000 qiymatga ega bo‘lgan butun tipdagi o‘zgaruvchi
Strukturaga ko‘rsatkichlar. Strukturaga ko‘rsatkichlar oddiy ko‘rsatkichlar kabi 
tasvirlanadi: 
Student*ps; 
Strukturaga ko‘rsatkich ta’riflanganda initsializatsiya kilinishi mumkin:
Student *ps=&mas[0]; 
Ko‘rsatkich orqali struktura elementlariga ikki usulda murojaat qilish mumkin. 
Birinchi usul adres buyicha qiymat olish amaliga asoslangan bo‘lib quyidagi shaklda 
qo‘llaniladi: 
(* strukturaga ko‘rsatkich).element nomi; 
Ikkinchi usul maxsus strelka (->) amaliga asoslangan bo‘lib quyidagi ko‘rinishga 
ega: 
strukturaga ko‘rsatkich->element nomi 
Struktura elementlariga quyidagi murojaatlar uzaro tengdir: 
cin>>(*ps).name; 
cin>>ps->title; 

Download 1.96 Mb.

Do'stlaringiz bilan baham:
1   ...   20   21   22   23   24   25   26   27   ...   83




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