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

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

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

Описать структуру с именем TRAIN, содержащую следующие поля: название пункта назначения; номер поезда; время отправления. Написать программу, выполняющую следующие действия: ввод с клавиатуры данных в массив, состоящий из восьми элементов типа TRAIN (записи должны быть упорядочены по номерам поездов); вывод на экран информации о поезде, номер которого введен с клавиатуры (если таких поездов нет, вывести соответствующее сообщение). Вот код программы но у меня много чего не работает прошу исправить ошибки
Листинг программы
  1. #include <stdio.h>
  2. #include <locale.h>
  3. #include <string.h>
  4. #include <stdlib.h>
  5. int main()
  6. {
  7. struct TRAIN
  8. {
  9. char title[31];
  10. char nomber[6];
  11. char time[10];
  12. };
  13. struct TRAIN mas[3];
  14. for(int i=0; i<3; i++)
  15. {
  16. printf("Poezd nomer %i\n",i+1);
  17. printf("Vvedite punkt naznacheniya: ");
  18. gets(mas[i].title);
  19. printf("nomer poezda: ");
  20. gets(mas[i].nomber);
  21. printf("Vremya otpravki: ");
  22. gets(mas[i].time);
  23. }
  24. for(int i=0; i<2; i++)
  25. for(int j=0; j<2; j++)
  26. if(mas[j].nomber>mas[j+1].nomber)
  27. {
  28. struct TRAIN tmp=mas[j];
  29. mas[j]=mas[j+1];
  30. mas[j+1]=tmp;
  31. }
  32. printf("otsortirovanaya baza poezdov \n");
  33. for(int i=0; i<3; i++)
  34. printf("%30s %10s %30s\n", mas[i].title, mas[i].nomber, mas[i].time);
  35. char x;
  36. printf("nimer poezda dlya poiska: ");
  37. scanf("%s",&x);
  38. printf("rezylt:\n");
  39. int k=0;
  40. for(int i=0; i<3; i++)
  41. if(mas[i].nomber==x)
  42. {
  43. printf("%8s %8s %8s\n", mas[i].title, mas[i].nomber, mas[i].time);
  44. printf("\n");
  45. k=1;
  46. }
  47. if(k==0)
  48. printf("poezd ne nayden\n");
  49. return 0;
  50. }

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

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. typedef struct
  5. {
  6.     char name[80];
  7.     int num;
  8.     int time[2];
  9. } TRAIN;
  10.  
  11.  
  12. int main(void)
  13. {
  14.  
  15.     const int N = 3;
  16.     TRAIN notes[N];
  17.     // Ввод данных структуры
  18.  
  19.     for(int i = 0; i < N; i++)
  20.     {
  21.         printf("Input nazvanie punkta =>");
  22.         gets(notes[i].name);
  23.         printf("Input nomer poezda =>");
  24.         scanf("%d"es[i].num);
  25.         printf("Input vremy otpravleniy h:m =>");
  26.         scanf("%d:%d", ¬es[i].time[0], ¬es[i].time[1]);
  27.         fflush(stdin);
  28.     }
  29.  
  30.  
  31.     for(int i=0; i<N; i++)
  32.         for(int j=0; i<N; j++)
  33.     {
  34.         if(strcmp(notes[i].name,notes[j].name) < 0)
  35.         {
  36.             TRAIN temp = notes[i];
  37.             notes[i] = notes[j];
  38.             notes[j] = temp;
  39.         }
  40.     }
  41.  
  42.     for(int i = 0; i < N; i++)
  43.         printf("%s %d %d:%d\n", notes[i].name, notes[i].num, notes[i].time[0], notes[i].time[1]);
  44.  
  45.     int num = 0;
  46.     printf("Input nomer poezda =>");
  47.     scanf("%d",&num);
  48.     int isNum = 0;
  49.     for(int i = 0; i < N; i++)
  50.         if(notes[i].num == num)
  51.         {
  52.             isNum = 1;
  53.             printf("%s %d:%d\n", notes[i].name, notes[i].time[0], notes[i].time[1]);
  54.             break;
  55.         }
  56.     if(isNum==0)
  57.         printf("Ne naideno");
  58.     return 0;
  59. }

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

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

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


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

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

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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут