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

Классы - C++

Восстановить пароль Регистрация
 
Adidas2203
0 / 0 / 0
Регистрация: 13.12.2011
Сообщений: 16
24.02.2012, 11:04     Классы #1
Разработать консольную программу на языке С++, в которой описывается и используется простой класс для объектов индивидуального варианта. Поля данных класса должны быть закрытыми, а доступ к ним должен осуществляться с помощью открытых методов. Кроме полей с данными в классе должны быть конструкторы, деструктор и другие методы класса в соответствии с заданием. Создать массив объектов.

Aeroflot: Пункт назначения, Номер рейса, Тип самолета, Время вылета, Дни недели. Вывести:
а) список рейсов для заданного пункта назначения;
б) список рейсов для заданного дня недели;
в) список рейсов для заданного дня недели, время вылета для которых больше заданного.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.02.2012, 11:04     Классы
Посмотрите здесь:

C++ классы
классы C++
Классы C++
C++ классы с++
Классы в С++ C++
C++ Классы в c++
C++ Классы
C++ Классы

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Luke
37 / 37 / 1
Регистрация: 21.02.2012
Сообщений: 95
24.02.2012, 12:49     Классы #2
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
149
150
151
152
153
154
155
#include <iostream>
#include <string>
#include <iterator>
#include <algorithm>
#include <locale>
 
using std::cin;
using std::ostream;
using std::cout;
using std::string;
using std::copy_if;
using std::ostream_iterator;
using std::locale;
 
 
class Route
{
    
    mutable string PointTo;
    mutable string RootNumber;
    mutable string PlaneType;
    mutable string TimeOut;
    mutable string WeekDay;
    
public:
 
    Route(){};
    ~Route(){};
 
    Route(Route& r)
    {
        this->write_Plane(r.Plane());
        this->write_point_to(r.read_point_to());
        this->write_root_num(r.read_root_num());
        this->write_Weekday(r.Weekday());
        this->write_Time(r.Time());
        
    }
 
    const string& read_point_to() const
    {
        return PointTo;
    }
    template <typename T> void write_point_to(T data) const
    {
        PointTo.clear();
        PointTo.append(data);
    }
 
 
    const string& read_root_num() const
    {
        return RootNumber;
    }
    template <typename T> void write_root_num(T data) const
    {
        RootNumber.clear();
        RootNumber.append(data);
    }
 
    const string& Plane() const
    {
        return PlaneType;
    }
    template <typename T> void write_Plane(T data) const
    {
        PlaneType.clear();
        PlaneType.append(data);
    }
 
    const string& Time() const
    {
        return TimeOut;
    }
    template <typename T> void write_Time(T data) const
    {
        TimeOut.clear();
        TimeOut.append(data);
    }
    const string& Weekday() const
    {
        return  WeekDay;
    }
    template <typename T> void write_Weekday(T data) const
    {
        WeekDay.clear();
        WeekDay.append(data);
    }
 
    friend ostream& operator<<(ostream& os, Route& r);
    
};
 
 
 ostream& operator<<(ostream& os,const Route& r) 
{
                os<<"Пункт назначения "<<r.read_point_to()<<"\n";
        os<<"Номер рейса "<<r.read_root_num()<<"\n";
        os<<"Тип самолета "<<r.Plane()<<"\n";       
        os<<"Время вылета "<<r.Time()<<"\n";    
                os<<"День недели "<<r.Weekday()<<"\n\n\n";              
        
 
    return os;
}
 
int main()
 
 
{
    setlocale(LC_ALL,"RUS");
 
    const Route Aeroflot [5]; //массив из 5 рейсов для примера
//ввод без циклов, вручную, просто для демонстрации работы класса
 
    
    Aeroflot [0].write_Plane("Boing");
    Aeroflot [0].write_point_to("Magadan");
    Aeroflot [0].write_root_num("1057");
    Aeroflot [0].write_Weekday("Monday");
    Aeroflot [0].write_Time("10.30");
 
    Aeroflot [1].write_Plane("Boing");
    Aeroflot [1].write_point_to("Sochi");
    Aeroflot [1].write_root_num("1034");
    Aeroflot [1].write_Weekday("Monday");
    Aeroflot [1].write_Time("14.30");
 
    Aeroflot [2].write_Plane("tu134");
    Aeroflot [2].write_point_to("Yalta");
    Aeroflot [2].write_root_num("1057");
    Aeroflot [2].write_Weekday("Friday");
    Aeroflot [2].write_Time("17.17");
 
    Aeroflot [3].write_Plane("tu134");
    Aeroflot [3].write_point_to("Chegem");
    Aeroflot [3].write_root_num("2034");
    Aeroflot [3].write_Weekday("Monday");
    Aeroflot [3].write_Time("18.30");
 
    Aeroflot [4].write_Plane("Mig29");
    Aeroflot [4].write_point_to("Magadan");
    Aeroflot [4].write_root_num("104");
    Aeroflot [4].write_Weekday("Tuesday");
    Aeroflot [4].write_Time("00.30");
 
    cout<<"Все рейсы понедельника"<<"\n\n";
    copy_if(Aeroflot,Aeroflot+5,ostream_iterator<Route>(cout),[](const Route& r)->bool{return r.Weekday()=="Monday";});
    cout<<"Все рейсы на Магадан"<<"\n\n";
    copy_if(Aeroflot,Aeroflot+5,ostream_iterator<Route>(cout),[](const Route& r)->bool{return r.read_point_to()=="Magadan";});
    cout<<"Все рейсы понедельника после 12.00"<<"\n\n";
    copy_if(Aeroflot,Aeroflot+5,ostream_iterator<Route>(cout),[](const Route& r)->bool{return r.Weekday()=="Monday"&&r.Time()>"12.00";});
 
    return 0;
}
Yandex
Объявления
24.02.2012, 12:49     Классы
Ответ Создать тему
Опции темы

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