Kompyuter ilmlari va dasturlashtirish


Struktura va ularni e’lon qilish


Download 235.27 Kb.
bet2/2
Sana09.04.2023
Hajmi235.27 Kb.
#1343075
1   2
Bog'liq
Ixtiyorov Iftixor Algoritm maruza

Struktura va ularni e’lon qilish
C++ dasturlash tili tarkibida bir nechta turlarni birlashtirib bitta tur asosida ma‘lumotlar bazasini yaratish va ularni qayta ishlash imkoniyati keng yaratilgan. Bir nechta turlarni birlashtirish natijasida strukturalar hosil qilib C++ dasturlash tili tarkibida tashkilotlarga tegishli bo‗lgan bir nechta masalalarni hal etish imkoniyati mavjud.
Ta‘rif: C++ dasturlash tilida bir yoki bir nechta turlarni jamlanmasini birlashtirish struktura deb nomlanadi.
Strukturalarni ba‘zi hollarda yozuvlar ham deb ataladi, strukturalar tarkibidagi turlarning har biri maydon deb nomlanadi.
Ta‘rif: Ob‘yektning bitta xususiyatini uzida saqlaydigan parameter maydon
deb nomlanadi.
Talaba haqida ma‘lumotlar strukturasi hosil qilinishda quyidagi maydonlar Bo’lishi mumkin: Talabani familyasi, ismi, otasining ismi, tug‘ilgan vaqti, telefoni, manzili va hakoza. Strukturalar maydonlardan tashkil topgan ekan, struktura tarkibidagi har bir maydon strukturani bitta parametrini o’zida saqlaydi. Struktura maydoni uchun xotira hajmi, mayon uzunligiga teng bo‗ladi. Struktura maydoni qiymatlari ifodalarda ishlatilishi mumkin. C++ dasturlash tilida strukturalarni e‘lon qilishda struct xizmatchi so’zidan foydalaniladi. Struktura e‘lon qilingandan so’ng dastur tarkibida o‗zgaruvchilarni struktura nomi bilan e‘lon qilinadi.
C++ dasturlash tilida strukturalarni tasvirlashning umumiy ko’rinishi quyidagicha ko’rinishda bo‗ladi:
struct
{ ;
;
_ _ _ _ _ _ _
;
};
Strukturalarni tasvirlashda struct xizmatchi so‗zidan keyin struktura nomi va
fegurali qavsda uning maydonlari kiritilishi shart. Structura nomi masala mohiyatiga qarab tanlansa, maqsadga muvofiq. Masalan, talabalar haqida ma‘lumotlar bazasida struktura nomini talaba yoki supermarket mahsulotlari narxlari bazasida esa narx deb nomlash mumkin. Strukturalar tarkibidagi maydonlarni e‘lon qilish xuddi oddiy o‗zgaruvchilarni e‘lon qilishdek bajariladi va oxiri blok yopilishidan so‗ng, albatta, nuqtali vergul qo‗yilishi shart.
Strukturalar yartish jarayonini tushunish uchun C++ dasturlash tilida
talabalar haqida ma‘lumotlar bazasini struktura yordamida quyidagicha hosil
qilinadi:
Misol: Talabalar(familyasi, ismi, telefoni, reytingi, tug‘ilgan yili) haqida
ma‘lumotlarga asosan c++ dasturlash tilida struktura hosil qiling.
#include
using namespace std;
struct talaba
{
char[20] fam; //familyani saqlovchi maydon
char[20] ism; //ismni saqlovchi maydon

char[20] tel; //telefonni saqlovchi maydon


int reyting; //reyting balini saqlovchi maydon
int tugy; //tug‘ilgan vaqtini saqlovchi maydon
};
int main()
{
return 0;
}
Yuqoridagi masalada talaba haqida ma‘lumotlar strukturasini hosil qilishda
struktura nomiga talaba deb nomlandi va uning maydonlari familyasi(fam),
ismi(ism), telefoni(tel), reytingi(reyting), tug‘ilgan yili(tugy) ko‘rinishlarida
tasvirlandi. Maydonlarni e‘lon qilishda dastur tarkibida qanday maqsadlarda
foydalanishi e‘tiborga olinishi kerak. Agar dastur tarkibida maydonlar ustida hisob
ishlari olib borilmasa, uning turini char yoki string turi ko‗rinishida e‘lon qilinsa,
dastur bir muncha yengil ishlaydi.
Strukturalarga murojat qilish va ulardan foydalanish
C++ dasturlash tili tarkibida yaratilgan strukturalardan foydalanish mumkin,
faqat qayta ishlanadigan ma‘lumotlar bazasi uchun olingan struktura
o‗zgaruvchisini yaratilgan struktura nomi bilan e‘lon qilish kerak. Talaba haqida
ma‘lumotlarni qayta ishlash davrida bitta talabaning bir nechta parametrlariga
murojat qilish mumkin. Dasturlashda struktura o‗zgaruvchisini e‘lon qilishda tur
sifatida struktura nomi beriladi. Talaba haqida ma‘lumotlar bazasini hosil qilishda
talaba deb nomlangan struktura yaratiladi, talabalar ma‘lumotlar bazasini esa A
o‗zgaruvchiga saqlanadi, A o‗zgaruvchini turini talaba deb nomlanadi. Struktura
o‗zgaruvchisini e‘lon qilishning umumiy ko‗rinishi quyidagicha bo‗ladi:

Talaba ma‘lumotlar bazasini qayta ishlash uchun talaba nomi bilan struktura
yaratib, ma‘lumotlarni esa A o‗zgaruvchiga saqlanish holatini e‘lon qilish
jarayonini quydagi dastur yordamida ko‗rib chiqamiz:
#include
using namespace std;
struct talaba
{

char[20] fam; //familyani saqlovchi maydon


char[20] ism; //ismni saqlovchi maydon
char[20] tel; //telefonni saqlovchi maydon
int reyting; //reyting balini saqlovchi maydon
int tugy; //tug‘ilgan vaqtini saqlovchi maydon
};
int main()
{ talaba A; // A o‗zgaruvchini talaba turi bilan e‘lon qilish
return 0;
}
Demak ma‘lumotlar bazasini yaratishda uning uchun ajratilgan
o‗zgaruvchini struktura nomi bilan e‘lon qilish kerak.
C++ dasturlash tilida struktura maydoniga murojat qilish uchun struktura
nomi va maydon nomi nuqta bilan birlashtirilgan holda amalga oshiriladi.Struktura
ma‘lumotlarini dastur tarkibiga kiritish vaqtida har bir maydon elementlarini
kiritish kerak bo‗ladi. C++ dasturlash tilida strukturalarga murojat qilishning
umumiy ko‗rinishi quyidagicha bo‗ladi:
.
Strukturalarga murojatni amalga oshirish uchun quyidagi masalaga e‘tibor
qarating:
Misol: Supermarketdagi ichimlik narxi, saqlash yili haqida ma‘lumot
berilgan 2015 yildan hozirgacha chiqarilgan ichimliklarni narxini chiqaring aks
holda muddati o‗tganligini aniqlang.
Bu masalani hal etish uchun ichimlik nomli struktura yaratiladi, strukturani
ikkita narxi va saqlash muddati uchun maydonlari mavjud bo‗ladi. Ichimlik
haqidagi ma‘lumotni A o‗zgaruvchiga saqlaymiz. A o‗zgaruvchini saqlash muddati
maydonini 2015 bilan solishtiriladi, agar kichik bo‗lsa, muddati o‗tgan aks holda
narxi chiqariladi.
#include
using namespace std;
struct ichimlik
{
string nomi; //ichimlik nomini saqlovchi maydon
int narx; //ichimlik narxini saqlovchi maydon
int muddat; //ichimlik saqlash muddattini saqlovchi maydon

};
int main()


