Описать структуру с именем 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; }
Объяснение кода листинга программы
- Тип программы: Многопоточный (предположительно)
- Название структуры: Train
- Переменные структуры:
- name (строка, 80 символов)
- num (целое число)
- time (массив из 2 целых чисел)
- Ввод данных структуры:
- Ввод названия пункта
- Ввод номера поезда
- Ввод времени отправления (часы:минуты)
- Сортировка массива структур:
- Сравнение названий пунктов
- Перестановка элементов массива
- Вывод данных структуры:
- Вывод названия пункта
- Вывод номера поезда
- Вывод времени отправления
- Поиск номера поезда:
- Ввод номера поезда
- Сравнение номеров поездов
- Вывод найденного номера поезда (если есть)
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д