C++ strukturalar
C++ strukturalar
Strukturalar (struct deb ham ataladi) bir nechta o‘zaro bog‘liq o‘zgaruvchilarni bir joyga guruhlash usulidir.
Strukturadagi har bir o‘zgaruvchi strukturaning a’zosi (member) deb ataladi.
Massivdan farqli ravishda, struktura turli ma’lumot tiplarini o‘z ichiga olishi mumkin: int, string, bool va hokazo.
Struktura yaratish
Struktura yaratish uchun struct kalit so‘zidan foydalaning va uning har bir a’zosini figurali qavslar ichida e’lon qiling.
E’londan keyin struktura o‘zgaruvchisining nomini ko‘rsating (quyidagi misolda myStructure):
struct { // Structure declaration
int myNum; // Member (int variable)
string myString; // Member (string variable)
} myStructure; // Structure variable
Struktura a’zolariga murojaat qilish
Struktura a’zolariga murojaat qilish uchun nuqta sintaksisidan (.) foydalaning:
Misol
Struktura a’zolariga ma’lumot bering va ularni chiqaring:
// Create a structure variable called myStructure
struct {
int myNum;
string myString;
} myStructure;
// Assign values to members of myStructure
myStructure.myNum = 1;
myStructure.myString = "Hello World!";
// Print members of myStructure
cout << myStructure.myNum << "\n";
cout << myStructure.myString << "\n";
O‘zingiz sinab ko‘ring »
Bitta strukturani bir nechta o‘zgaruvchida ishlatish
Bitta strukturani ko‘plab o‘zgaruvchilarda ishlatish uchun verguldan (,) foydalanishingiz mumkin:
struct {
int myNum;
string myString;
} myStruct1, myStruct2, myStruct3; // Multiple structure variables separated with commas
Bu misolda strukturadan ikki xil o‘zgaruvchida qanday foydalanish ko‘rsatilgan:
Misol
Ikkita avtomobilni ifodalash uchun bitta strukturadan foydalaning:
struct {
string brand;
string model;
int year;
} myCar1, myCar2; // We can add variables by separating them with a comma here
// Put data into the first structure
myCar1.brand = "BMW";
myCar1.model = "X5";
myCar1.year = 1999;
// Put data into the second structure
myCar2.brand = "Ford";
myCar2.model = "Mustang";
myCar2.year = 1969;
// Print the structure members
cout << myCar1.brand << " " << myCar1.model << " " << myCar1.year << "\n";
cout << myCar2.brand << " " << myCar2.model << " " << myCar2.year << "\n";
O‘zingiz sinab ko‘ring »
Nomlangan strukturalar
Strukturaga nom berib, undan ma’lumot tipi sifatida foydalanishingiz mumkin. Bu shuni anglatadiki, dasturning istalgan joyida va istalgan vaqtda ushbu struktura bilan o‘zgaruvchilar yaratishingiz mumkin.
Nomlangan struktura yaratish uchun struktura nomini struct kalit so‘zidan so‘ng darhol yozing:
struct car { // This structure is now named "car"
string brand;
string model;
int year;
};
Strukturadan foydalanadigan o‘zgaruvchini e’lon qilish uchun struktura nomini o‘zgaruvchining ma’lumot tipi sifatida ishlating:
car myCar1;
Endi car’ni ma’lumot tipi sifatida ishlatib, strukturadan istalgan joyda qayta foydalanish mumkin:
Misol
Ikkita avtomobilni ifodalash uchun bitta strukturadan foydalaning:
// Declare a structure named "car"
struct car {
string brand;
string model;
int year;
};
int main() {
// Create a car structure and store it in myCar1;
car myCar1;
myCar1.brand = "BMW";
myCar1.model = "X5";
myCar1.year = 1999;
// Create another car structure and store it in myCar2;
car myCar2;
myCar2.brand = "Ford";
myCar2.model = "Mustang";
myCar2.year = 1969;
// Print the structure members
cout << myCar1.brand << " " << myCar1.model << " " << myCar1.year << "\n";
cout << myCar2.brand << " " << myCar2.model << " " << myCar2.year << "\n";
return 0;
}
O‘zingiz sinab ko‘ring »
Topshiriq
Talabani ifodalaydigan struktura yarating. U quyidagi a’zolarga ega bo‘lishi kerak:
name(string)age(int)grade(char)
So‘ngra:
- Strukturaning bitta o‘zgaruvchisini yarating.
- Uning a’zolariga qiymatlar bering.
- Qiymatlarni ekranga chiqaring.
Kutilgan natija
Name: Liam
Age: 35
Grade: A
Yechim
#include <iostream>
#include <string>
using namespace std;
struct student {
string name;
int age;
char grade;
};
int main() {
student s1;
s1.name = "John";
s1.age = 35;
s1.grade = 'A';
cout << "Name: " << s1.name << "\n";
cout << "Age: " << s1.age << "\n";
cout << "Grade: " << s1.grade << "\n";
return 0;
}
O‘zingiz sinab ko‘ring »
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
