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

стандартные потоки - C++

Восстановить пароль Регистрация
 
monk1992
0 / 0 / 0
Регистрация: 03.12.2012
Сообщений: 9
04.12.2012, 00:24     стандартные потоки #1
ОПРЕДЕЛИТЬ КЛАСС С ИМЕНЕМ TRAIN, содержащую следующие поля:
 название пункта назначения;
 НОМЕР ПОЕЗДА;
 ВРЕМЯ ОТПРАВЛЕНИЯ;
 ОПРЕДЕЛИТЬ методы доступа к этим ПОЛЕЙ И перегруженной операции извлечения и вставки для объектов типа TRAIN.
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
#include "stdafx.h"
#include <iostream>
#include <vector>
#include <algorithm>
 
using namespace std;
 
 
class Train
{
    friend istream& operator>>(istream& is, Train& obj);
    friend ostream& operator<<(ostream& os, Train& obj);
private:
    char* dest;
    int number;
    int time;
public:
    char* GetDest(){ return dest;}
    int GetNumber(){ return number;}
    int GetTime(){return time;}
    void SetDest(char* dest);
    void SetNumber(int);
    void SetTime(int);
 
    ~Train();
    Train(char*,int, int);
};
 
istream& operator>>(istream& is, Train& obj)
{
    cout << "Please insert: Destination Number time separated by space" << endl;
    is >> obj.dest >> obj.number >> obj.time;
    return is;
}
 
ostream& operator<<(ostream& os, Train& obj)
{
    cout << "Destination Number time" << endl;
    os << obj.dest << "  " << obj.number << "  " << obj.time << endl;
    return os;
}
 
void Train::SetDest(char* destination)
{
    dest = new char[strlen(destination)+1];
    dest[strlen(destination)] = '\0';
    for (int i = 0; i < strlen(destination); ++i)
        dest[i] = destination[i];
}
 
Train::Train(char* destination , int num, int t)
{
    dest = new char[strlen(destination)+1];
    dest[strlen(destination)] = '\0';
    for (int i = 0; i < strlen(destination); ++i)
        dest[i] = destination[i];
    number = num;
    time = t;
}
 
void Train::SetNumber(int n)
{
    time = n;
}
 
void Train::SetTime(int t)
{
    time = t;
}
 
Train::~Train()
{
    delete [] dest;
}
 
int main()
{
    vector<Train*> data;
    Train* tr1 = new Train("      ",1,5);
    Train* tr2 = new Train("      ",7,5);
    Train* tr3 = new Train("      ",9,5);
    Train* tr4 = new Train("      ",9,0);
    Train* tr5 = new Train("      ",5,0);
    Train* tr6 = new Train("      ",5,0);
    data.push_back(tr1);
    data.push_back(tr2);
    data.push_back(tr3);
    data.push_back(tr4);
    data.push_back(tr5);
    data.push_back(tr6);
 
    for (auto i = data.begin(); i != data.end(); ++i)
        cin >> *(*i);
 
    sort(data.begin(),data.end());
 
    for (auto i = data.begin(); i != data.end(); ++i)
        cout << *(*i);
 
    cout << "Please insert time for search" << endl;
    int time;
    cin >> time;
 
    for (auto i = data.begin(); i != data.end(); ++i)
    {
        if ((*i)->GetTime() == time)
        {
            cout << *(*i);
        }
    }
    delete tr1;
    delete tr2;
    delete tr3;
    delete tr4;
    delete tr5;
    delete tr6;
    system("@pause");
    return 0;
}
вот ввод с клавиатуры данных в массив, состоящий из шести ОБЪЕКТОВ ТИПА TRAIN; ЗАПИСИ должны быть упорядочены ПО ВРЕМЕНИ ОТПРАВЛЕНИЯ ПОЕЗДА оно делает но надо еще меню в котором можна ВЫВОДить НА ЭКРАН ИНФОРМАЦИИ О поезда, следующие в пункт, название которого введено с клавиатуры;
 ЕСЛИ ТАКИХ Д НЕТ, выдать ДИСПЛЕЙ уведомления.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.12.2012, 00:24     стандартные потоки
Посмотрите здесь:

C++ стандартные функции
C++ Пакетированные стандартные блоки - Вложенные стандартные блоки
C++ Стандартные типы С++
C++ Стандартные потоки
C++ Стандартные потоки и связанные с ними исключения
Стандартные алгориты C++
Стандартные библиотеки C++
Стандартные потоки, задача C++

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

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

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