Ахборот хавфсизлигига бўладиган хавфлар


Struktura funksiya argumenti sifatida


Download 127.93 Kb.
bet2/6
Sana18.06.2023
Hajmi127.93 Kb.
#1569147
1   2   3   4   5   6
Bog'liq
Ma’ruza 13. Tuzilmalar

13.2. Struktura funksiya argumenti sifatida
Strukturalar funksiya argumenti sifatida ishlatilishi mumkin. Buning uchun funksiya prototipida struktura turi ko‘rsatilishi kerak bo‘ladi. Masalan, talaba haqidagi berilganlarni o‘z ichiga oluvchi Talaba strukturasi turidagi berilganlarni Talaba_Manzili() funksiyasiga parametr sifatida berish uchun funksiya prototipi quyidagi ko‘rinishda bo‘lishi kerak:
void Talaba_Manzili(Talaba);
Funksiyaga strukturani argument sifatida uzatishga misol sifatidagi dasturning matni:
#include
#include
using namespace std;
struct Talaba
{
char FISh[30];
unsigned int Tug_yil;
unsigned int Kurs;
char Yunalish[50];
float Reyting;
unsigned char Jinsi[5];
char Manzil[50];
bool status;
};
void Talaba_Manzili(Talaba);
int main()
{
Talaba talaba;
talaba.Kurs=2;
talaba.Tug_yil=1988;
strcpy(talaba.FISh,"Abdullaev A.A.");
strcpy(talaba.Yunalish,
"Informatika va Axborot texnologiyalari");
strcpy(talaba.Jinsi,"Erk");
strcpy(talaba.Manzil,
"Toshkent, Yunusobod 6-3-8, tel: 224-45-78");
talaba.Reyting=123.52;
Talaba_Manzili(talaba);
return 0;
}
void Talaba_Manzili(Talaba t)
{
cout<<"Talaba FIO: "<cout<<"Manzili: "<}
Dastur bosh funksiyasida talaba strukturasi aniqlanib, uning maydonlariga qiymatlar beriladi. Keyin talaba strukturasi Talaba_Manzili() funksiyasiga argument sifatida uzatiladi. Dastur ishlashi natijasida ekranga quyidagi ma’lumotlar chop etiladi.
Talaba FIO: Abdullaev A.A.
Manzili: Toshkent, Yunusobod 6-3-8, tel: 224-45-78
13.3. Strukturalar massivi
O‘z-o‘zidan ma’lumki, struktura turidagi yagona berilgan bilan yechish mumkin bo‘lgan masalalar doirasi juda tor va aksariyat holatlarda, qo‘yilgan masala strukturalar majmuasini ishlatishni talab qiladi. Bu turdagi masalalarga berilganlar bazasini qayta ishlash masalalari deb qarash mumkin.
Strukturalar massivini e’lon qilish xuddi standart massivlarni e’lon qilishdek, farqi massiv turi o‘rnida foydalanuvchi tomonidan aniqlangan struktura turining nomi yoziladi. Masalan, talabalar haqidagi berilganlarni o‘z ichiga olgan massiv yaratish e’loni quyidagicha bo‘ladi:
const int n=25;
Talaba talabalar[n];
Strukturalar massivining elementlariga murojaat odatdagi massiv elementlariga murojaat usullari orqali, har bir elementning maydonlariga murojaat esa ‘.’ orqali amalga oshiriladi.
Quyidagi dasturda guruhidagi har bir talaba haqidagi berilganlarni klaviaturadan kiritish va guruh talabalarini familiya, ismi va sharifini chop qilinadi.
#include
using namespace std;
#include
const int n=3;
struct Talaba
{
char FISh[30];
unsigned int Tug_yil;
unsigned int Kurs;
char Yunalish[50];
float Reyting;
char Jinsi[6];
char Manzil[50];
bool status;
};
void Talaba_Kiritish(Talaba t[]);
void Talabalar_FISh(Talaba t[]);
int main(int argc, char* argv[])
{
Talaba talabalar[n];
Talaba_Kiritish(talabalar);
Talabalar_FISh(talabalar);
return 0;
}
void Talabalar_FISh(Talaba t[])
{
for(int i=0; icout<}
void Talaba_Kiritish(Talaba t[])
{
for(int i=0; i{
cout<cout<<" Talaba FISh :";
cin.getline(t[i].FISh,30);
cout<<" Kurs:";
cin>>t[i].Kurs;
cout<<" Reyting bali:";
cin>>t[i].Reyting;cout<<" Tug''ilgan yili:";
cin>>t[i].Tug_yil;
cout<<" Ta'lim yo'nalishi:";
cin.getline(t[i].Yunalish,50);
cout<<" Jinsi(erkak,ayol):";
cin.getline(t[i].Jinsi,6);
cout<<" Yashash manzili:";
cin.getline(t[i].Manzil,50);
}
}



Download 127.93 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling