Ma’ruza 15. Fayildan o’qish yozish funksiyalari. Reja



Download 311,71 Kb.
Pdf ko'rish
bet4/7
Sana20.06.2022
Hajmi311,71 Kb.
#678904
1   2   3   4   5   6   7
Bog'liq
fayildan o\'qish va yozish fungsialari

Masala. 
Haqiqiy sonlar yozilgan f fayli berilgan. f fayldagi elementlarning 
o‘rta arifmetigidan kichik bo‘lgan elementlar miqdorini aniqlansin.
Masalani yechish uchun f faylini yaratish va qaytadan uni o‘qish uchun ochish 
zarur bo‘ladi. Yaratilgan faylning barcha elementlarining yig‘indisi s 
o‘zgaruvchisida hosil qilinadi va u fayl elementlari soniga bo‘linadi. Keyin f fayl 
ko‘rsatkichi fayl boshiga olib kelinadi va elementlar qayta o‘qiladi va s qiymatidan 
kichik elementlar soni - k sanab boriladi.
Faylni yaratish va undagi o‘rta arifmetikdan kichik sonlar miqdorini 
aniqlashni alohida funksiya ko‘rinishida aniqlash mumkin.
Dastur matni:
#include
#include
#include
int Fayl_Yaratish()
{
FILE * f;
double x;
// f fayli yangidan hosil qilish uchun ochiladi
if ((f=fopen("Sonlar.dbl", "wb+"))==NULL)return 0;
char *satr=new char[10];
int n=1;
do
{cout<<"Sonni kiriting(bo'sh satr tugatish): ";
gets(satr);
if(strlen(satr))
{x=atof(satr);
fwrite(&x,sizeof(double),n,f);
}
} while(strlen(satr));// satr bo‘sh bo‘lmasa, 
// takrorlash


fclose(f);
return 1;
}
int OAdan_Kichiklar_Soni()
{
FILE * f;
double x;
f=fopen("Sonlar.dbl", "rb+");
double s=0; // s - 
f fayl elementlari yig‘indisi 
while (!feof(f))
{
if (fread(&x,sizeof(double),1,f)) s+=x;
}
long sonlar_miqdori=ftell(f)/sizeof(double);
s/=sonlar_miqdori; // s- 
o‘rta arifmetik 
cout<<"Fayldagi sonlar o'rta arifmetiki="<fseek(f,SEEK_SET,0); // fayl boshiga kelinsin
int k=0;
while (fread(&x,sizeof(x),1,f))
{
k+=(x//soni
}
fclose(f);
return k;
}
int main()
{
if(Fayl_Yaratish())


{
cout<<"Sonlar.dbl faylidagi\n";
int OA_kichik=OAdan_Kichiklar_Soni();
cout<<"O'rta arifmetikdan kichik sonlar miqdori=";
cout<}
else // f faylini yaratish muvaffaqiyatsiz bo‘ldi. 
cout<<"Faylini ochish imkoni bo'lmadi!!!";
return 0;
}
Dasturda bosh funksiyadan tashqari ikkita funksiya aniqlangan:
int Fayl_Yaratish() - diskda «Sonlar.dbl» nomli faylni yaratadi. Agar faylni 
yaratish muvaffaqiyatli bo‘lsa, funksiya 1 qiymatini, aks holda 0 qiymatini 
qaytaradi. Faylni yaratishda klaviaturadan sonlarning satr ko‘rinishi o‘qiladi va 
songa aylantirilib, faylga yoziladi. Agar bo‘sh satr kiritilsa, sonlarni kiritish jarayoni 
to‘xta-tiladi va fayl yopiladi;
int OAdan_Kichiklar_Soni() - diskdagi «Sonlar.dbl» nomli fayli o‘qish uchun 
ochiladi va fayl elementlarining s o‘rta arifmetigidan kichik elementlari soni k 
topiladi va funksiya natijasi sifatida qaytariladi.
Bosh funksiyada faylni yaratish muvaffaqiyatli kechganligi tekshiriladi va 
shunga mos xabar beriladi.

Download 311,71 Kb.

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




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2025
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