Страница 1 из 1

Запись в файл

Добавлено: 05 авг 2024, 14:22
ya

Код: Выделить всё

//sumfile.cpp - - чтение файла
#include <iostream>
#include <fstream> // поддержка файлового ввода-вывода
#include <cstdlib> // поддержка exit ( )
const int SIZE = 60;

int main ( )
{
using namespace std;
char filename [SIZE];
ifstream inFile;
 // объект для обработки файлового ввода
cout << " Enter name of data file: " ; // запрос имени файла данных
cin.getline ( filename , SIZE) ;
inFile.open ( filename ) ;
 // ассоциирование inFile с файлом
if ( ! inFile.is_open ( ) )
 // не удалось открыт ь файл
{
cout << " Could not open the file " << filename << endl ;
cout << " Program terminating . \ n " ;
exit ( EXIT_FAILURE ) ;
}
double value ;
double sum = 0.0 ;
int count = 0;
 // количество прочитанных элементов
inFile >> value ;
 // ввод первого значения
while ( inFile.good ( ) )
 // пока ввод успешен и не до стигнут EOF
{
++count ;
 // еще один элемент прочитан
sum += value ;
 // вычисление текущей суммы
inFile >> value ;
 // ввод следующего значения
}
if (inFile.eo f ( ) )
// достигнут конец файла
cout << " E n d of f i l e reached . \ n " ;
else if (inFile.fail ( ) )
// ввод прекращен из-за несоответствия типа дан ных
cout << " Input terminated bу data mi smatch . \ n " ;
else
// ввод прекращен по неизвестной причине
cout << " Input terminated for unknown reason . \ n " ;
i f ( count == 0)
// данные для обработки отсутствуют
cout << " No data processed . \ n " ;
else
{
cout << " I tems read : " << count << endl ;
 // прочитано элементов
cout << " Sum : " << sum << endl ;
 // сумма
cout << " Average : " << sum / count << endl ;
 // среднее значение
}
inFile.close ( ) ;
 // завершение работы с файлом
return () ;
}