- Структуралар ва бирлашмалар.
- Маълумки, бирор предмет соҳасидаги масалани ечишда ундаги объектлар бир нечта, ҳар хил турдаги параметрлар билан аниқланиши мумкин. Масалан, текисликдаги нуқта ҳақиқий турдаги х-абцисса ва y -ордината жуфтлиги - (x,y) кўрини-шида берилади. Талаба ҳақидаги маълумотлар – сатр туридаги талаба фамилияси, исми ва шарифи, мутахассислик йўналиш, талаба яшаш адреси, бутун турдаги туғилган йили, ўқув босқичи, ҳақиқий турдаги рейтинг бали, мантиқий турдаги талаба жинси ҳақидаги маълумот ва бошқалардан шаклланади.
- С++ тилида бир ёки ҳар хил турдаги берилганларни жамланмаси структура деб номланади. Структура фойдаланувчи томонидан аниқланган берилганларнинг янги тури ҳисобланади. Структура қуйидагича аниқланади:
- struct <структура номи> // структура номи
- {
- <тур_1 > <ном_1>; // 1 майдон эълони
- <тур_2 > <ном_2>; // 2 майдон эълони
- . . .
- <тур_n> <ном_n>; // n майдон эълони
- };
- Struktura – o’ziga bir nechta har xil tiplardagi ma’lumotlarni o’z ichiga oluvchi ma’lumotlar tipi.
- Xossalari:
- muallif(satr)
- nomi (строка)
- nashr qilingan yili (butun son)
- varaqlar soni (butun son)
- Strukturaga yangi ma’lumotlar tipi qanday kiritiladi?
- Struktura bilan qanday ishlanadi?
- Book b; // bu yerda xotira ajratiladi!
- Book b1 = { “Yu. Golosinskiy",
- “Ingliz tili … ", 2010, 576};
- strcpy ( b.author, "Yu.Golosinskiy" );
- strcpy ( b.title, “Ingliz tili … " );
- b.year = 2010;
- b.pages = 576;
- Strukturani maydoniga murojaat qilishda nuqtadan foydalaniladi!
- printf ( “Muallif" );
- gets ( b.author );
- printf ( “Kitob nomi" );
- gets ( b.title );
- printf ( “Nashr qilingan yili, varaqlar soni " );
- scanf ( "%d%d", &b.year, &b.pages );
- struct Book {
- char author[40]; // muallif, satrli
- char title[80]; // nomi, satrli
- int year; // nashr qilingan yil, butun son
- int pages; // varaqlar soni, butun son
- };
- void Kitob_nomi(Book);
- int main()
- {
- Book b;
- strcpy(b.author,"Yu.Golosinskiy");
- strcpy(b.title,"Ingliz tili ... ");
- b.year=2010; b.pages=576;
- Kitob_nomi(b);
- }
- void Kitob_nomi(Book b)
- { cout << "Kitob nomi: " << b.title << endl;
- cout << "Kitob muallifi: " << b.author << endl;
- getch();}
- Klaviaturadan kiritish va chiqarish
- struct Book {
- char author[40]; // muallif, satrli
- char title[80]; // nomi, satrli
- int year; // nashr qilingan yil, butun son
- int pages; // varaqlar soni, butun son
- };
- void Kitob_nomi(Book);
- int main()
- {
- Book b;
- printf ( "Muallif " ); gets ( b.author );
- printf ( "Kitob nomi " ); gets ( b.title );
- printf ( "Nashr qilingan yili, varaqlar soni " );
- scanf ( "%d%d", &b.year, &b.pages );Kitob_nomi(b);
- }
- void Kitob_nomi(Book b)
- { cout << "Kitob nomi: " << b.title << endl;
- cout << "Kitob muallifi: " << b.author << endl;
- getch();}
Do'stlaringiz bilan baham: |