Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #define HOUR 60
- using namespace std;
- class Train {
- public:
- string to;
- int number;
- int hour;
- int min;
- int osits;
- int ksists;
- int psits;
- Train();
- Train(string to, int number, int hour, int min, int osits, int ksists, int psits) {
- this->to = to;
- this->number = number;
- this->hour = hour;
- this->min = min;
- this->osits = osits;
- this->ksists = ksists;
- this->psits = psits;
- }
- void show() {
- cout << "Train: "<< this->to << " №:" << this->number << " Time: "<< this->hour << "h " << this->min << "min Общии:" << this->osits << " Купэ:" << this->ksists << " Плацкарт:" << this->psits << endl;
- }
- int getAbsTime() {
- return this->min + this->hour * 60;
- }
- ~Train();
- };
- void showTo(Train *trains[],string search, int *size) {
- for (int i = 0; i < *size; i++) {
- if (trains[i]->to == search) {
- trains[i]->show();
- }
- }
- }
- void showPathAfter(Train *trains[], string search, int *size, int hour, int min) {
- int absTime = hour * HOUR + min;
- for (int i = 0; i < *size; i++) {
- if ((trains[i]->getAbsTime() > absTime) && (trains[i]->to == search)) {
- trains[i]->show();
- }
- }
- }
- void showToSits(Train *trains[], string search, int *size) {
- for (int i = 0; i < *size; i++) {
- if ((trains[i]->to == search) && (trains[i]->osits > 0)) {
- trains[i]->show();
- }
- }
- }
- int main() {
- int size = 5;
- Train *trains[size];
- trains[0] = new Train( "A", 242, 12, 20, 0, 23, 100);
- trains[1] = new Train( "B", 311, 14, 50, 10, 25, 10);
- trains[2] = new Train( "C", 941, 9, 00, 100, 31, 12);
- trains[3] = new Train( "A", 19, 21, 00, 00, 10, 11);
- trains[4] = new Train( "A", 312, 18, 00, 2, 10, 39);
- int mode;
- bool exit = false;
- string tmp;
- int hour, min;
- while (true) {
- cout << "--------------------------" << endl;
- cout << "Введите команду 1 - Путь до пункта" << endl;
- cout << "Введите команду 2 - Путь до пункта после времени" << endl;
- cout << "Введите команду 3 - Путь до с общими местами" << endl;
- cout << "-----------------------------" << endl;
- cout << "Введите команду 0 - exit!" << endl;
- cin >> mode;
- switch(mode) {
- case 1:
- cout << "Enter path" << endl;
- cin >> tmp;
- showTo(trains, tmp, &size);
- break;
- case 2:
- cout << "Enter path" << endl;
- cin >> tmp;
- cout << "Enter time" << endl;
- cin >> hour >> min;
- showPathAfter(trains, tmp, &size, hour, min);
- case 3:
- cout << "Enter path" << endl;
- cin >> tmp;
- showToSits(trains, tmp, &size);
- break;
- case 0:
- exit = true;
- break;
- }
- if (exit) break;
- }
- return 0;
- }
Add Comment
Please, Sign In to add comment