36 / 90

C++ Structure and Function

C++ struct va funksiyalar

Biz structure o'zgaruvchilarini function ga o'tkazishimiz va uni oddiy ma'lumotlar turlari kabi funksiyadan qaytarishimiz mumkin.

Strukturani C++ da funksiyaga o‘tkazish

Tuzilma o'zgaruvchisi boshqa har qanday o'zgaruvchi kabi funksiyaga uzatilishi mumkin.

Ushbu misolni ko'rib chiqing:

example.cpp
#include <iostream>
#include <string>
using namespace std;

struct Person {
    string first_name;
    string last_name;
    int age;
    float salary;
};

// bilan funksiyani e'lon qilish
// argument sifatida struktura o'zgaruvchisi turi
void display_data(const Person&);

int main() {
    // struktura o'zgaruvchisini ishga tushiring
    Person p {"John", "Doe", 22, 145000};

    // bilan funksiya chaqiruvi
    // argument sifatida struktura o'zgaruvchisi
    display_data(p);

    return 0;
}

void display_data(const Person& p) {
    cout << "First Name: " << p.first_name << endl;
    cout << "Last Name: " << p.last_name << endl;
    cout << "Age: " << p.age << endl;
    cout << "Salary: " << p.salary;
}

Chiqish

kod
First Name: John
Last Name: Doe
Age: 22
Salary: 145000

Ushbu dasturda biz p a'zolarini ko'rsatish uchun display_data() funksiyasiga havola orqali p tuzilma o'zgaruvchisini o'tkazdik.

C++ da funksiyadan strukturani qaytarish

Bundan tashqari, funksiyadan struktura o'zgaruvchisini qaytarishimiz mumkin.

Keling, bir misolni ko'rib chiqaylik.

example.cpp
#include <iostream>
#include <string>
using namespace std;

// tuzilishini aniqlang
struct Person {
    string first_name;
    string last_name;
    int age;
    float salary;
};

// funksiyalarni e'lon qilish
Person get_data();
void display_data(const Person&);

int main() {

    Person p = get_data();
    display_data(p);

    return 0;
}

// struktura o'zgaruvchisini qaytarish uchun funksiyani aniqlang
Person get_data() {

    Person p;
    
    string first_name;
    string last_name;
    int age;
    float salary;
    
    cout << "Enter first name: ";
    cin >> first_name;
    cout << "Enter last name: ";
    cin >> last_name;
    cout << "Enter age: ";
    cin >> age;

    cout << "Enter salary: ";
    cin >> salary;
    
    // qaytish strukturasi o'zgaruvchisi
    return Person{first_name, last_name, age, salary};
}

// qabul qilinadigan funksiyani aniqlang
// argument sifatida struktura o'zgaruvchisi
void display_data(const Person& p) {
    cout << "\nDisplaying Information." << endl;
    cout << "First Name: " << p.first_name << endl;
    cout << "Last Name: " << p.last_name << endl;
    cout << "Age: " << p.age << endl;
    cout << "Salary: " << p.salary;
}

Chiqish

kod
Enter first name: John
Enter last name: Doe
Enter age: 22
Enter salary: 145000

Displaying Information.
First Name: John
Last Name: Doe
Age: 22
Salary: 145000

Ushbu dasturda biz get_data() funksiyasidagi struktura o'zgaruvchisi uchun foydalanuvchi ma'lumotlarini oldik va uni funksiyadan qaytardik

Keyin biz p struktura o'zgaruvchisini ma'lumotni ko'rsatadigan display_data() funksiyasiga havola orqali o'tkazdik.

Shuningdek o'qing:

-C++ Program to Add Complex Numbers by Passing Structure to a Function