Нужно последовательно выводить текст разделённый по абзацам из файла - C (СИ)

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

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

Делаю тест в консоли. Выводится первый вопрос из файла, пользователь вводит ответ- выводится следующий, из этого же файл .

Решение задачи: «Нужно последовательно выводить текст разделённый по абзацам из файла»

textual
Листинг программы
FILE *f=fopen("Тестик","r");
char s[255]; int i,j,c=0;
while(!!feof(f)){
 fscanf(f,"%i %255s",&i,&s);
 printf("Вопрос: %s",s);
 scanf("%d",&j);
 c+=(j==i);
}
fclose(f);
 printf("Правильных ответов: %d",c);

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

  1. FILE *f=fopen(Тестик,r); - Открывает файл Тестик для чтения.
  2. char s[255]; int i,j,c=0; - Объявляет переменные i, j и c, а также массив s для хранения строки.
  3. while(!!feof(f)){ - Начинает цикл, который будет выполняться до тех пор, пока не достигнет конца файла.
  4. fscanf(f,%i %255s,&i,&s); - Считывает из файла целочисленное значение и строку, сохраняет их в переменных i и s соответственно.
  5. printf(Вопрос: %s,s); - Выводит на экран строку s, представляющую вопрос.
  6. scanf(%d,&j); - Считывает с клавиатуры целочисленное значение и сохраняет его в переменной j.
  7. c+=(j==i); - Увеличивает значение переменной c на единицу, если введенное значение j равно считанному из файла значению i, иначе оставляет без изменений.
  8. fclose(f); - Закрывает файл.
  9. printf(Правильных ответов: %d,c); - Выводит на экран количество правильных ответов.

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


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

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

5   голосов , оценка 4.2 из 5
Похожие ответы