Tuzilmalar (Structures / struct)
C++ Tuzilmalar
Tuzilmalar (structures, struct deb ham ataladi) bir nechta bog'liq o'zgaruvchilarni bitta joyga guruhlash usuli hisoblanadi.
Tuzilmadagi har bir o'zgaruvchi tuzilmaning a'zosi (member) deb ataladi.
Massivdan farqli ravishda, tuzilma turli xil ma'lumot turlarini o'z ichiga olishi mumkin: int, string, bool va boshqalar.
Tuzilma yaratish
Tuzilma yaratish uchun struct kalit so'zidan foydalaning va har bir a'zosini jingalak qavslar ichida e'lon qiling:
MISOL
struct { // Tuzilma e'loni
int myNum; // A'zo (int o'zgaruvchi)
string myString; // A'zo (string o'zgaruvchi)
} myStructure; // Tuzilma o'zgaruvchisiTuzilma a'zolariga murojaat qilish
Tuzilma a'zolariga murojaat qilish uchun nuqta (.) sintaksisidan foydalaning:
MISOL
struct {
int myNum;
string myString;
} myStructure;
// myStructure a'zolariga qiymat berish
myStructure.myNum = 1;
myStructure.myString = "Salom dunyo!";
// myStructure a'zolarini chiqarish
cout << myStructure.myNum << "\n";
cout << myStructure.myString << "\n";Bitta tuzilma — bir nechta o'zgaruvchi
Bitta tuzilmani bir nechta o'zgaruvchida ishlatish uchun verguldan (,) foydalanish mumkin:
MISOL
struct {
string brand;
string model;
int year;
} myCar1, myCar2;
// Birinchi tuzilmaga ma'lumot kiritish
myCar1.brand = "BMW";
myCar1.model = "X5";
myCar1.year = 1999;
// Ikkinchi tuzilmaga ma'lumot kiritish
myCar2.brand = "Ford";
myCar2.model = "Mustang";
myCar2.year = 1969;
// Tuzilma a'zolarini chiqarish
cout << myCar1.brand << " " << myCar1.model << " " << myCar1.year << "\n";
cout << myCar2.brand << " " << myCar2.model << " " << myCar2.year << "\n";Nomlangan tuzilmalar
Tuzilmaga nom berib, uni ma'lumot turi sifatida ishlatish mumkin. Bu dasturning istalgan joyida ushbu tuzilma bilan o'zgaruvchilar yaratishga imkon beradi.
MISOL
// "car" nomli tuzilma e'lon qilish
struct car {
string brand;
string model;
int year;
};
int main() {
// myCar1 tuzilma o'zgaruvchisini yaratish
car myCar1;
myCar1.brand = "BMW";
myCar1.model = "X5";
myCar1.year = 1999;
// myCar2 tuzilma o'zgaruvchisini yaratish
car myCar2;
myCar2.brand = "Ford";
myCar2.model = "Mustang";
myCar2.year = 1969;
// A'zolarni chiqarish
cout << myCar1.brand << " " << myCar1.model << " " << myCar1.year << "\n";
cout << myCar2.brand << " " << myCar2.model << " " << myCar2.year << "\n";
return 0;
}Topshiriq
O'quvchini ifodalovchi tuzilma yarating. Uning quyidagi a'zolari bo'lsin:
name(string)age(int)grade(char)
Keyin:
- Tuzilmaning bitta o'zgaruvchisini yarating.
- A'zolariga qiymat bering.
- Qiymatlarni ekranga chiqaring.
JAVOB
#include <iostream>
#include <string>
using namespace std;
struct student {
string name;
int age;
char grade;
};
int main() {
student s1;
s1.name = "Ali";
s1.age = 20;
s1.grade = 'A';
cout << "Ism: " << s1.name << "\n";
cout << "Yosh: " << s1.age << "\n";
cout << "Baho: " << s1.grade << "\n";
return 0;
}