TOSHKENT AXBROT TEXNALOGIYALARI UNIVERSITETI QARSHI FILIALI KOPYUTER INJINERINGI FAKULTETI

Similar documents
AXBOROT TEXNOLOGIYALARI VA KOMMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI FARG ONA FILIALI

O ZBEKISTON RESPUBLIKASI AXBOROT TEXNOLOGIYALARI VA KOMMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI

O ZBEKISTON RESPUBLIKASI OLIY VA O RTA MAXSUS TA LIM VAZIRLIGI

AXBOROT TEXNOLOGIYALARI VA KOMMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI FARG ONA FILIALI

TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI AXBOROT TEXNOLOGIYALARI FAKULTETI MULTIMEDIA TEXNOLOGIYALARI KAFEDRASI

O`ZBЕKISTОN RЕSPUBLIKАSI ОLIY VА O`RTА MАХSUS TА LIM VАZIRLIGI АNDIJОN MАSHINАSОZLIK INSTITUTI

MAXSUS EFFEKTLAR KOMPYUTER GRAFIKASI VA DIZAYN FANIDAN

O ZBEKISTON RESPUBLIKASI AXBOROT TEXNOLOGIYALARI VA KOMMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI

Sh.A. Nazirov, F.M. Nuraliev. DHTML yordamida Web-sahifa. Dasturlash II fanidan dasturlashga yo naltirilgan IKT tizimilari muttahasislari uchun

O ZBEKISTON RESPUBLIKASI ALOQA, AXBOROTLASHTIRISH VA TELEKOMMUNIKATSIYA TEXNOLOGIYALARI DAVLAT QO MITASI

«Veb ilovalarni yaratish» fanidan tajriba ishlarini bajarish bo yicha

O ZBEKISTON RESPUBLIKASI OLIY VA O RTA-MAXSUS TA LIM VAZIRLIGI ALISHER NAVOIY NOMIDAGI SAMARQAND DAVLAT UNIVERSITETI MEXANIKA-MATEMATIKA FAKULTETI

BAKALAVR BITIRUV MALAKAVIY ISHI

1. Operatsion tizim (OT) tushunchasi 2. Operatsion tizimlarning rivojlanish bosqichlari. 3. Windows operatsion tizimi 4. Mobil operatsion tizimlar

O'zbekiston Respublikasi Aloqa,Axborotlashtirish va Telekommunikatsiya Texnologiyalari Davlat Qo'mitasi. Toshkent Axborot Texnologiyalari Universiteti

DJURAYEV SHERZOD SOBIRJONOVICH

WEB DASTURLASH. fanidan MA RUZALAR MATNI

O ZBЕKISTОN RЕSPUBLIKASI AXBOROT TEXNOLOGIYALARI VA KOMMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI

O ZBEKISTON RESPUBLIKASI OLIY VA O RTA MAXSUS TA LIM VAZIRLIGI TERMIZ DAVLAT UNIVERSITETI FIZIKA MATEMATIKA FAKULTETI. Mengliev Sh.A.

BAKALAVR BITIRUV ISHI

BAKALAVR BITIRUV ISHI

O`ZBEKISTON ALOQA VA AXBOROTLASHTIRISH AGENTLIGI TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI FARG`ONA FILIALI. Axborot texnologiyalari fakul`teti

BITIRUV MALAKAVIY ISHI

O ZBEKISTON RESPUBLIKASI OLIY VA O RTA MAXSUS TA LIM VAZIRLIGI KASB-HUNAR SIRDARYO VILOYATI O RTA MAXSUS KASB- HUNAR TA LIMI BOSHQARMASI

YM. TIZIMLI DASTURIY TA'MINOT. M.M.Aliyev,E.T.Toxirov. Uslubiy qo'uanma. Toshl en ~---

I/O Streams and Standard I/O Devices (cont d.)

O ZBEKISTON RESPUBLIKASI ALOQA, AXBOROTLASHTIRISH VA TELEKOMMUNIKATSIYA TEXNOLOGIYALARI DAVLAT QO MITASI

Piyush Kumar. input data. both cout and cin are data objects and are defined as classes ( type istream ) class

BITIRUV MALAKAVIY ISHI

O ZBEKISTONRESPUBLIKASIALOQAAXBOROTLASHTIRISHVATEL EKOMMUNIKATSIYATEXNOLOGIYALARIDAVLATQO MITASITOSH KENTAXBOROTTEXNOLOGIYALARIUNIVERSITETI

МЕХАНИКА МАТЕМАТИКА ФАКУЛЬТЕТИ

KURS ISHI. MFO'M fanidan. Mavzu: Internet tamoyillari fanini pedagogik va axborot texnologiyalari yordamida o`qitish metodikasi.

O ZBEKISTON RESPUBLIKASI AXBOROT TEXNOLOGIYALARI VA KOMMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI

O ZBEKISTON ALOQA, AXBOROTLASHTIRISH VA TELEKOMUNIKATSIYA TEXNOLOGIYALARI DAVLAT QO MITASI TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI

O ZBEKISTON RESPUBLIKASI ALOQA, AXBOROTLASHTIRISH VA TELEKOMMUNIKATSIYA TEXNOLOGIYALARI DAVLAT QO`MITASI

O ZBEKISTON RESPUBLIKASI AXBOROT TEXNOLOGIYALARI VA KOMMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI

MUNDARIJA. ANNOTATSIYA... 2 KIRISH... 4 I BOB. ANALITIK QISM... 7

INFORMATIKA VA AXBOROT TEXNOLOGIYALARI yo nalishi

O zbеkiston Rеspublikasi Oliy va o rta maxsus ta lim vazirligi. Namangan muhandislik pеdagogika instituti. Kasb ta`limi fakultеti

Amaliy matematika va informatika ta lim yo nalishi bo yicha bakalavr darajasini olish uchun. Oromov Akmal Ahmad o g lining

REJA KIRISH ASOSIY QISM I BOB Android operatsion tizimi 1.1 Android OT tarixi 1.2 Android OTning hayotimizda tutgan o rni 1.

Streams. Rupesh Nasre.

O`ZBEKISTON RESPUBLIKASI OLIY VA O`RTA MAXSUS TA'LIM VAZIRLIGI O`RTA MAXSUS, KASB-HUNAR TA'LIMI MARKAZI

upakovkalari dizayni (Artel, Uztelecom, Roison) mahsulotlarini yaratish.

O ZBЕKISTON RЕSPUBLIKASI ALOQA, AXBOROTLASHTIRISH VA TЕLЕKOMMUNIKATSIYA TЕXNOLOGIYALARI DAVLAT QO MITASI TOSHKЕNT AXBOROT TЕXNOLOGIYALARI UNIVЕRSITЕTI

