Дан текстовый файл. Выяснить, имеется ли в нем строка, которая начинается с данной буквы - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Дан текстовый файл. Выяснить, имеется ли в нем строка, которая начинается с данной буквы. Если да, то напечатать ее.

Решение задачи: «Дан текстовый файл. Выяснить, имеется ли в нем строка, которая начинается с данной буквы»

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <locale.h>
  3. int main(void){
  4.     setlocale(LC_ALL,"RU");
  5. FILE *file;
  6.     int c=0,a;
  7.     long int d;
  8.     char bukva;
  9. if ((file = fopen("iii.txt", "r"))==NULL) {
  10. printf("Невозможно открыть файл!\n");
  11. return(0);
  12.                                                       }
  13.     printf("Введите букву: ");
  14. scanf("%c",&bukva);
  15. while ((a = fgetc (file)) != EOF) {
  16. c++;
  17.         if (c == 1) {
  18.             if(a==bukva){
  19.     printf("%c", a);
  20.                 while((a=fgetc(file))!='\n'){
  21.             printf("%c", a);
  22.                                    }
  23.                                }
  24.                         }
  25. if(a=='\n')c=0;
  26.        
  27.                                             }
  28.     printf("\n");
  29.     fclose(file);
  30. return(0);
  31. }

Объяснение кода листинга программы

  1. Включаем необходимые заголовочные файлы для работы с файлами и вводом-выводом
  2. Устанавливаем локаль на русскую, чтобы корректно работать с русскими символами
  3. Объявляем переменные: файловый указатель, счётчик строк, переменную для хранения символа, а также переменную для хранения целочисленного значения, которое будет использоваться для чтения символов из файла
  4. Проверяем, удалось ли открыть файл. Если нет, выводим сообщение об ошибке и завершаем программу
  5. Запрашиваем у пользователя ввод буквы, с которой необходимо начать поиск строки в файле
  6. Устанавливаем счётчик строк в 0
  7. В цикле, пока не достигнем конца файла, читаем каждый символ. Если это новая строка и предыдущий символ был равен введённой букве, то выводим текущий символ, а затем с помощью функции fgetc читаем все символы до новой строки и выводим их
  8. Если текущий символ — новая строка, сбрасываем счётчик строк в 0
  9. После завершения чтения файла закрываем его и завершаем программу

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.929 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы