Решения (задачи 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();