O ZBEKISTON RESPUBLIKASI AXBOROT TEXNOLOGIYALARI VA KOMMUNIKATSIYALARNI RIVOJLANTIRISH VAZIRLIGI

More File Operations. Lecture 17 COP 3014 Spring april 18, 2018

O zbekiston Respublikasi oliy va o rta maxsus ta`lim vazirligi. Buxoro oziq-ovqat va engil sanoat texnologiyasi instituti

O ZBEKISTON RESPUBLIKASI ALOQA, AXBOROTLASHTIRISH VA TELEKOMMUNIKATSIYA TEXNOLOGIYALARI DAVLAT QO MITASI

O ZBEKISTON RESPUBLIKASI OLIY VA O RTA TA LIM VAZIRLIGI. TOSHKENT TO QIMACHILIK VA YENGIL SANOAT INSTITUTI. INFORMATIKA VA AT kafedrasi KURS ISHI

O'rnatish menyusiga kirish

O ZBEKISTON RESPUBLIKASI OLIY VA O RTA TA LIM VAZIRLIGI QARSHI MUHANDISLIK IQTISODIYOT INSTITUTI. AVTOMATIKA VA AXBOROT TEXNOLOGIYALARI kafedrasi

File I/O Christian Schumacher, Info1 D-MAVT 2013

File I/O. File Names and Types. I/O Streams. Stream Extraction and Insertion. A file name should reflect its contents

ALGORITM ASOSLARI VA ALGORITMIK TILLAR

O ZBEKISTON RESPUBLIKASI OLIY VA O RTA MAXSUS TA LIM VAZIRLIGI NIZOMIY NOMIDAGI TOSHKENT DAVLAT PEDAGOGIKAUNIVERSITETI

O ZBEKISTON RESPUBLIKASI OLIY VA O RTA MAXSUS TA LIM VAZIRLIGI NIZOMIY NOMIDAGI TOSHKENT DAVLAT PEDAGOGIKA UNIVERSITETI MAGISTRATURA BO LIMI

Mundarija. 1. Html tilida 3 xil turdagi onlayn test (MS Word dasturida) Paskal dasturlash tilida yaratilgan 3 ta test 11

Module C++ I/O System Basics

CS2141 Software Development using C/C++ Stream I/O

Chapter 3 - Notes Input/Output

Week 3: File I/O and Formatting 3.7 Formatting Output

Strings and Streams. Professor Hugh C. Lauer CS-2303, System Programming Concepts

O`ZBEKISTОN RESPUBLIKASI ОLIY VA O`RTA MAXSUS TA`LIM VAZIRLIGI NAMANGAN MUHANDISLIK TEXNОLОGIYA INSTITUTI «KIMIYO-TEXNOLOGIYA» FAKULTETI

Objects and streams and files CS427: Elements of Software Engineering

Reading from and Writing to Files. Files (3.12) Steps to Using Files. Section 3.12 & 13.1 & Data stored in variables is temporary

Input and Output. Data Processing Course, I. Hrivnacova, IPN Orsay

Object Oriented Programming Using C++ UNIT-3 I/O Streams

TABIIY FANLAR FAKULTETI KIMYO BO`LIMI

Fig: iostream class hierarchy

Internet tarmog ida taqiqlangan himoyalash (filtr) vositalarini ishlab chiqish

CSC 138 Structured Programming CHAPTER 4: TEXT FILE [PART 1]

Chapter 12 - C++ Stream Input/Output

C++ Input/Output: Streams

Consider the following example where a base class has been derived by other two classes:

UEE1303(1070) S 12 Object-Oriented Programming in C++

We will exclusively use streams for input and output of data. Intro Programming in C++

C++ Programming Lecture 10 File Processing

CS201 Solved MCQs.

Convenient way to deal large quantities of data. Store data permanently (until file is deleted).

Streams - Object input and output in C++

O ZBEKISTON RESPUBLIKASI OLIY VA O RTA MAXSUS TA LIM VAZIRLIGI. MIRZO ULUG BEK nomidagi SAMARQAND DAVLAT ARXITEKTURA QURILISH INSTITUTI

Module 11 The C++ I/O System

Physics 6720 I/O Methods October 30, C++ and Unix I/O Streams

10/23/02 21:20:33 IO_Examples

Chapter 21 - C++ Stream Input/Output

Introduction to C++ (Extensions to C)

Setting Justification

We can even use the operator << to chain the output request as:

Chapter 21 - C++ Stream Input/Output

Object Oriented Programming In C++

Streams in C++ Stream concept. Reference information. Stream type declarations

The C++ Language. Output. Input and Output. Another type supplied by C++ Very complex, made up of several simple types.

CS150 Intro to CS I. Fall Fall 2017 CS150 - Intro to CS I 1

Chapter 12. Streams and File I/O. Copyright 2010 Pearson Addison-Wesley. All rights reserved

basic_fstream<chart, traits> / \ basic_ifstream<chart, traits> basic_ofstream<chart, traits>

O`zbekistan Respublikasi haliq bilimlendiriw wa`zirligi. A`jiniyaz atindagi nokis ma`mleketlik pedagogikaliq instituti.

Chapter 12. Streams and File I/O. Copyright 2016 Pearson, Inc. All rights reserved.

O ZBEKISTON RESPUBLIKASI OLIY VA O RTA MAXSUS TA LIM VAZIRLIGI NIZOMIY NOMIDAGI TOSHKENT DAVLAT PEDAGOGIKA UNIVERSITITUTI

Mundarija: Ошибка! Закладка не определена. Ошибка! Закладка не определена.

Transcription:

O ZBEKISTON RESPUBLIKASI AXBOROT TEXNOLOGIYALARI VA KOMMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI TOSHKENT AXBROT TEXNALOGIYALARI UNIVERSITETI QARSHI FILIALI KOPYUTER INJINERINGI FAKULTETI 5330501 Kompyuter injiniring ( Kompyuter injiniring ) ta lim yo nalishi Dasturiy injinniring kafedrasi C++ tilida dasturlash fanidan KURS ISHI Mavzu: Оqimli sinflardan foydalanib dasturlash Bajardi: Hakimov Nasriddin Qabul qildi: Qarshi-2016 y. H.M. Normamatov

O`ZBEKISTON RESPUBLIKASI AXBOROT TEXNOLOGIYALARI VA KOMMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI QARSHI FILIALI KOMPYUTER INJINIRING FAKULTETI Tasdiqlayman Dasturiy injinniring kafedrasi mudiri: Yo nalishi : 5330501 Kompyuter injiniring ( Kompyuter injiniring, AT -Servis ) ta lim yo nalishi Fanning nomi: C++ da dasturlash. KURS ISHI Kurs ishi mavzusi: Оқимли синфлардан фойдаланиб дастурлаш Topshirig i: Фойдаланувчи структура массивини яратинг. Оқимда (файлда) уларни сақлаш функциясини яратинг. Дастурда фойдаланинг. Вариантда кўрсатилган структура массивини файлдан ўқиш ва чиқариш функцияларини яратинг ва дастурда фойдаланинг. Берилган критерий асосида файлдаги маълумотларни корректировка (алмашиш) қилувчи функция яратинг. Дастурни яратинг ва мавжуд бўлган файлни кўриб чиқинг.

Амалий топширик: Yo llanma materiallar: Adabiyotlar, internet. Chizmachilik qismi: _algoritm, blok sxemalar Kurs ishini himoya qilish muddati : Guruh: KI-12-14 Talaba: Hakimov Nasriddin Rahbar: Х.М.Нормаматов Kurs ishini topshirig ini qabul qildim: TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI QARSHI FILIALI KOMPYUTER INJINIRING FAKULTETI C++ da dasturlash fanidan Kurs ishi bo yicha topshiriq: Foydalanuvchi struktura massivini yarating. Oqimda (faylda) ularni saqlash funksiyasini yarating. Dasturda foydalaning. Variantda ko rsatilgan struktura massivini fayldan o qish va chiqarish funksiyalarini yarating va dasturda foydalaning. Berilgan kriteriy asosida fayldagi ma lumotlarni korrektirovka (almashish) qiluvchi funksiya yarating. Dasturni yarating va mavjud bo lgan faylni ko rib chiqing Talaba: Hakimov N. I.Ishning mazmuni: Standart bibliotekadagi oqimli sinflar obyektlaridan foydalangan xolda kiritish va chiqarish dasturlashni o rganish.

II.Ishni topshirish muddati: III.Mavzu bo yicha dastlabki ma lumotlar beruvchi adabiyotlar: 1. «Компьютерлаштиришни янада ривожлантириш ва ахбороткоммуникация технологияларини жорий этиш чора-тадбирлари тўғрисида»ги Ўзбекистон Республикаси Вазирлар Маҳкамасининг Қарори // «Халқ сўзи» газетаси, 2002 йил 8 июнь. 2. Каримов И.А «Эришилган ютуқларни мустаҳкамлаб, янги марралар сари изчил ҳаракат қилишимиз лозим». // «Халқ сўзи», 2006 й., 11-февраль. 3. Nazirov Sh.A., Qobulov R.V., Bobojanov M.R., Raxmanov Q.S. С va С++ tili. Voris-nashriyot MCHJ, Toshkent 2013, 488 b. 4. Қосимов С.С Ахборот технологиялари Техника олий ўрта юртлари бакалавриат босқичи талабалари учун ўқув қўлланма сифатида тавсия этилган. Тошкент шахри Алоқачи нашриёти, 2006 й. 5. Aripov М., Begalov В., Begimqulov U., Mamarajabov М. Axborot texnologiyalari. Toshkent: Noshir, 2009. -368 b. 6. G ulomov S.S., Begalov B.A. Informatika va axborot texnologiyalari. Toshkent, Fan, 2010,-686c. 7. Носиров Б. С++ тилида дастурлаш фанидан электрон ЎУМ., 1- қисм. Қарши. 2015й. 8. ShukurovO. QorayevF. Programmalashdan masalalar to`plami Qarshi. 2008 y. 9. ZiyoNET.uz ЎзбекистанРеспубликасиахбороттаълимпортали. 10. acm.tuit.uz Дастурийечимтўғрилигини автоматик тестловчитизим. 11. inter-vuz.tuit.uz Ахборот ресурслари кутубхонаси 12. lib.tuit.uz ТАТУ электрон кутубхонаси 13. etuit.uz ТАТУ вертуал таълим тизими 14. dls.tuitkf.uz ТАТУ Қарши филиали масофавий таълим тизими

IV.Tushuntirish yozilmasining tuzilishi: 1. Kirish qismi. 2. Asosiy qismi. 3. Xulosalar. Maslahatchilar: F.Q.Qorayev, I.S. Almanov, Sh.A. Murtozayev, R.N. Abdullayev, A.Dusayarov, J.E. Sherov, Ch. M. Xidirova, D.Nurjabova, A.Sh. Xudoynazarov, J.Saidov Kurs ishi rahbari: H. M. Normamatov R E J A

Kirish. I BOB. MURAKKAB MA LUMOTLAR TURLAR. STRUKTURALAR... 1.1. Sinf haqida. 1.2. Strukturalar va massivlar. II.BOB OQIMLI SINFLAR 2.1. Oqimli sinflar ierarxiyasi. 2.2. Oqimli sinflar metodlari. 2.3. Formatlash. 2.4. Matnli oqimlar. 2.5. Fayllar bilan ishlash III AMALIY MASALA 3.1. Masalaning quyilishi va tahlili 3.2. Algoritm blok-sxemasi 3.3. Algoritm dasturiiy kodi va natijalar 3.4 Hulosa 3.5 Foydalanilgan adabiyo KIRISH

Sinf sifatida ma'lumotlar to'plami va ularga boqlangan funktsiyalarni qarash mumkin. Sinflar C++ tili ichki imkoniyatlarini kengaytirib dasturchi oldida amaliyotning murakkab masalalarini echishda ancha qulaylik yaratadi. C++ tilida inkapsulyatsiya printsipi sinf deb ataluvchi nostandart tiplarni(foydalanuvchi tiplarini) qosil qilish orqali qimoya qilinadi. To'qri aniqlangan sinf ob'ektini butun dasturiy modul sifatida ishlatish mumkin. qaqiqiy sinfning barcha ichki ishlari yashirin bo'lishi lozim. To'qri aniqlangan sinfning foydalanuvchilari uning qanday ishlashini bilishi shart emas, ular sinf qanday vazifani bajarishini bilsalar etarlidir. C++ tili ob'ektga mo'ljallangan dasturlash printsiplarini qo'llab quvvatlaydi. Bu printsiplar quyidagilardir: inkapsulyatsiya, merosxo'rlik, polimorfizm Inkapsulyatsiya. Agarda muqandis ishlab chiqarish jarayonida rezistorni qo'llasa, u buni yangidan ixtiro qilmaydi, omborga (magazinga) borib mos parametrlarga muvofiq kerakli detalni tanlaydi. Bu qolda muqandis joriy rezistor qanday tuzilganligiga e'tiborini qaratmaydi, rezistor faqatgina zavod xarakteristikalariga muvofiq ishlasa etarlidir. Aynan shu tashqi konstruktsiyada qo'llaniladigan yashirinlik yoki ob'ektni yashirinligi yoki avtonomligi xossasi inkapsulyatsiya deyiladi. Inkapsulyatsiya yordamida berilganlarni yashirish ta'minlanadi. Bu juda yaxshi xarakteristika bo'lib foydalanuvchi o'zi ishlatayotgan ob'ektning ichki ishlari qaqida umuman o'ylamaydi. qaqiqatan qam, xolodilnikni ishlatishda refrijektorni ishlash printsipini bilish shart emas. Yaxshi ishlab chiqilgan dastur ob'ektini qo'llashda uning ichki o'zgaruvchilarining o'zaro munosabati qaqida qayqurish zarur emas. Yana bir marta takrorlash joizki, rezistorni samarali qo'llash uchun uning ishlash printsipi va ichki qurilmalari qaqidagi ma'lumotlarni bilish umuman shart emas. Rezistorning barcha xususiyatlari inkapsulyatsiya qilingan, ya'ni yashirilgan. Rezistor faqatgina o'z funktsiyasini bajarishi etarlidir.

C++ tilida inkapsulyatsiya printsipi sinf deb ataluvchi nostandart tiplarni(foydalanuvchi tiplarini) qosil qilish orqali qimoya qilinadi. Sinflar qanday tuzilishga ega ekanligi bilan keyinroq tanishib chiqamiz. To'qri aniqlangan sinf ob'ektini butun dasturiy modul sifatida ishlatish mumkin. qaqiqiy sinfning barcha ichki ishlari yashirin bo'lishi lozim. To'qri aniqlangan sinfning foydalanuvchilari uning qanday ishlashini bilishi shart emas, ular sinf qanday vazifani bajarishini bilsalar etarlidir. Merosxo'rlik. Acme Motors kompaniyasi injenerlari yangi avtomobil konstruktsiyasini yaratishga aqd qilishsa, ular ikkita variantdan birini tanlashlari lozim. Birinchisi, avtomobilning konstruktsiyasini boshidan boshlab yangidan ixtiro qilish, ikkinchisi esa mavjud Star modelini o'zgartirishdir. Star modeli qariyb ideal, faqatgina unga turbokompressor va olti tezlanishli uzatma qo'shish lozim. Bosh muqandisikkinchi variantni tanladi. Ya'ni noldan boshlab qurishni emas, balki Star avtomobiliga ozgina o'zgartirish qilish orqali yaratishni tanladi. Uni yangi imkoniyatlar bilan rivojlantirmoqchi bo'ldi. Shuning uchun, yangi modelni Quasar deb nomlashni taklif qildi. Quasar-Star modeliga yangi detallarni qo'shish orqali yaratilgan. C++ tili qam shunday merosxo'rlikni qimoya qiladi. Bu yangi berilganlar tipi (sinf), oldindan mavjud bo'lgan sinfni kengaytirishdan qosil bo'ladi. Bunda yangi sinf oldingi sinfning merosxo'ri deb ataladi. Polimorfizm. Akselatorni bosilishida Star modeliga nisbatan yangi yaratilgan Quasar modelida boshqacharoq amallar bajarilishi mumkin. Quasar modelida dvigatelga yoqilqini sepuvchi injektor sistemasi va Star modelidagi korbyurator o'rniga turbokompressor o'rnatilgan bo'lishi mumkin. Lekin foydalanuvchi bu farqlarni bilishi shart emas. U rulga o'tirgach oddiygina akselatorni bosadi va avtomobilning mos reaktsiyasini kutadi. C++ tili bir xil nomdagi funktsiya turli ob'ekt tomonidan ishlatilganda turli amallarni bajarishi imkoniyatini ta'minlaydi. Bu funktsiya va sinfning polimorfligi

deb nomlanadi. Poli ko'p, morfe shakl degan ma'noni anglatadi. Polimorfizm bu shaklning ko'p xilligidir. Bu tushunchalar bilan keyinchalik batafsil tanishamiz. Sinflar va sinf a'zolari. Yangi tip sinfni e'lon qilish bilan tuziladi. Sinf - bu bir biri bilan funktsional orqali boqlangan o'zgaruvchilar va metodlar to'plamidir. Sinflarga amaliyotdan ko'pgina misollar keltirish mumkin. Masalan, avtomabilni qildirak, eshik, o'rindiq, oyna va boshqa qismlardan tashkil topgan kollektsiya yoki qaydash tezligini oshirish, to'xtatish, burish imkoniyatlariga ega bo'lgan ob'ekt deb tasavvur qilish mumkin. Avtomobil o'zida turli eqtiyot qismlarni va ularni funktsiyalarini inkapsulyatsiya qiladi. Avtomobil kabi sinfda qam inkapsulyatsiya qator imkoniyatlarni beradi. Barcha ma'lumotlar bitta ob'ektda yiqilgan va ularga osongina murojaat qilish, ularni o'zgartirish va ko'chirish mumkin. Sizning sinfingiz bilan ishlovchi dasturiy qismlar, ya'ni mijozlar sizning ob'ektingizdan, uning qanday ishlashidan tashvishlanmasdan, bemalol foydalanishlari mumkin. Sinf o'zgaruvchilarning ixtiyoriy kombinatsiyasidan, shuningdek boshqa sinflar tiplaridan iborat bo'lishi mumkin. Sinfdagi o'zgaruvchilar o'zgaruvchi a'zolar yoki xossalar deyiladi. Sar sinfi o'rindiq, radiopriyomnik, shina va boshqa o'zgaruvchi - a'zolardan iborat. O'zgaruvchi a'zolar faqatgina o'zlarining sinflarida yotadilar. qildirak va motor avtomobilning qanday tarkibiy qismi bo'lsa, o'zgaruvchi a'zolar qam sinfning shunday tarkibiy qismidir. Sinfdagi funktsiyalar odatda o'zgaruvchi a'zolar ustida biror bir amal bajaradilar. Ular funktsiya a'zolar yoki sinf metodlari deb aytiladi. Mashina sinfi metodlari qatoriga Haydash() va Tuxtatish() metodlari kiradi. Mushuk sinfi qayvonni yoshi va oqirligini ifodalovchi o'zgaruvchi a'zolarga ega bo'lishi mumkin. Shuningdek, bu sinfning funktsional qismi Uxlash(), Miyovlash(), SichqonTutish() metodlaridan ibo/rat bo'ladi. Funktsiya a'zolar qam o'zgaruvchi a'zolar singari sinfda yotadi. Ular o'zgaruvchi a'zolar ustida amallar bajaradi va sinfni funktsional imkoniyatlarini aniqlaydi.

Sinflar orasidagi munosabatlar. Murakkab sinflarni qosil qilishda oldin uni tashkil etuvchi oddiyroq sinflarni e'lon qilib, keyin esa ularni birlashtirish orqali sinfni qosil qilish maqsadga muvofiqdir. Masalan, qildirak sinfi, motor sinfi, uzatish korobkasi sinfi va boshqa sinflarni qosil qilib, keyin esa ularni birlashtirish orqali avtomobil sinfini qurish oldimizga turgan masalani echishni ancha osonlashtiradi. Ikkinchi misolni ko'rib chiqamiz. To'qri to'rtburchak chiziqlardan tashkil topgan. Chiziq esa ikki nuqta orqali aniqlanadi. qar bir nuqta x va u koordinatalar yordamida aniqlanadi. To'qri to'rtburchak to'rtta nuqtani birlashtiruvchi to'rtta chiziq yordamida aniqlanadi. Bunda qar bir nuqta grafikda koordinatalarga ega bo'ladi. Shuning uchun oldin qar bir nuqtaning x, u koordinatalarini saqlash uchun Nuqta sinfi e'lon qilingan.. 2.Sinf va obyektning e lon qilinishi Sinfni e'lon qilish. Sinfni e'lon qilish uchun class kalitli so'zi, undan so'ng ochiluvchi figurali qavs, co'ng xossalar va metodlari ro'yxati ishlatiladi. Sinfni e'lon qilish yopiluvchi figurali qavs va nuqtali vergul orqali yakunlanadi. Masalan, Mushuk sinfini quyidagicha e'lon qilish mumkin. Class Mushuk unsigned int itsyosh ; unsigned int itsogirlik ; void Miyovlash() Mushuk sinfini e'lon qilishda xotira zaqiralanmaydi. E'lon qilish, kompilyatorga Mushuk sinfini mavjudligini, qamda unda qanday qiymatlar saqlashi mumkinligi (itsyosh, itsogirlik) va u qanday amallarni bajarishi mumkinligi (Miyovlash() metodi) qaqida xabar beradi. Bundan tashqari, bu e'lon qilish orqali kompilyatorga Mushuk sinfining o'lchami, ya'ni qar bir Mushuk sinfi ob'ekti uchun kompilyator qancha joy ajratishi lozimligi qaqida qam ma'lumot beradi. Masalan,

joriy misolda butun qiymat uchun to'rt bayt talab qilinsa, Mushuk sinfi ob'ekti o'lchovi sakkiz bayt bo'ladi. (itsyosh o'zgaruvchisi uchun to'rt bayt, itsogirlik o'zgaruvchisi uchun to'rt bayt). Miyovlash() metodi xotiradan joy ajratishni talab qilmaydi. Oqimli sinflar ierarxiyasi C++da oqimli sinflar kutubxonasi ikkita asosiy ios va streambuf sinflar asosida tuzilgan, streambuf sinfi kiritish-chiqarish fizik qurilmalari bilan xotirada joylashgan kiritish-chiqarish buferlarni o zaro bo g lanishini va tashkilini ta minlaydi. Streambuf sinfining metodlarini va ma lumotlarini dasturchi ochiq ishlatmaydi. Mavjud bo lgan sinflar asosida yangi sinflarni yaratishda dasturchiga xam sinfga murojaat etish ruxat etilgan. ios sinfi formal kiritish chiqarish va xatolarni tekshirish vositalarga ega. o Standart oqimlar (istream, ostream, iostream) terminal bilan ishlash uchun xizmat qiladi. o Satrli oqimlar (istrstream, ostrstream, strstream) xotirada joylashtirilgan satrli buferlardan kiritish-chiqarish uchun xizmat qiladi. o Faylli oqimlar(ifstream, ofstream, fstream) fayllar bilan ishlash uchun xizmat qiladi. Oqimli sinflar, ularning metodlari va ma lumotlari dasturda murojaat etish ruxsatiga ega bo ladi, qachonki unga kerakli bosh fayl kiritilgan bo lsa. iostream.h ios, ostream, istream uchun. strstream.h strstream, istrstream, ostrstream uchun fstream.h fstream, ifstream, ofstream uchun Quyidagi ob ekt-oqimlar dasturda main funksiyasini chaqirish oldidan avvaldan aniqlangan va ochilgan bo ladi: extern istream cin; //Klaviaturadan kiritish standart oqimi

extern ostream cout; //Ekranga chiqarish standart oqimi extern ostream cerr; //Xatolar xaqidagi xabar chiqarish standart oqimi. Oqimli sinflar metodlari Oqimdan qiritish uchun istream sinfdagi ob ektlar ishlatiladi, oqimga chiqarish uchun - ostream sinfdagi ob ektlar. istream sinfda quyidagi funksiyalar tavsiflangan: istream get (char& S) - istream dan S ga simvolni o qiydi. Xato xolatida S 0XFF qiymatini oladi. int get() - istream dan keyingi simvolni chiqaradi. Faylni oxirini aniqlagach EOFni qaytaradi. istream& get(char* buffer,int size,char delimiter= \n ) - Bu funksiya istreamdan simvollarni chiqaradi va ularni buferga nusxalaydi. Operatsiya yoki faylning oxiriga yetganda, yoki size fayllardan nusxa olgan jarayonda, yoki ko rsatilgan ajratuvchini aniqlaganda to xtaydi. Ajratuvchi esa nusxalanmaydi va streambuf qoladi. O qib bulingan simvollar ketma-ketligi xardoim nul simvol bilan tugatiladi. istream& getline(char* buffer,int size, char delimiter= \n ) - Ajratuvchi oqimdan chiqariladi, lekin, buferga kiritilmaydi. Bu esa satrlarni oqimdan chiqaruvchi asosiy funksiya. O kib chiqilgan simvollar nul simvoli bilan ta momlanadi. istream& read(char* buffer,int size) - Ajratuvchilarni qo llanmaydi va buferga o qilgan simvollar nul simvoli bilan tugamaydi. int peek() - istream dan simvolni chiqarmasdan istreamga qaytaradi. int gcount() - Formatlanmagan oxirgi kiritish operatsiyasi vaqtida o qilgan simvollar sonini qaytaradi.

istream& putback(s) - Agar get doirasidagi streambuf ob ektida bo sh fazo mavjud bo lsa, unda o sha yerga S simvoli joylashtiriladi. istream& ignore(int count=1,int target=eof) - Quyidagilar bajarilmaguncha istream dan simvol chiqarilaveradi: funksiya count simvollarni chiqarmaguncha; target simvoli aniqlanmaguncha; faylni oxiriga yetmaguncha. ostream sinfida quyidagi funksiyalar tavsiflangan: ostream& put(char C) - ostream ga S simvolni joylashtiradi. ostream& write(const char* buffer,int size) - Buferda mavjudlarni ostreamga yozadi. Xatoga duch kelmaguncha yoki size simvollarni nusxasi olmaguncha simvollarni nusxasi olinadi. Bufer formatlanmasdan yoziladi. Nol simvollarga ishlov berish boshqa ishlov berishlardan farq qilmaydi. Quyidagi funksiya ishlov berilmagan (binar va matnli) ma lumotlarni ostreamga uzatadi. ostream& flush() - streambuf buferni olib tashlaydi. Bu funksiyalardan tashqari istream sinfda >>, ostream sinfda esa << operatsiyalar qayta yuklangan. << va >> operatsiyalar ikkita operandga ega. Chap operandi bu istream (ostream) sinfning ob ekti, o ng operandi esa bu dasturlash tilida ko rsatilgan tipdagi ma lumot. Misol: char ch, next, lookahead; while ( cin.get( ch )) switch (ch) case '/': // izoxni peek() yordamida tekshirish // agar xa bo lsa satr qolganini o tkazish next = cin.peek(); if ( next == '/' ) cin.ignore( linesize, '\n' ); break; case '>':

// leksemaga tekshirish >>= next = cin.peek(); if ( next == '>' ) lookahead = cin.get(); next = cin.peek(); if ( next!= '=' ) cin.putback( lookahead ); Formatlash Ushbu ma lumotlar uchun cout, cin, cerr, clog standart potoklarga kiritish << va chiqarish >> operatsiyalarni to g ridan to g ri qo llash qayta uzatish qiymatlarni tashki tavsiflash aytib o tilmagan formatlardan foydalanishga olib keladi. Chiqaruvchi axborotni tavsiflash formatlari va ma lumotlarni qiritishda qabul qilish qoidalari dasturlovchi orqali formatlash bayroqlari yordamida o zgartiriladi. Bu bayroqlar ios bazaviy sinfdagi xamma oqimlardan meros bo lgan. Formatlash bayroqlari aloxida qayd etilgan bitlar ko rinishida amalga oshirilgan va long x_flags sinfning protected komponentasida saqlanadi. Ularga murojaat etish uchun tegishli public funksiyalar mavjud. Formatlash bayroqlardan tashqari ios sinfning kuydagi protected komponentalari ishlatiladi: int x_width chiqarish maydonning minimal eni. int x_precision qiritishda xaqiqiy sonlarning tavsiflash aniqligi (kasr qisimning raqamlar soni); int x_fill chiqarishda to ldiruvchi simvol, probel ko rsatilmagan xolda.

Ushbu maydonlarni qiymatlarini olish (o rnatish) uchun quyidagi funksiyalar komponentalari ishlatiladi: int width(); int width(int); int precision(); int precision(int); char fill(); char fill(char); Agar bir marta cout.fill, yordamida to ldiruvchi simvol tanlansa cout.fill qayta chaqirilmaguncha o zgarmaydi. Manipulyatorlar Manipulyatorlar - oqim ishini modifikatsiyalashini imkon etuvchi maxsus funksiyalar. Manipulyatorlarning xususiyati shundaki, ularni >> yoki << operatsiyalarning o ng operand sifatida foydalanish mumkin. Chap operand sifatida esa xar doimgidak oqim (oqimga ilova) ishlatiladi, xudda shu oqimga manipulyator ta sir etadi. endl Yangi qator simvolini qo yib, bufer ostream bo shatish dec O nlik sanoq tizmida chiqarish (ko zda tutilgan) va hex oct O n oltilik sanoq tizimida chiqarish Sakkizlik sanoq tizimida chiqarish

ws Bo shlik belgisini o tkazish quyidagi manipulyatorlar uchun #include <iomanip> ulash talab etiladi setfill( ch) ch simvol bilan bo sh joyni to ldirish setprecision( n ) n ga teng bo lgan suzuvchi nuqtali sonni chiqarish aniqliligini o rnatish setw( w ) w ga teng bo lgan qiritish yoki chiqarish maydonning enini o rnatish setbase( b ) b asosiga ega bo lgan butun sonlarning chiqarish

Fayllar bilan ishlash Fayllarni ochish va yopish C++da fayllar bilan ishlash ftsream yordamida amalga oshiriladi. kutubxonasidagi biron-bir sinflar Ftsream kutubxonasi fayllarni o qib olish uchun javob beradigan ifstream sinfiga, xamda faylga axobotning yozib olinishiga javob beradigan oftsream sinfiga ega. Biron-bir faylni yozish yoki o qish uchun ochish uchun, oftsream turdagi yoki mos xolda iftsream turdagi o zgaruvchini yaratish kerak. Bunday o zgaruvchini initsiallashda fayl nomi o zgaruvchi nomidan keyin qavs ichida berilgan belgilar massivi ko rinishida uzatiladi. Masalan, C diskida joylashgan text.txt faylini ochish kerak. Buning uchun kodning quyidagi fragmenti qo llanadi: ifstream ifl ( C:\text.txt ); ofstream ofl( C:\text.txt ): char s[20]= C:\text.txt ; ifstream ifj (s); Bu yerda ifl, ifl va ofl - o zgaruvchilar nomi bo lib, ular orqali fayl bilan ma lumotlarni ayirboshlash amalga oshiriladi. Agar fayl xam dasturning bajarilayotgan fayli joylashtirilgan papkada bo lsa, u xolda faylning nomi to liq ko rsatilmasligi mumkin (faqat fayl nomi, unga borish yo lisiz). Bundan tashqari fayl nomini to g ridan-to ri ko rsatish o rniga, uning nomidan iborat belgilar massivlarini ko rsatish mumkin. Faylga yozish Axborotni faylga yozish uchun put komandasidan foydalanish mumkin. Bu komanda orqali standart turdagi yakka o zgaruvchi yoki biron-bir belgilar massivi

uzatiladi. Belgilar massivi uzatilgan xolda xam massivdagi belgilar sonini uzatish kerak. Bundan tashqari << operatoridan foydalanish mumkin. Bu operatordan kodning bitta satrida turli turdagi qiymatlarni uzatgan xolda ko p martalab foydalanish mumkin. Satr xaqida gap ketganda, chiqarish satr oxiri belgisi, ya ni \n paydo bo lishidan oldin amalga oshiriladi. Belgisiz turga ega bo lgan barcha o zgaruvchilar oldin belgilarga o zgartirib olinadi. ifstream ofi ( C:\text.txt ); char a= M ; ofi.put(s); char s[9]= The text ; ofi.put(s,9); ofi<< The text ; int i=100; ofi<<i; char ss[]= The text ; int k=200; ofi<< The text <<k<<ss<<200;

