Форум программистов, компьютерный форум CyberForum.ru

Написать программу «Автоматизированная информационная система на железнодорожном вокзале» - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.89
YuYa
0 / 0 / 0
Регистрация: 02.11.2012
Сообщений: 6
02.11.2012, 14:31     Написать программу «Автоматизированная информационная система на железнодорожном вокзале» #1
Информационная система содержит сведения об отправлении поездов дальнего
следования. Для каждого поезда указывается: номер, станция назначения, время
отправления.
Программа должна обеспечивать выбор с помощью меню и выполнение одной из
следующих функций:
• первоначальный ввод данных в информационную систему (с клавиатуры или
из файла);
• вывод сведений по всем поездам;
• вывод сведений по поезду с запрошенным номером;
• вывод сведений по тем поездам, которые следуют до запрошенной станции
назначения.
Хранение данных организовать с применением контейнерного класса set.

Вот мой код, что-то не ладится с итератором и указателем ->. Для класса list, как ни странно, все работает. Помогите пожалуйста разобраться!

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <string>
#include <set>
 
using namespace std;
 
class Train {
    int tNumber;
    string tDestination;
    int tDepartureTime;
public:
    Train() {
        tNumber = 0;
        tDestination = "";
        tDepartureTime = 0;
    }
    Train(int tNumParam, string tDestParam, int tTimeParam) {
        tNumber = tNumParam;
        tDestination = tDestParam;
        tDepartureTime = tTimeParam;
    }
    //Train(Train const &copy):tNumber(copy.tNumber), tDestination(copy.tDestination), tDepartureTime(copy.tDepartureTime) { }
    int getNumber() {
        return tNumber;
    }
    string getDestination() {
        return tDestination;
    }
    int getTime() {
        return tDepartureTime;
    }
    void operator = (Train obj) {
        tNumber = obj.tNumber;
        tDestination = obj.tDestination;
        tDepartureTime = obj.tDepartureTime;
    }
    //Train * operator -> ();
};
 
set <Train> dataBase;
 
void add(set<Train> &vSource) {
    int tTempNum, tTempTime;
    string tTempDest;
    cout << "Number of the train: ";
    cin >> tTempNum;
    cin.ignore();
    cout << "Destination: ";
    getline(cin, tTempDest, '\n');
    cout << "Arrival time: ";
    cin >> tTempTime;
    cin.ignore();
    vSource.insert(Train(tTempNum, tTempDest, tTempTime));
}
 
void print(set<Train> &vSource) {
        if (vSource.empty()) {
                cout << "Set is empty!";
                return;
        }
        set<Train>::iterator iterSource;
        cout << "Train number Destination Departure Time\n\n";
        for (iterSource = vSource.begin(); iterSource != vSource.end(); iterSource++) {
            cout << iterSource->getNumber() << '\t' << iterSource->getDestination() << '\t' << iterSource->getTime() << '\n';
            //cout  << " " << *iterSource;
        }
}
 
void getTrainInfo(set <Train> &vSource){
        if (vSource.empty()){
                cout << "Set is empty!";
                return;
        }
        set <Train>::iterator iterSource;
        bool bIsFound = false;
        int iTrainToSearch;
        cout << "Input train's number: ";
        cin >> iTrainToSearch;
        cin.ignore();
        for (iterSource = vSource.begin(); iterSource != vSource.end(); iterSource++) {
                if (iterSource->getNumber() == iTrainToSearch){
                        bIsFound = true;
                        cout << iterSource->getDestination() << '\t' << iterSource->getTime() << '\n';
                }
        }
        if (!bIsFound)
                cout << "No such train was found";
 
}
 
void getStationInfo(set <Train> &vSource){
        if (vSource.empty()){
                cout << "Set is empty!";
                return;
        }
        set <Train>::iterator iterSource;
        bool bIsFound = false;
        string sStationToSearch;
        cout << "Input station's name: ";
        getline(cin, sStationToSearch, '\n');
        for (iterSource = vSource.begin(); iterSource != vSource.end(); iterSource++) {
                if (iterSource->getDestination() == sStationToSearch){
                        bIsFound = true;
                        cout << iterSource->getNumber() << '\t' << iterSource->getTime() << '\n';
                }
        }
        if (!bIsFound)
                cout << "No such station was found";
 
}
 
int main() {
 
    char cKey;
        do{
                system("cls");
                cout << "1 - Add info about new train to the Database\n";
                cout << "2 - Show Database\n";
                cout << "3 - Show info about specific train\n";
                cout << "4 - Show info about arriving trains to the station\n";
                cout << "5 - Exit\n";
                cKey = _getch();
                system("cls");
                if (cKey == '1'){
                        add(dataBase);
                }
                else if (cKey == '2')
                        print(dataBase);
                else if (cKey == '3')
                        getTrainInfo(dataBase);
                else if (cKey == '4')
                        getStationInfo(dataBase);
                else if (cKey == '5')
                        cout << "Goodbye";
                else
                        continue;
                _getch();
        } while (cKey !='5');
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.11.2012, 14:31     Написать программу «Автоматизированная информационная система на железнодорожном вокзале»
Посмотрите здесь:

система счисления. Написать программу которая проверяет перевод чисел введёных в программу C++
C++ Помогите переписать программу с С на С++ (Система счисления)
C++ Информационная система для решения экономических задач
Информационная система фитнес-клуба C++
C++ Как лучше это сделать?. а главное, как правильно? (Информационная система «Железнодорожный вокзал»)
C++ Информационная система учета рабочего времени
C++ Автоматизированная информационная система на железнодорожном вокзале

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 10:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru