Вывести информацию о рейсах, которыми можно воспользоваться для прибытия в пункт назначения раньше заданного времени - C (СИ)

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

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

Вот собственно сама задача:

В программе создать структуру и файл структур, содержащий указанные в задании сведения... В справочной автовокзала хранится расписание движения автобусов. Для каждого рейса указаны: - номер рейса; - тип автобуса; - пункт назначения; - время отправления; - время прибытия на конечный пункт; Вывести информацию о рейсах, которыми можно воспользоваться для прибытия в пункт назначения раньше заданного времени.

Вот что я смог написать, но мне кажется тут чепуха и я запутался и больше ничего не выходит ....
include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <iostream>
using namespace std;
 
struct avto{
    int n[10];
    char type[20];
    char konets[25];
    int timeot[20];
    int timepr[20];
} bus;
 
FILE *Fbus;
int main()
{
    int i,j, size = sizeof(avto), N; float s;
    system("cls");
    Fbus = fopen("bus.txt","wt");
    puts("Vedi kol-vo zapisei:");
 
    scanf("%d", &N);
    for (j = 0; j<N; j++) /* let’s create file */
    {
        puts(" vvedi nomer reisa:"); 
        scanf("%d", bus.n);
        puts(" vvedi type avttobysa:");
            scanf("%s", bus.type);
            puts(" vvedi pynkt naznachenia:");
            scanf("%s", bus.konets);
            puts(" vvedi vrema otpravlenia:");
            scanf("%d", bus.timeot);
            puts(" vvedi vrema pribitiya:");
            scanf("%d", bus.timepr);
         fwrite(&bus, size, 1, Fbus);
    } /* END of FOR */   
    fclose(Fbus);
 
    Fbus = fopen("bus.txt", "rt");
    /*  читать из файла  */ 
    if (!Fbus) { puts("can’t open it!"); exit(1); }
    for (j = 0; j<N; j++) { 
        fread(&bus, 1, size, Fbus); 
        printf(" %d %s %s %d %d \n", bus.n, bus.type,bus.konets,bus.timeot,bus.timepr);
    }  /* END of FOR */
    fclose(Fbus); 
    system("pause"); 
    return 0;
}

Решение задачи: «Вывести информацию о рейсах, которыми можно воспользоваться для прибытия в пункт назначения раньше заданного времени»

textual
Листинг программы
typedef struct
{
    int h, m, s;  // часы минуты секунды
}TIME_AUTO;
typedef struct
{
  int number;
  char type[21], dest[21];
  TIME_AUTO departure, arrival;
 
}DATA;

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

  1. Код определяет две структуры:
    • TIME_AUTO, которая содержит поля h, m, s для представления времени в часах, минутах и секундах.
    • DATA, которая содержит поля number, type, dest, departure и arrival.
      • Поле number является целочисленным значением, представляющим номер рейса.
      • Поля type и dest являются строками длиной 21 символ, которые содержат соответственно тип самолета и пункт назначения.
      • Поле departure содержит объект типа TIME_AUTO, представляющий время отправления самолета.
      • Поле arrival содержит объект типа TIME_AUTO, представляющий время прибытия самолета.
  2. В коде предполагается, что есть массив данных, который содержит информацию о рейсах.
  3. Задано время, раньше которого нужно прибыть в пункт назначения.
  4. Код выполняет следующие действия:
    • Инициализирует переменную arrival_time, содержащую время прибытия, используя заданное время.
    • Перебирает каждый элемент массива данных.
    • Для каждого элемента выполняет следующие действия:
      • Вычисляет разницу между временем отправления и временем прибытия.
      • Если разница меньше или равна нулю, то это означает, что рейс уже прибыл в пункт назначения, и код переходит к следующему элементу.
      • Если разница больше нуля, то это означает, что рейс еще не прибыл в пункт назначения, и код выводит информацию о рейсе.
    • Код выводит информацию о рейсе, используя поля number, type, dest, departure и arrival структуры DATA.
  5. Код завершается, когда все элементы массива данных были проверены.

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


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

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

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