Skip to content

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

cpp
struct {              // Tuzilma e'loni
  int myNum;          // A'zo (int o'zgaruvchi)
  string myString;    // A'zo (string o'zgaruvchi)
} myStructure;        // Tuzilma o'zgaruvchisi

Tuzilma a'zolariga murojaat qilish

Tuzilma a'zolariga murojaat qilish uchun nuqta (.) sintaksisidan foydalaning:

MISOL

cpp
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

cpp
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

cpp
// "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:

  1. Tuzilmaning bitta o'zgaruvchisini yarating.
  2. A'zolariga qiymat bering.
  3. Qiymatlarni ekranga chiqaring.
JAVOB
cpp
#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;
}