{ ichimlik A;
cin>>A.nomi;
cin>>A.narx;
cin>>A.muddat;
if(A.muddat<2015) cout<<"muddat utgan";
else cout<return 0;
}
Kiritishga ma‘lumot
Pepsi 4500 2014
Fanta 5000 2016
Dastur natijasi
muddat utgan
5000 sum
C++ dasturlash tilida strukturalar yaratib ularga murojat qilish oddiy
o‗zgaruvchilar kabi bajariladi faqat struktura o‗zgaruvchisi nuqta bilan maydon
nomi yoziladi. Biror bir tashkilot yoki mussasa ma‘lumotlar bazasi yaratish uchun
struktura o‗zgaruvchisini ko‗p qiymatidan foydalanishga to‗g‘ri keladi. Struktura
o‗zgaruvchisini ikki va undan ortiq qiymatlariga murojat qilish uchun struktura
o‗zgaruvchisini massiv sifatida qarash mumkin.
Struktura massivi
Dasturlash tarkibida strukturalardan yakka tartibda foydalanish maqsadga
muvofiq bo‗lmaydi. Strukturalar biror bir tashkilot ma‘lumotlar bazasi berilganda
ularning qayta ishlash uchun qulay vosita hisoblanadi. Agar strukturalar bir nechta
qiymatlar uchun ishlatilsa, struktura o‗zgaruvchisini struktura massivi sifatida
qarash kerak.
Ta‘rif: struktura o‗zgaruvchisi bir nechta qiymatlar uchun ishlatilsa,
struktura o‗zgaruvchisi struktura massivi deb ataladi.
Struktura massivini e‘lon qilish, xuddi oddiy massiv kabi e‘lon qilinadi,
faqatgina massiv turiga struktura nomi ko‗rsatiladi. C++ dasturlash tilida struktura
massivlarini e‘lon qilishning umimiy ko‗rinishi quyidagicha bo‗ladi:
[]
Struktura massiviga murojat qilish uchun massiv elementlariga murojat
qilishdek bajariladi faqatgina massiv elementlari maydon nomi bilan birga murojat
qilinadi. Talabalar haqida ma‘lumotlar yaratish va ularni qayta ishlash uchun

struktura massividan foydalanish kerak, chunki bitta talaba uchun bir nechta


parametr ishlatiladi va ma‘lumotlar bazasida n ta talaba haqida ma‘lumot
saqlanadi.
Misol: N ta talaba haqida ismi, familyasi, tug‘ilgan yili haqida ma‘lumot
berilgan 20 yoshda katta bo‗lgan talabalarning ismi va familyasini ekranga
chiqaruvchi dastur tuzing.
#include
using namespace std;
struct talaba
{
string fam;
string ism;
int tyili;
};
int main(int argc, char* argv[])
{ talaba A[50]; int n=3;
for(int i=0;i{
cin>>A[i].fam;
cin>>A[i].ism;
cin>>A[i].tyili;
}
for(int i=0;iif((2017-A[i].tyili)>20)
{cout<return 0;
}
Kiritishga ma‘lumot
Allayorov Jasur 1995
Abduvaliv Umar 1998
Saydiyev Sardor 1996
Dastur natijasi
Allayorov Jasur
Saydiyev Sardor
Misol: o„qituvchilarning ismi, familyasi, ilmiy darajasi haqida ma‘lumot
berilgan siz professorlar, dotsentlar, assistentlar sonini aniqlovchi dastur tuzing.
#include
using namespace std;
struct uqituvchi

struktura massividan foydalanish kerak, chunki bitta talaba uchun bir nechta


parametr ishlatiladi va ma‘lumotlar bazasida n ta talaba haqida ma‘lumot
saqlanadi.
Misol: N ta talaba haqida ismi, familyasi, tug‘ilgan yili haqida ma‘lumot
berilgan 20 yoshda katta bo‗lgan talabalarning ismi va familyasini ekranga
chiqaruvchi dastur tuzing.
#include
using namespace std;
struct talaba
{
string fam;
string ism;
int tyili;
};
int main(int argc, char* argv[])
{ talaba A[50]; int n=3;
for(int i=0;i{
cin>>A[i].fam;
cin>>A[i].ism;
cin>>A[i].tyili;
}
for(int i=0;iif((2017-A[i].tyili)>20)
{cout<return 0;
}
Kiritishga ma‘lumot
Allayorov Jasur 1995
Abduvaliv Umar 1998
Saydiyev Sardor 1996
Dastur natijasi
Allayorov Jasur
Saydiyev Sardor
Misol: o„qituvchilarning ismi, familyasi, ilmiy darajasi haqida ma‘lumot
berilgan siz professorlar, dotsentlar, assistentlar sonini aniqlovchi dastur tuzing.
#include
using namespace std;
struct uqituvchi

Download 235.27 Kb.

Do'stlaringiz bilan baham:
1   2




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