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

Ассоциативный контейнер и шаблонный класс - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Tif файл http://www.cyberforum.ru/cpp-beginners/thread1165082.html
Добрый день. Может кто поделиться кодом из библиотеки tiffio.h, для открытия изображения и вывода на печать как оно записано. То есть вывод в блокнот цифровое значений каждого цвета пикселя
C++ Сортировка массива пузырьком - найти ошибку в коде В массив вношу 46 случайных чисел от 1 до 26 включая, упорядочиваю по убыванию сортировкой методом пузырька - выдает ошибку сам код вот #include <iostream> #include <ctime> #include <cstdlib> using namespace std; int main() http://www.cyberforum.ru/cpp-beginners/thread1165076.html
C++ Расчет расстояния кратчайших путей
Добрый день можете помочь сделать программу таким образом чтобы в ListBox1 показывало промежуточные пункты в Memo1 отображало все расстояние по кратчайшим путям и чтоб начало и конец пути можно было задавать __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { { Image1->Canvas->Pen->Color=clRed ;
Bgi error graphics not initialized use initgraph C++
ед. ошибка, подскажите, первый раз с графикой работаю!
C++ Как нарисовать линию? http://www.cyberforum.ru/cpp-beginners/thread1165036.html
Подскажите, использую TurboC++, как нарисовать линию, любую! хочу начать практиковаться
C++ Автоматический вызов деструктора компилятором Хэлп, господа! Ситуация такая: имеется объект класса P, в нем парочка указателей на объекты класса С. В конструкторе P вызываются конструкторы для объектов С, все нормально. Но на выходе из конструктора P компилятор решает, что объекты C должны быть уничтожены, и вызывает деструктор по умолчанию. Можно ли как-то воспрепятствовать этому? подробнее

Показать сообщение отдельно
st
0 / 0 / 0
Регистрация: 03.05.2014
Сообщений: 1

Ассоциативный контейнер и шаблонный класс - C++

03.05.2014, 17:40. Просмотров 579. Ответов 1
Метки (Все метки)

Помогите пожалуйста исправить и дополнить код.
Задание: Автоматизированная информационная система на железнодорожном вокзале содержит сведения об отправлении поездов дальнего следования.

Для каждого поезда указывается:

• Номер поезда
• Станция назначения
• Время отправления

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

• Ввод данных в информационную систему
• Вывод сведений по всем поездам
• Вывод сведений по поезду с запрошенным номером
• Вывод сведений по тем поездам, которые следуют до запрошенной станции назначения.

Хранение данных организовать с применением класса "Коллекция ключ-значение"(с неуникальными ключами), в качестве ключа использовать номер поезда. Предусмотреть сохранение всех данных при выходе в файл и восстановление при повторном запуске программы.

Я знаю, что надо использовать multimap. Я пыталась написать структуру для Номера поезда, станции и времени прибытия. Еще пыталась написать шаблонный класс. У меня вообще ничего не получилось((А про сохранение данных и восстановление я вообще молчу.. С написанием этой рабочей программы мне тоже помогли. Очень надеюсь на помощь. С++ тяжело идет
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
143
144
145
146
147
148
#include <stdio.h>
#include <tchar.h>
#include <iostream>
#include <conio.h>
#include <string>
#include <vector>
 
using namespace std;
 
class cTrain{
        int iNumber;
        string sDestination;
        string sDepartureTime;
public:
        cTrain(){
                iNumber = 0;
                sDestination = "";
                sDepartureTime = "";
        }
        cTrain(int iNum, string sDest, string sTime){
                iNumber = iNum;
                sDestination = sDest;
                sDepartureTime = sTime;
        }
        int iGetNumber(){
                return iNumber;
        }
        cTrain(cTrain const &copy):iNumber(copy.iNumber), sDestination(copy.sDestination), sDepartureTime(copy.sDepartureTime){}
        string sGetDestination(){
                return sDestination;
        }
        string sGetTime(){
                return sDepartureTime;
        }
        void operator =(cTrain objRight){
                iNumber = objRight.iNumber;
                sDestination = objRight.sDestination;
                sDepartureTime = objRight.sDepartureTime;
        }
};
 
void _AddTrain(vector <cTrain> &vSource){
        int iTempNumber;
        string sTempDest, sTempTime;
        cout << "Номер поезда: ";
        cin >> iTempNumber;
        cin.ignore();
        cout << "Пункт назначения: ";
        getline(cin, sTempDest, '\n');
        cout << "Время прибытия: ";
        cin >> sTempTime;
        cin.ignore();
        vSource.push_back(cTrain(iTempNumber, sTempDest, sTempTime));
}
 
 
void _PrintList(vector <cTrain> &vSource){
        if (vSource.empty()){
                cout << "Список пуст!";
                return;
        }
        vector <cTrain>::iterator iterSource = vSource.begin();
        while (iterSource != vSource.end()){
                cout << "Номер поезда: " << iterSource->iGetNumber() << endl;
                cout << "Пункт назначения: " << iterSource->sGetDestination() << endl;
                cout << "Время прибытия: " << iterSource->sGetTime() << endl;
                cout << endl;
                iterSource++;
        }
}
 
void _GetTrainInfo(vector <cTrain> &vSource){
        if (vSource.empty()){
                cout << "Список пуст!";
                return;
        }
        vector <cTrain>::iterator iterSource = vSource.begin();
        bool bIsFound = false;
        int iTrainToSearch;
        cout << "ВВедите номер поезда: ";
        cin >> iTrainToSearch;
        cin.ignore();
        while (iterSource != vSource.end()){
                if (iterSource->iGetNumber() == iTrainToSearch){
                        bIsFound = true;
                        cout << "Пункт назначения: " << iterSource->sGetDestination() << "; " << "Время прибытия: " << iterSource->sGetTime();
                        cout << endl;
                }
                iterSource++;
        }
        if (!bIsFound)
                cout << "Такого поезда нет в базе";
 
}
 
void _GetStationInfo(vector <cTrain> &vSource){
        if (vSource.empty()){
                cout << "Список пуст!";
                return;
        }
        vector <cTrain>::iterator iterSource = vSource.begin();
        bool bIsFound = false;
        string sStationToSearch;
        cout << "Введите название станции: ";
        getline(cin, sStationToSearch, '\n');
        while (iterSource != vSource.end()){
                if (iterSource->sGetDestination() == sStationToSearch){
                        bIsFound = true;
                        cout << "Номер поезда: " << iterSource->iGetNumber() << "; " << "Время прибытия: " << iterSource->sGetTime();
                        cout << endl;
                }
                iterSource++;
        }
        if (!bIsFound)
                cout << "Такой станции нет в базе";
 
}
 
int _tmain(int argc, _TCHAR* argv[])
{
        setlocale(LC_ALL, "Russian");
        vector <cTrain> vDataBase;
        char cKey;
        do{
                system("cls");
                cout << "1 - Добавить информацию о новом поезде в базу данных\n";
                cout << "2 - Показать базу данных\n";
                cout << "3 - Показать информацию о конкретном поезде\n";
                cout << "4 - Показать информацию о прибытии поезда на станцию\n";
                cout << "5 - Выход\n";
                cKey = _getch();
                system("cls");
                if (cKey == '1'){
                        _AddTrain(vDataBase);
                }
                else if (cKey == '2')
                        _PrintList(vDataBase);
                else if (cKey == '3')
                        _GetTrainInfo(vDataBase);
                else if (cKey == '4')
                        _GetStationInfo(vDataBase);
                else
                        continue;
                _getch();
        } while (cKey !='5');
 
        return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru