Работа с файлом - C (СИ)
Формулировка задачи:
Есть задача которая работает через консоль. Мне нужно сделать так, чтобы она работала еще и через файл. Помогите пожалуйста.
Листинг программы
- #include <stdio.h>
- #include <locale.h>
- main()
- {
- setlocale(LC_ALL, "Rus");
- int h[4], m[4], t[4];
- int r;
- int rh;
- int rm;
- int i;
- printf("Введите время вылета и прилета в формате hh:mm\n");
- for(i = 0; i < 4; i++)
- {
- scanf("%d:%d", &h[i], &m[i]);
- t[i] = (h[i]*60 + m[i]);
- if(h[i]>=24)
- {
- printf("Недопустимое значение\n");
- return 0;
- }
- if(m[i]>60)
- {
- printf("Недопустимое значение\n");
- return 0;
- }
- }
- if(t[0]>t[1])
- t[1] += 24*60;
- if(t[2]>t[3])
- t[3] += 24*60;
- r = ((t[1] - t[0] + t[3] - t[2]) / 2);
- rh = (r%(24*60)) / 60;
- rm = r % 60;
- printf("Время полета: %2.2d:%2.2d\n", rh, rm);
- return 0;
- }
Решение задачи: «Работа с файлом»
textual
Листинг программы
- #include <stdio.h>
- #include <time.h>//Не понятна для чего подключена эта библиотека?
- int main(void)
- {
- setlocale(LC_ALL, "Rus");
- int h[4], m[4], t[4];
- int r;
- int rh;
- int rm;
- int i;
- FILE *fIn = NULL;
- fIn = fopen("input.txt", "r");
- printf("Введите время вылета и прилета в формате hh:mm\n");
- for(i = 0; i < 4; i++)
- {
- fscanf(fIn, "%d:%d", &h[i], &m[i]);
- t[i] = (h[i]*60 + m[i]);
- if(h[i]>=24)
- {
- printf("Недопустимое значение\n");
- return 0;
- }
- if(m[i]>60)
- {
- printf("Недопустимое значение\n");
- return 0;
- }
- }
- if(t[0]>t[1])
- t[1] += 24*60;
- if(t[2]>t[3])
- t[3] += 24*60;
- r = ((t[1] - t[0] + t[3] - t[2]) / 2);
- rh = (r%(24*60)) / 60;
- rm = r % 60;
- printf("Время полета: %2.2d:%2.2d\n", rh, rm);
- fclose(fIn);
- return 0;
- }
Объяснение кода листинга программы
- Подключение стандартных библиотек для работы с файлами и временем
- Объявление переменных для хранения времени вылета и прилета
- Объявление переменных для хранения разницы во времени между вылетом и прилетом
- Открытие файла
input.txt
для чтения - Получение времени вылета и прилета с помощью функции fscanf
- Расчет времени в пути с учетом разницы в часах и минутах
- Проверка корректности введенных значений времени вылета и прилета
- Расчет разницы во времени между вылетом и прилетом
- Расчет времени полета с учетом разницы в часах и минутах
- Закрытие файла
input.txt
- Вывод результата на экран
- Возврат 0, что означает успешное выполнение программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д