Samarqand davlat unversiteti raqamli texnolagiyalar fakulteti amaliy matematika va informatika yo



Download 65,83 Kb.
bet2/8
Sana10.07.2022
Hajmi65,83 Kb.
#772699
1   2   3   4   5   6   7   8
Bog'liq
Pragrammalash mustaqil ish 2-tarjimasi

tellg() funktsiyasi
Dastur bajaradigan birinchi narsa bu faylda qancha odam borligini aniqlashdir. Buni amalga oshiradi get ko'rsatgichini bayonot bilan fayl oxirida joylashtirish
infile.seekg(0, ios::end); tellg() funktsiyasi get ko'rsatkichining joriy holatini qaytaradi. Dastur bundan foydalanadi fayl oxiridagi ko'rsatgich o'rnini qaytarish funksiyasi; bu faylning uzunligi bayt.
Keyinchalik, dastur bo'lish yo'li bilan faylda nechta odam ob'ekti borligini hisoblab chiqadi odamning kattaligi bo'yicha; keyin natijani ko'rsatadi.
Ko'rsatilgan chiqishda foydalanuvchi fayldagi ikkinchi ob'ektni belgilaydi va dastur hisoblaydi
seekg() dan foydalanib, bu faylda qancha bayt bor. Keyin bir kishini o'qish uchun read() dan foydalanadi shu nuqtadan boshlab ma'lumotlar qiymati. Nihoyat, showData() yordamida ma'lumotlarni ko'rsatadi.
Fayl kiritish/chiqarishda ishlov berish xatosi
Fayllar bilan bog'liq misollarda biz hozirgacha xatolik holatlari bilan shug'ullanmadik.
Xususan, biz o'qish uchun ochgan fayllar allaqachon mavjud deb taxmin qildik va ular yozish uchun ochilgan bo'lishi mumkin yoki unga qo'shilishi mumkin. Biz ham yo'q deb taxmin qildik o'qish yoki yozish paytida muvaffaqiyatsizliklar.
Haqiqiy dasturda bunday taxminlarni tekshirish muhimdir
va agar ular noto'g'ri bo'lsa, tegishli choralarni ko'rish. Siz mavjud deb hisoblagan fayl bo'lmasligi mumkin, yoki yangi fayl uchun foydalanishingiz mumkin deb hisoblagan fayl nomi allaqachon mavjud faylga tegishli bo'lishi mumkin.
Yoki diskda joy qolmasligi yoki diskda disk yo'qligi va hokazo.
Xatolarga munosabat
Bizning keyingi dasturimiz bunday xatolar eng qulay tarzda qanday hal qilinishini ko'rsatadi. Barcha disk operatsiyalari bajarilgandan keyin tekshiriladi.

Agar xatolik yuz bergan bo'lsa, xabar chop etiladi va dastur tugaydi. Qaytish qiymatini tekshirish uchun avval muhokama qilingan texnikadan foydalandik


uning xato holatini aniqlash uchun ob'ektning o'zidan. Dastur chiqish oqimi ob'ektini ochadi, yozish() ga bitta chaqiruv bilan butun sonlar massivini yozadi va ob'ektni yopadi. Keyin u kirish oqimi ob'ektini ochadi va read() ga chaqiruv bilan butun sonlar qatorini o'qiydi.
// rewerr.cpp
// handles errors during input and output
#include // fayl oqimlari uchun
#include
using namespace std;
#include // chiqish uchun()
const int MAX = 1000;
int buff[MAX];
int main()
{
for(int j=0; jbuff[j] = j;
ofstream os; // chiqish oqimini yaratish
// uni oching
os.open(“a:edata.dat”, ios::trunc | ios::binary);
if(!os)
{ cerr << “Could not open output file\n”; exit(1); }
cout << “Writing...\n”; // unga bufer yozing
os.write( reinterpret_cast(buff), MAX*sizeof(int) );
if(!os)
{ cerr << “Could not write to file\n”; exit(1); }
os.close(); // uni yopish kerak
for(j=0; jbuff[j] = 0;
ifstream is; // kirish oqimini yaratish is.open(“a:edata.dat”, ios::binary);
if(!is)
{ cerr << “Could not open input file\n”; exit(1); }
cout << “Reading...\n”; // faylni o'qish
is.read( reinterpret_cast(buff), MAX*sizeof(int) );
if(!is)
{ cerr << “Could not read from file\n”; exit(1); }
for(j=0; jif( buff[j] != j )
{ cerr << “\nData is incorrect\n”; exit(1); }
cout << “Data is correct\n”;
return 0;
}


Download 65,83 Kb.

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




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish