Работа с файлом - 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, что означает успешное выполнение программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д