Хотите улучшить этот вопрос? Обновите вопрос так, чтобы он вписывался в тематику 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.
Для начала, думаю, хватит?
Продвижение своими сайтами как стратегия роста и независимости