Описать структуру с именем Train - C (СИ) (151371)

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

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

Описать структуру с именем TRAIN, содержащую следующие поля: название пункта назначения; номер поезда; время отправления. Написать программу, выполняющую следующие действия: ввод с клавиатуры данных в массив, состоящий из восьми элементов типа TRAIN (записи должны быть упорядочены по номерам поездов); вывод на экран информации о поезде, номер которого введен с клавиатуры (если таких поездов нет, вывести соответствующее сообщение). Вот код программы но у меня много чего не работает прошу исправить ошибки
#include <stdio.h>
#include <locale.h>
#include <string.h>
#include <stdlib.h>
 
int main()
{
    struct TRAIN
    {
        char title[31];
        char nomber[6];
        char  time[10];
    };
 
    struct TRAIN mas[3];
 
    for(int i=0; i<3; i++)
    {
 
        printf("Poezd nomer %i\n",i+1);
        printf("Vvedite punkt naznacheniya: ");
        gets(mas[i].title);
        printf("nomer poezda: ");
        gets(mas[i].nomber);
        printf("Vremya otpravki: ");
        gets(mas[i].time);
    }
 
    for(int i=0; i<2; i++)
        for(int j=0; j<2; j++)
            if(mas[j].nomber>mas[j+1].nomber)
            {
                struct TRAIN tmp=mas[j];
                mas[j]=mas[j+1];
                mas[j+1]=tmp;
            }
    printf("otsortirovanaya baza poezdov \n");
    for(int i=0; i<3; i++)
        printf("%30s %10s %30s\n", mas[i].title, mas[i].nomber, mas[i].time);
    char x;
    printf("nimer poezda dlya poiska: ");
    scanf("%s",&x);
    printf("rezylt:\n");
    int k=0;
    for(int i=0; i<3; i++)
        if(mas[i].nomber==x)
        {
            printf("%8s %8s %8s\n", mas[i].title, mas[i].nomber, mas[i].time);
            printf("\n");
            k=1;
        }
    if(k==0)
        printf("poezd ne nayden\n");
    return 0;
}

Решение задачи: «Описать структуру с именем Train»

textual
Листинг программы
#include <stdio.h>
#include <string.h>
 
typedef struct
{
    char name[80];
    int num;
    int time[2];
} TRAIN;
 
 
int main(void)
{
 
    const int N = 3;
    TRAIN notes[N];
    // Ввод данных структуры
 
    for(int i = 0; i < N; i++)
    {
        printf("Input nazvanie punkta =>");
        gets(notes[i].name);
        printf("Input nomer poezda =>");
        scanf("%d",¬es[i].num);
        printf("Input vremy otpravleniy h:m =>");
        scanf("%d:%d", ¬es[i].time[0], ¬es[i].time[1]);
        fflush(stdin);
    }
 
 
    for(int i=0; i<N; i++)
        for(int j=0; i<N; j++)
    {
        if(strcmp(notes[i].name,notes[j].name) < 0)
        {
            TRAIN temp = notes[i];
            notes[i] = notes[j];
            notes[j] = temp;
        }
    }
 
    for(int i = 0; i < N; i++)
        printf("%s %d %d:%d\n", notes[i].name, notes[i].num, notes[i].time[0], notes[i].time[1]);
 
    int num = 0;
    printf("Input nomer poezda =>");
    scanf("%d",&num);
    int isNum = 0;
    for(int i = 0; i < N; i++)
        if(notes[i].num == num)
        {
            isNum = 1;
            printf("%s %d:%d\n", notes[i].name, notes[i].time[0], notes[i].time[1]);
            break;
        }
    if(isNum==0)
        printf("Ne naideno");
    return 0;
}

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

  1. Тип программы: Многопоточный (предположительно)
  2. Название структуры: Train
  3. Переменные структуры:
    • name (строка, 80 символов)
    • num (целое число)
    • time (массив из 2 целых чисел)
  4. Ввод данных структуры:
    • Ввод названия пункта
    • Ввод номера поезда
    • Ввод времени отправления (часы:минуты)
  5. Сортировка массива структур:
    • Сравнение названий пунктов
    • Перестановка элементов массива
  6. Вывод данных структуры:
    • Вывод названия пункта
    • Вывод номера поезда
    • Вывод времени отправления
  7. Поиск номера поезда:
    • Ввод номера поезда
    • Сравнение номеров поездов
    • Вывод найденного номера поезда (если есть)

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


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

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

10   голосов , оценка 4.3 из 5