Иллюстрированный самоучитель по С++ для начинающих

Решения (задачи 230-239)

Задача 238.

// Вычисляет среднее арифметическое чисел,
// находящихся в файлах
#include "stdio.h" #include "conio.h"
#define FNAME "a: Wnumbers .txt\0" // имя файла void main()
char fname [20] = FNAME;
FILE *in; // текстовый файл
int a; // число
int n = 0; // количество чисел
int sum =0; // сумма чисел
float sr; // среднее арифметическое
puts("Хп Вычисление среднего арифметического");
printf("чисел, находящихся в файле %s", fname);
// Открыть файл в режиме чтения (г) текста (t)
if ((in = fopen(fname, "rt")) = NULL)
printf("Ошибка открытия файла для чтения");
getch();
return;
while (!feof(in)) {
fscanf(in,"%i
sum += a;
&a);
fclose(in); // закрыть файл
sr = (float) sum / n;
printf("Введено чисел: %i\n", n);
printf("Сумма чисел: %i\n", sum);
printf("Среднее арифметическое: %3.2f", sr);
puts("\n Для завершения нажмите Enter");
getch();

Задача 239.

// Выводит на экран содержимое файла,
// имя которого указано пользователем
#include "stdio.h" #include "conio.h" #include "string.h"
#define MAXLEN void main()
// максимальная длина строки в файле
char fname [40]; // имя файла
FILE *in;
// текстовый файл
char st[MAXLEN+2]; // строка, прочитанная из файла
int n = 0; // кол-во строк, выведенных на экран
char key; // клавиша, нажатая пользователем
puts("Просмотр текстового файла");
puts("Введите полное имя файла и нажмите Enter");
printf(" › ");
scanf("%s",Sfname);
// Открыть файл в режиме чтения (г) текста (t)
if ((in -fopen(fname, "rt")) == NULL)
{
printf("Ошибка при обращении к файлу %s\n", fname);
getch ();
return;
clrscr();
while (!feof(in))
{
fgets(st, MAXLEN, in);
printf("%s", st);
if (++n > 21)
ntf("Хп Для продолжения нажмите");
printf("любую клавишу…");
key = getch();
gotoxy(1,wherey()); // курсор в начало текущей
// строки delline; // удалить сообщение "Для
// продолжения…" n = 0;
fclose(in); // закрыть файл
printf("Хп Для завершения нажмите Enter");
getch();
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.