Дан текстовый файл. Напечатать символы с s1 по s2 из строки с номером k - C (СИ)

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

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

Дан текстовый файл. Напечатать символы с s1 по s2 из строки с номером k (эти данные вводятся с клавиатуры)

Решение задачи: «Дан текстовый файл. Напечатать символы с s1 по s2 из строки с номером k»

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <string.h>
  3. int main()
  4. {
  5.     FILE *fin;
  6.     int i, k, n_line = 0, s1, s2;
  7.     char str[80];
  8.     fin = fopen("input.txt", "r");
  9.     puts("Input line number:");
  10.     scanf("%d", &k);
  11.     puts("Input number symbols 1 and 2");
  12.     scanf("%d%d", &s1, &s2);
  13.     if(s1 > s2 || s2 > 79){
  14.         puts("incorrect input,try again");
  15.         return 1;
  16.     }
  17.     while(fgets(str, 80, fin)){
  18.         n_line++;
  19.         if(n_line == k){
  20.             for(i = s1 - 1; i < s2 - 1 && i < strlen(str) - 1; i++)
  21.                 printf("%c", str[i]);
  22.                 break;
  23.         }
  24.     }
  25.     if(n_line < k){
  26.         printf("Line not found,try again");
  27.         return 1;
  28.     }
  29.     fclose(fin);
  30.     return 0;
  31. }

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

  1. Подключаются необходимые библиотеки для работы с файлами и строками
  2. Объявляются переменные: — FILE *fin - указатель на файл, который будет использоваться для чтения — int i, k, n_line = 0, s1, s2; - целочисленные переменные для хранения номеров и символов — char str[80]; - массив символов для хранения строки из файла
  3. Открывается файл input.txt для чтения
  4. Выводится сообщение для ввода номера строки
  5. Пользователь вводит номер строки и сохраняется в переменной k
  6. Выводится сообщение для ввода символов 1 и 2
  7. Пользователь вводит символы и сохраняются в переменных s1 и s2
  8. Проверяется корректность введенных данных (s1 <= s2 <= 79)
  9. В цикле while считываются строки из файла до тех пор, пока не будет найдена нужная строка
  10. Если найдена нужная строка, то в цикле for выводятся символы от s1 до s2
  11. Если нужная строка не найдена, выводится сообщение об ошибке
  12. Закрывается файл
  13. Возвращается 0, если все успешно, иначе возвращается 1

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


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

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

8   голосов , оценка 3.875 из 5

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

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

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