Чтение из файла пяти последних строк - C (СИ)
Формулировка задачи:
Добрый вечер!
Есть один модуль , который отвечает за ввод последних 5 результатов программы.
(печатает , последние 5 строчек файла)
Помогите разобраться.
язык Си
//Запись последних результатов в в базу(файл) void set_last_res(float val) { FILE *fin = fopen("base", "a+"); fprintf(fin, "%g\n", val); fclose(fin); } //Вывод последних результатов на экран void show_last_res(void) { FILE* fout = fopen("base", "a+"); int i = 0; //а именно непонятно ниже. char base[50][20]; while(!feof(fout)) { if(!feof(fout)) fscanf(fout, "%s", base[i++]); } i = i - 2; if(i >= 5) { for(int j = 4; j >= 0; --j) printf("%s\n", base[i--]); } else { while(i >= 0) printf("%s\n", base[i--]); } fclose(fout); }
Решение задачи: «Чтение из файла пяти последних строк»
textual
Листинг программы
if(i >= 5) { for(int j = 4; j >= 0; --j) printf("%s\n", base[i--]); } else { while(i >= 0) printf("%s\n", base[i--]); }
Объяснение кода листинга программы
В данном коде выполняется следующая последовательность действий:
- Проверяется условие
i >= 5
. - Если условие истинно, то выполняется цикл
for
с переменнойj
от 4 до 0. В каждой итерации цикла выводится значение переменнойbase[i--]
с помощью функцииprintf
, и уменьшается значениеi
на 1. - Если условие
i >= 5
ложно, то выполняется циклwhile
с переменнойi
от 0 до 0. В каждой итерации цикла выводится значение переменнойbase[i--]
с помощью функцииprintf
, и уменьшается значениеi
на 1. Список действий: - Проверка условия
i >= 5
- 1 - Если условие истинно, то:
- Цикл
for
с переменнойj
от 4 до 0 - Вывод значения переменной
base[i--]
с помощью функцииprintf
- Уменьшение значения
i
на 1 - Если условие
i >= 5
ложно, то: - Цикл
while
с переменнойi
от 0 до 0- Вывод значения переменной
base[i--]
с помощью функцииprintf
- Уменьшение значения
i
на 1 Вывод:
- Вывод значения переменной
- Цикл
- Значение переменной
base[4]
выводится на экран. - Значение переменной
base[3]
выводится на экран. - Значение переменной
base[2]
выводится на экран. - Значение переменной
base[1]
выводится на экран. - Значение переменной
base[0]
выводится на экран.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д