ООП C++ , Классы

Хеллоу, начинаю изучать с++ дошел до ооп. Пишу типо меню для "жд станции" например информация о поезде и т.д, но есть одно "но" компилятор ругается хз почему. можете исправить код?

#include <iostream>
#include <stdlib.h>
#include <stdio.h>
#include <cstdlib>

using namespace std;
class traininfo {
    int number, station, time;
    int number2, station2, time2;
    public:
        int info(){
            cout<<"Ââåäèòå âñþ èíôîðìàöèþ î ïîåçäàõ: "<< endl;
            cout<<"Ââåäèòå íîìåð ïåðâîãî ïðîåçäà: "<< endl;
            cin>>number;
            cout<<endl<<"Ââåäèòå êîíå÷íóþ ñòàíöèþ "<<endl;
            cin>>station;
            cout<<endl<<"Ââåäèòå âðåìÿ ïðèáûòèÿ ÷÷\ìì "<<endl;
            cin>>time;
                ///
            cout<<"Ââåäèòå íîìåð âòîðîãî ïðîåçäà: "<< endl;
            cin>>number2;
            cout<<endl<<"Ââåäèòå êîíå÷íóþ ñòàíöèþ "<<endl;
            cin>>station2;
            cout<<endl<<"Ââåäèòå âðåìÿ ïðèáûòèÿ ÷÷\ìì "<<endl;
            cin>>time2;
            system( "cls" );
        }
        menu(){
            cout<<"Âûáåðèòå íåîáõîäèìûé âàì ïóíêò(ââåäèòå åãî íîìåð) : "<< endl;
            cout<<"1.Îáùàÿ èíôîðìàöèÿ î ïîåçäàõ."<<endl;
            cout<<"2.Èíôîðìàöèÿ î ïåðâîì ïîåçäå."<<endl;
            cout<<"3.Èíôîðìàöèÿ î âòîðîì ïîåçäå."<<endl;
            int men=0;
            cin>>men;
            if (men=1) {
                obj3.tablo()<<endl;
            }
            if (men=2) {
                obj4.train1()<<endl;
            }
            if (men=3) {
                obj5.train2()<endl;
            }
            else {
                    abort();
            }
        }
        tablo() {
            cout<<"Îáùàÿ èíôîðìàöèÿ: "<<endl<<endl;
            cout<<"Íîìåð ïîåçäà: "<<number<<endl;
            cout<<"Êîíå÷íàÿ ñòàíööèÿ: "<<station<<endl;
            cout<<"Âðåìÿ ïðèáûòèÿ: "<<time<<endl;
            ///
            cout<<"Íîìåð ïîåçäà: "<<number2<<endl;
            cout<<"Êîíå÷íàÿ ñòàíööèÿ: "<<station2<<endl;
            cout<<"Âðåìÿ ïðèáûòèÿ: "<<time2<<endl;
            cout<<"Åñëè õîòèòå âåðíóòüñÿ â ìåíþ ââåäèòå (1)"<<endl
            int men=0;
            cin>>men;
            if  (men=1) {
                system( "cls" );
                 obj2.menu()<<endl;
            }
            else {
                abort();
            }

        }
        train1() {
            cout<<"Èíôîðìàöèÿ î ïåðâîì ïîåçäå: "<<endl<<endl;
            cout<<"Íîìåð ïîåçäà: "<<number<<endl;
            cout<<"Êîíå÷íàÿ ñòàíööèÿ: "<<station<<endl;
            cout<<"Âðåìÿ ïðèáûòèÿ: "<<time<<endl;
            cout<<"Åñëè õîòèòå âåðíóòüñÿ â ìåíþ ââåäèòå (1)"<<endl
            int men=0;
            cin>>men;
            if  (men=1) {
                system( "cls" );
                 obj2.menu()<<endl;
            }
            else {
                abort();
            }
        }
        train2() {
                cout<<"Èíôîðìàöèÿ î âòîðîì ïîåçäå: "<<endl<<endl;
            cout<<"Íîìåð ïîåçäà: "<<number2<<endl;
            cout<<"Êîíå÷íàÿ ñòàíööèÿ: "<<station2<<endl;
            cout<<"Âðåìÿ ïðèáûòèÿ: "<<time2<<endl;
            cout<<"Åñëè õîòèòå âåðíóòüñÿ â ìåíþ ââåäèòå (1)"<<endl
            int men=0;
            cin>>men;
            if  (men=1) {
                system( "cls" );
                 obj2.menu()<<endl;
            }
            else {
                abort();
            }
        }

}obj1, obj2, obj3, obj4, obj5;
main(){
obj1.info()<<endl;
    <obj2.menu()<<endl
}

Ответы (1 шт):

Автор решения: DSuhoi

Версия данного кода без ошибок компиляции:

#include <iostream>

using namespace std;

const string EMPTY_STR = "Какой-то текст по вводу: \n"; //нечитабельные строки

class TrainInfo {   //методы лучше описывать вне класса
    private:
        int number[2], station[2], time[2]; //лучше в массивах хранить подобные данные
    public:
        void writeInfo();   //описание методов
        void menu();
        void printTablo();
        void printTrain(const int NumberTrain);
};


void TrainInfo::writeInfo(){    //получение информации о переменных
    for(int i=0; i<2; i++){
        cout << EMPTY_STR;
        cin >> number[i];
        cout << EMPTY_STR;
        cin >> station[i];
        cout << EMPTY_STR;
        cin >> time[i];
    }
    system( "cls" );
}

void TrainInfo::menu(){ //похоже на реализацию какого-то меню
    cout << EMPTY_STR;
    int men=0;
    cin>>men;
    switch(men){ //понятия не имею, что делают методы train1 и train2
    case 1: printTablo(); break;
    case 2: printTrain(men); break;
    case 3: printTrain(men); break;
    default: abort(); break;
    };
}

void TrainInfo::printTablo() {  //табло с информацией...
    cout << EMPTY_STR;
    for(int i=0; i<2; i++){
        cout << EMPTY_STR << number[i] << endl;
        cout << EMPTY_STR << station[i] << endl;
        cout << EMPTY_STR << time[i] << endl;
    }

    int men=0;

    cin>>men;

    if(men!=1) abort();
}


void TrainInfo::printTrain(const int NumberTrain) { //это NumberTrain - номер поезда
    //вывод информации о поезде
    cout << EMPTY_STR << number[NumberTrain] << endl;
    cout << EMPTY_STR << station[NumberTrain] << endl;
    cout << EMPTY_STR << time[NumberTrain] << endl;

    cout << EMPTY_STR;

    int men=0;
    cin>>men;

    if(men!=1) abort();
}


int main(void){
    //TrainInfo obj1, obj2;

    //obj1.writeInfo();
    //obj2.menu();

    return 0;
}
→ Ссылка