Fayldan o qish Axborotni fayldan o qib olish uchun >> operatoriga ekvivalent bo lgan get funksiyasi qo llanadi. Put funksiyasi kabi, get funksiyasi xam xar qanday o zgaruvchilarning standart turlari yoki / va belgilar massivlari bilan ishlay oladi. Shuningdek get ga xar jixatdan ekvivalent bo lgan getline funksiyasi mavjud: farqi faqat shundaki, getline funksiyasi satr oxiridan oxirgi belgini qaytarmaydi. ifstream ofi ( C:\text.txt ); char s; char ss[9]; s=ofi.get (); cout<<s; ofi.get(s); cout<<s; ofi.getline(ss,9); cout<<ss; ofi>>ss; cout<<ss; Fayl oxirini aniqlash Fayl ichidagisini, fayl oxiri uchramaguncha, o qish dasturdagi oddiy fayl operatsiyasi xisoblanadi. Fayl oxirini aniqlash uchun, dasturlar oqim ob ektining eof funksiyasidan foydalanishlari mumkin. Agar fayl oxiri xali uchramagan bo lsa, bu funksiya 0 qiymatini qaytarib beradi, agar fayl oxiri uchrasa, 1 qimatini qaytaradi. While tsiklidan foydalanib, dasturlar, fayl oxirini topmagunlaricha, qo yida ko rsatilganidek, uning ichidagilarini uzluksiz o qishlari mumkin:

while (! Input_file.eof()) //Operatorlar Ushbu xolda dastur, eof funksiyasi yolg on (0) ni qaytarguncha, tsiklni bajarishda davom etadi. Xuddi shunday, keyingi dastur - WORD_EOF.CPP fayl ichidagisini bitta so z bo yicha bir martada, fayl oxiri uchramaguncha, o qiydi: #include <iostream> #include <fstream.h> void main(void) ifstream input_file("bookinfo.dat"); char word[64] ; while (! input_file.eof()) input_file >> word; cout << word << endl;

Fayllar bilan ishlashda xatolarni aniqlash Xatolarni kuzatib borishda dasturlarga yordam berish uchun, fayl ob ektining fail funksiyasidan foydalanish mumkin. Agar fayl operatsiyasi jarayonida xatolar bo lmagan bo lsa, funksiya yolg on (0) ni qaytaradi. Biroq, agar xato uchrasa, fail funksiyasi xaqiqatni qaytaradi. Masalan, agar dastur fayl ochadigan bo lsa, u, xatoga yo l qo yilganini aniqlash uchun, fail funksiyasidan foydalanishi kerak. Bu quyida shunday ko rsatilgan: ifstream input_file("filename.dat"); if (input_file.fail()) cerr << "Ochilish xatosi FILENAME.EXT" << endl; exit(1); TEST_ALL.CPP dasturi turli xato vaziyatlarni tekshirish uchun fail funksiyasidan foydalanadi: #include <iostream> #include <fstream.h> void main(void) char line[256] ; ifstream input_file("bookinfo.dat") ; if (input_file.fail()) cerr << "Ochilish xatosi BOOKINFO.DAT" << endl; else while ((! input_file.eof()) && (! input_file.fail()))

input_file.getline(line, sizeof(line)) ; if (! input_file.fail()) cout << line << endl; Faylning kerak bo lmay qolganda berkitilishi Dasturni tugallash uchun operatsiya tizimi o zi ochgan fayllarni berkitadi. Biroq, odatga ko ra, agar dasturga fayl kerak bo lmay qolsa, uni berkitishi kerak. Faylni berkitish uchun dastur, quyida ko rsatilganidek, dastur close funksiyasidan foydalanishi kerak: input_file.close (); Faylni yopayotganingizda, dastur ushbu faylga yozib olgan barcha ma lumotlar diskka tashlanadi va ushbu fayl uchun katalogdagi yozuv yangilanadi. O qish va yozish operatsiyalarining bajarilishi Xozirga qadar gap borayotgan dasturlar belgili satrlar utsida operatsiyalar bajarar edi. Dasturlaringiz murakkablashgan sari, extimol, sizga massivlar va tuzilmalarni o qish va yozish kerak bo lib qolar. Buning uchun dasturlar read va write funksiyalaridan foydalanishlari mumkin. read va write funksiyalaridan foydalanishda ma lumotlar o qiladigan yoki yozib olinadigan ma lumotlar buferini, shuningdek buferning baytlarda o lchanadigan uzunligini ko rsatish lozim. Bu quyida ko rsatilganidek amalga oshiriladi:

input_file.read(buffer, sizeof(buffer)); output_file. write(buffer, sizeof(buffer)); Masalan, STRU_OUT.CPP dasturi tuzilma ichidagisini EMPLOYEE.DAT fayliga chiqarish uchun, write funksiyasidan foydalanadi: struct employee char name[64]; int age; float salary; worker = "Djon Doy", 33, 25000.0 ; ofstream emp_file("employee.dat") ; emp_file.write((char *) &worker, sizeof(employee)); Odatda write funksiyasi belgilar satriga ko rsatkich oladi. Xuddi shunday tarzda STRU_IN.CPP dasturi read metodidan xizmatchi xaqidagi axborotni fayldan o qib olish uchun foydalanadi: ifstream emp_file("employee.dat"); emp_file.read((char *) &worker, sizeof(employee)); cout << worker.name << endl; cout << worker.age << endl; cout << worker.salary << endl;

Algoritm Asosiy Funksiya Boshlash _Menyu _outfile Tamomlash N_Menyu funksiya true M E N Y U 1.Ma'lumot kiritish 2. Ma'lumotni kurish 3. Ma'lumotni o`zgartiris 4. Ma'lumotni qidirish b B==exit O qish(); 1. Kiritish (); yozish(); 2. E_chiqarish(); uzgartirish() 3. O`rganishsh(); 4. qidirish()

N_changefile yuq k==true ha yuq l==true ha Qidirilayotgan so`zni kiriting O`zgartiriladigan so`zni kiriting k O`zgartiriladigan so`zni kiriting 1: fk[k_id].nomi=f; 2: fk[k_id].ko`cha=f; 3:fk[K_id].uy_raqa mi=f 4: fk[k_id]. Xonadon_raqami=f; f K==fk[K_id].nomi yuq K==fk[K_id].ko`cha yuq ha Fk[K_id].nomi=f; ha Fk[K_id].ko`cha=f; K==fk[K_id].uy ha yuq Fk[K_id]. uy =f; K==fk[K_id].xonadon ha Fk[K_id]. xonadon

Void N_searchfile M_id=0 Qidirilayotgan so`zni kiriting a I=0; i<a.qidirish; i=i+1; M_id=M_id*10+(a[i]-48) I=1; i<n_id; i=i+1; a==fk[i].nomi ha a==fk[i].fakultet fk[i].id fk[i].nomi fk[i]ko`cha fk[i].uy fk[i].xonadon fk[i].id fk[i].nomi fk[i]ko`cha fk[i].uy fk[i].xonadon ha k=false, K_id=I, L_id=1 k=false, K_id=I, L_id=2 a==fk[i].ko`cha a==fk[i].uy a==fk[i].xonadon fk[i].id fk[i].nomi fk[i]ko`cha fk[i].uy fk[i].xonadon fk[i].id fk[i].nomi fk[i]ko`cha fk[i].uy fk[i].xonadon fk[i].id fk[i].nomi fk[i]ko`cha fk[i].uy fk[i].xonadon ha k=false, K_id=I, L_id=3 k=false, K_id=I, L_id=3 k=false, K_id=I, L_id=3

III AMALIY MASALA #include<iostream> #include<fstream> using namespace std; void qidirish(); void uzgartirish(); void menyu(); void kiritish(); void yozish(); void oqish(); void E_chiqarish(); struct Manzil string nomi, kucha, uy_raqami, xonadon_raqami; int id; ;

int z=1, x, y; haven A[10]; bool k=true, l=false; int main() menu(); write(); return 0; // Menyu funksiyasi void menyu() string b; while(true) cout<<"\t\t\t H E V E N \n"; cout<<"\t1. Ma'lumot kiritish uchun:\n"; cout<<"\t2. Ma'lumotni kurish uchun:\n"; cout<<"\t3. Ma'lumotni o`zgartirish uchun:\n"; cout<<"\t4. Ma'lumotni qidirish uchun:\n"; cin>>b; cout<<"\n \n\n"; if(b=="chiqish" b=="chiqish" b=="chiqish") break; else oqish(); char g=b[0]; switch(g) case '1': kiritish(); yozish(); break; case '2': E_chiqarish(); break; case '3': qidirish(); uzgartirish(); yozish(); break;

case '4': qidirish(); break; default: cout<<"\txato!!!\n \n\n"; break; ; //O`zgartirish funksiyasi void uzgartirish() if(!k) string f, k; if(l) cout<<"qidirilayotgan so`zni kiriting: "; cin>>k; cout<<"o`zgartiriladigan so`zni kiriting: "; cin>>f; if(k==a[x].nomi) A[x].nomi=f; else if(k==a[x].kucha) A[x].kucha=f; else if(k==a[x].uy_raqami) A[x].uy_raqami=f; else if(k==a[x].xonadon_raqami) A[x].xonadon_raqami=f; else cout<<"o`zgartiriladigan so`zni kiriting: "; cin>>f; switch(y)

case 1: A[x].nomi=f; break; case 2: A[x].kucha=f; case 3: A[x].uy_raqami=f; case 4: A[x].xonadon_raqami=f; ; // Qidirish tizimi void qidirish() string a; int M_id=0; cout<<"qidirilayotgan so`zni kiriting: "; cin>>a; for(int i=0; i<a.length(); i++) M_id=M_id*10+(a[i]-48); for(int i=1; i<=z && k; i++) if(a==a[i].nomi) cout<<a[i].id<<" "<<A[i].nomi<<" "<<A[i].kucha<<" "<<A[i].uy_raqami<<" "<<A[i].xonadon_raqami; k=false; x=i; y=1; else if(a==a[i].kucha) cout<<a[i].id<<" "<<A[i].nomi<<" "<<A[i].kucha<<" "<<A[i].uy_raqami<<" "<<A[i].xonadon_raqami; k=false; x=i; y=2; else if(a==a[i].uy_raqami)

cout<<a[i].id<<" "<<A[i].nomi<<" "<<A[i].kucha<<" "<<A[i].uy_raqami<<" "<<A[i].xonadon_raqami; k=false; x=i; y=3; else if(a==a[i].xonadon_raqami) cout<<a[i].id<<" "<<A[i].nomi<<" "<<A[i].kucha<<" "<<A[i].uy_raqami<<" "<<A[i].xonadon_raqami; k=false; x=i; y=4; else if(m_id==a[i].id) cout<<a[i].id<<" "<<A[i].nomi<<" "<<A[i].kucha<<" "<<A[i].uy_raqami<<" "<<A[i].xonadon_raqami; k=false; l=true; x=i; if(k) cout<<"bunday so`z mavjud emas!!!"; cout<<"\n\n"; ; // Ekrandan kiritish funksiyasi void kiritish() cout<<"yozishdan tuxtash uchun 'Chiqish' \n\n nomi kucha uy_raqami xonodon_raqami\n"; while(true) string b; cin>>b; if(b=="chiqish" b=="chiqish" b=="chiqish") break; else A[++z].id=z; A[z].nomi=b; cin>>a[z].kucha>>a[z].uy_raqami>>a[z].xonadon_raqami; cout<<" \n\n";

; // Faylga yozish funksiyasi void yozish() ofstream f_wirat; f_wirat.open("manzil.bd"); for(int i=1; i<=z; i++) f_wirat<<a[i].id<<" "<<A[i].nomi<<" "<<A[i].kucha<<" "<<A[i].uy_raqami<<" "<<A[i].xonadon_raqami<<"\n"; ofstream wirat; wirat.open("manzil.dat"); wirat<<z; ; // Fayldan o`qish funksiyasi void oqish() ifstream read; read.open("manzil.dat"); read>>z; ifstream f_read; f_read.open("manzil.bd"); for(int i=1; i<=z; i++) f_read>>a[i].id>>a[i].nomi>>a[i].kucha>>a[i].uy_raqami>>a[i].xonadon_raqami; ; // Ekranga chiqarish funksiyasi void E_chiqarish()

for(int i=1; i<=z; i++) cout<<a[i].id<<" "<<A[i].nomi<<" "<<A[i].kucha<<" "<<A[i].uy_raqami<<" "<<A[i].xonadon_raqami<<"\n"; ;

Xulosa Men kurs ishimda moqimli shinflar xaqida malumotlar berdim va strukturalarning qurilishiga misoollar keltirdim sinflar bilan ishlashni ko`rsatdim, fayllar bilab ishlshni ko`rib chiqdim Amaliy misolimni qurilishini strukturada ishladim. va blok sxemasini qurdim Men dasturimni dev C++ da bajardim faylar bilan ishladin kiritish chiqarish oqimlaridan foydalandim oqimlisinflarning mazmuni biln tanishdim C++ tilida dastur tuzishda oqimli sinflarning vazifasini o`rgandim