Kompyuter injinering ” fakulteti 103-guruh talabasi eshnazarov Rustam ning dasturlash fanidan mustaqil ishi №8


Download 0.97 Mb.
bet3/7
Sana11.02.2023
Hajmi0.97 Mb.
#1189947
1   2   3   4   5   6   7
Bog'liq
2 5327958925562086610

double sum = 0;
double number;
while(!input.eof()) // Agar fayl so`ngi bo`lmasa davom ettirish
{
input >> number; // Ma’lumotni o`qish
if (input.eof()) break;
cout << number << " "; // Ma’lumotni ko`rsatish
sum += number;
}
Bu muammoni chetlab o`tishningikkinchi yo`li:
while(input >> number) // Xatolik berguncha ma’lumotni o`qish
{
cout << number << " "; // Ma’lumotni ko`rsatish
sum += number;
}
input >> number ko`rsatmasi aslida operator funksiyani chaqiradi. Operator funksiyalarga bir nechta ma’ruzalardan so`ng batafsil to`xtalamiz. Bu funksiya agar son o`qilsa, ob’yekt qaytaradi, boshqacha qilib aytganda u NULL ni qaytaradi. NULL – bu 0 qiymatli o`zgarmas. U sikl yoki shartli ko`rsatmalarda shart sifatidakelganda, C++ uni avtomatik tarzda false qiymatli bool turiga o`tkazadi. Agar kirish oqimidan son o`qilmasa, input >> number ko`rsatma NULL ni qaytaradi va siklni to`xtatadi.
8.3-kodli ro`yxat fayldan ma’lumotlarni o`qib, ularning yig`indisini chop etuvchi dasturning to`liq tarkibini taqdim etadi:
8.3-kodli ro`yxat. TestEndOfFile.cpp
1 #include
2 #include
3 using namespace std;
4
5 int main()
6 {
7 // Faylni ochish
8 ifstream input("natija.txt");
9
10 if(input.fail())
11 {
12 cout << "Fayl mavjud emas!"<< endl;
13 cout << "Dasturdan chiqish ..."<< endl;
14 return 0;
15 }
16
17 double sum = 0;
18 double number;
19 while(input >> number) // Agar fayl so`ngi bo`lmasa davom ettirish
20 {
21 cout << number << " "; // Ma’lumotni ko`rsatish
22 sum += number;
23 }
24
25 input.close();
26
27 cout << "\nSum = "<< sum << endl;
28
29 return 0;
30 }
Natija:

95.5 6 70.2 1.55 12 3.3 12.9 85.6
Sum = 287.05

Dastur siklda ma’lumotlarni o`qiydi (19-23-qatorlar). Sikl har bir takrorlanishda bitta sonni o`qiydi va uni sum ga qo`shadi. Kiritish fayloso`ngiga kelganida sikl to`xtaydi.





Download 0.97 Mb.

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




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