Kompyuter ilmlari va dasturlashtirish
Struktura va ularni e’lon qilish
Download 235.27 Kb.
|
1 2
Bog'liqIxtiyorov 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 };
{ ichimlik A; cin>>A.nomi; cin>>A.narx; cin>>A.muddat; if(A.muddat<2015) cout<<"muddat utgan"; else cout< } 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;i {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;i {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
ma'muriyatiga murojaat qiling