1-mavzu: Strukturalar bilan ishlash 1. Struktura tipidagi ma’lumotlarini kiritish va chiqarishni tashkillashtirish. 2. Axborotlarni izlash va tanlashni tashkillashtirish Barcha elementlari bir xil tipda bo'lgan massivdan farqli, struktura turli tipdagi elementlarni o'z ichiga oladi. C++ tilida struktura sinf turi hisoblanadi va uning barcha xossalariga ega, lekin ko'p hollarda strukturalarni C tilda qanday aniqlangan bo'lsa shunday foydalanish yetarli: struct [ tip_nomi ] { tip_1 element_1; tip_2 element_2; … tip_n element_n; } [ tavsiflanuvchilar_ro'yxati ] Sintaksis Dastur yozish jarayonida har xil ma’lumotlarni gruhlashga ehtiyoj vujudga kelishi mumkin. Masalan, qandaydir obyektlar nomlari va obyektning joylashuv koordinatasini saqlash zaruruiyati bo’sin. Buni massivlar yordamida tashkillashtirish mumkin: int x_coor[10]; int y_coor[10]; string names[10]; Bir massivning har bir elementi boshqasi bilan bog’langan, birortasini o’zgartirilsa qolganlarini ham o’zgartirishga to’g’ri keladi. Maluym otlar ko’p bo’lsa ularni birlashtirish dasturning murakkablashishiga olib kelishi mumkin. Shuning uchun turli xil ma’lumotlarni birlashtirish uchun strukturalar ishlatiladi. Strukturani e’lon qilish quydagicha: struct Car { int x_coor; int y_coor; string name; }; Strukturani e’lon qilib, dasturda foydalanuvchi tomonidan aniqlangan ma’lumotlar turidan standart turlar kabi foydalanish mumkin bo’ladi, ya’ni struktura tipidagi o’zgaruvchini e’lon qilish quydagicha: structName variableName; Bu yerda : structName —struktura nomi, variableName — o’zgaruvchi nomi. x_coor, y_coor va name — bizning strukturadagi maydonlar. Strukturani e’lon qilishda ma’lumotlarni murakkab turi hosil qilinadi,uning yordamida o’zida bir nechta qiymatlarni(masalan, koordinatalar va nom) birlashtiradigan o’zgaruvchilarni yaratish mumkin bo‘ladi. Struktura ichidagi har bir maydonga nom beriladi, chunki maydon qiymatga uning nomi bo‘yicha murojaat qilinadi. Struktura maydoniga murojaat qilish uchun nuqta ishlatiladi: // o’zgaruvchi e’loni Car myCar; // maydonlarga murojaat qilish myCar.x_coor = 40; myCar.y_coor = 40; myCar.name = "Nexia"; Quyidagi misol yordamida strukturada talabalar haqidagi ma’lumotlar (talabaning ismi, kursi, bahosi) qanday saqlash qaraladi. Bu dasturda biz talaba nomli struktura hosil qilinadi, unda uchta element name (string), roll(integer), mark(float) bo’ladi. Ma’lumotlarni saqlash uchun s o’zgaruvchidan foydalaniladi. Shuningdek, strukturadan ma’lumotlarni ekranga chiqarish ham ko’rsatiladi. #include <iostream> using namespace std; struct student { char name[15]; int roll; float mark; }; int main() { student s ; cout << "Talaba haqidagi malumotlarni kiriting " << endl; cout<<"Talaba ismi: "; cin>>s.name; cout<<"Talaba kursi: "; cin>>s.roll; cout<<"Talaba bahosi: "; cin>>s.mark; cout << "Talaba haqidagi malumotlarni chiqarish " << endl; cout<<"Talaba ismi: "<<s.name<<endl; cout<<"Talaba kursi: "<<s.roll<<endl; cout<<"Talaba bahosi: "<<s.mark<<endl; return 0; }