Ошибка в коде С++. В какую сторону копать? [закрыт]

81
17 мая 2021, 18:40
Закрыт. Этот вопрос не по теме. Ответы на него в данный момент не принимаются.

Хотите улучшить этот вопрос? Обновите вопрос так, чтобы он вписывался в тематику 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;
}
Answer 1

Для начала - копать здесь.

А потом подумать - если переменная объявлена как константа, то как вы собираетесь вносить в нее новое значение?

cin >> sh[i].n;

Ведь n в структуре Train объявлена как const int.

А ведь вы еще и пытаетесь сравнивать это целое число со строкой...

strcmp(sh[i].n, "")

Еще скобки у вас расставлены так, что только цикл do..while является телом цикла for, так что все последующие строки не понимают, что такое переменная i.

Для начала, думаю, хватит?

READ ALSO
SD2/SDL_Events C++ Чтение событий с клавиатуры

SD2/SDL_Events C++ Чтение событий с клавиатуры

Такая проблемка: В проге есть объект- игрок, он умеет двигатьсяИ вот, при зажатой клавише W,A,S,D он начинает двигаться с небольшой задержкой(как...

224
suggest JavaScript непрозрачное поле

suggest JavaScript непрозрачное поле

Проблема в следующемИспользую скрипт:

90
Непонятный синтаксис new()

Непонятный синтаксис new()

Подскажите зачем оператор new идет в объявления класс Bank(class Bank : IBank where T : Account, new())

106