Хотите улучшить этот вопрос? Обновите вопрос так, чтобы он вписывался в тематику Stack Overflow на русском.
Закрыт 1 год назад.
#include <iostream>
#include <string>
#include <stdio.h>
using namespace std;
typedef struct Train //объявляем структуру:
{
int size = 0;
const int n = 5; //порядковый номер поезда
char city_name[255]; //название города
int numberOfTrain; //номер поезда
int departure_time; //время отправления
}Train;
Train sh[10]; //объявляем массив структур
void FillData(int size)
{
for (int i = 0; i < size; i++)
do {
cout << "Введите порядковый номер поезда: " << i + 1 << endl;
cin >> sh[i].n;
}
while (!strcmp(sh[i].n, ""));
cout << "Название города: " << endl;
cin >> sh[i].city_name;
do {
cout << "Номер поезда: " << endl;
cin >> sh[i].numberOfTrain;
} while (!strcmp(sh[i].numberOfTrain, ""));
cout << "Время отправления: " << endl;
cin >> sh[i].departure_time;
}
int main(int argc, char* argv[])
{
setlocale(LC_ALL, "ru");
cout << "Расписание поездов" << endl;
cout << "Версия 1.0" << endl;
cout << "-------------------------------" << endl;
cout << "Нажмите Enter для продолжения" << endl;
getchar(); //заглушка
FillData(5);
return 0;
}
Для начала - копать здесь.
А потом подумать - если переменная объявлена как константа, то как вы собираетесь вносить в нее новое значение?
cin >> sh[i].n;
Ведь n в структуре Train объявлена как const int.
А ведь вы еще и пытаетесь сравнивать это целое число со строкой...
strcmp(sh[i].n, "")
Еще скобки у вас расставлены так, что только цикл do..while является телом цикла for, так что все последующие строки не понимают, что такое переменная i.
Для начала, думаю, хватит?
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники