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

Описание структуры - C++

Восстановить пароль Регистрация
 
Sash0k
1 / 1 / 0
Регистрация: 19.05.2013
Сообщений: 18
07.12.2013, 11:25     Описание структуры #1
Здравствуйте. Помогите решить задачу. Заранее спасибо.
Описать структуру с именем «Автомобиль», содержащую следующие поля:
а) марка;
б) год выпуска;
в) цена;
г) цвет.
Написать программу, выполняющую следующие действия:
а) ввод с клавиатуры данных в массив, состоящий из N элементов типа Автомобиль;
б) упорядочить все элементы по году выпуска автомобиля;
в) вывести информацию об автомобиле по марке, году выпуска или интервалу цен, вариант задает пользователь, либо сообщение об ошибке.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.12.2013, 11:25     Описание структуры
Посмотрите здесь:

Описание структуры TRAIN C++
Описание структуры C++
Важно: Описание структуры C++
описание структуры ZNAK C++
C++ Описание структуры с полем массив
C++ Описание структуры
Описание структуры ORDER C++
C++ Описание структуры NOTE

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
D3fend0r
17 / 17 / 1
Регистрация: 14.09.2013
Сообщений: 37
07.12.2013, 18:53     Описание структуры #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
#include <vector>
#include <iostream>
#include <string>
#include <algorithm>
 
using namespace std;
 
enum class options {brand,year,price};
 
 
 
struct Car
{
    string brand;
    string colour;
    int year;
    int price;
 
    bool operator<(Car& c)const  //For sort from <algorithm>
    {
        return year < c.year;
    }
 
    
};
 
void Print(vector<Car>&, options opt);
istream& operator>>(istream&, Car&); //INPUT
ostream& operator<<(ostream&, Car);  //OUTPUT
 
 
istream& operator>>(istream& is, Car& c)
{
    cout << "Brand: ";
    cin >> c.brand;
    cout << "Colour: ";
    cin >> c.colour;
    cout << "Year: ";
    cin >> c.year;
    cout << "Price: ";
    cin >> c.price;
    cout << endl;
    return is;
}
 
ostream& operator<<(ostream& os, Car c)
{
    os << c.brand << ", " << c.colour << ", " << c.year << ", " << c.price << "$.";
    return os;
}
 
 
void Print(vector<Car>& vec, options opt)
{
    int from, to, year;
    string brand;
    
    switch (opt)
    {
    case options::brand:
        cout << "Brand: ";
        cin >> brand;
        break;
    case options::year:
        cout << "Year: ";
        cin >> year;
        break;
    case options::price:
        cout << "From: ";
        cin >> from;
        cout << "To: ";
        cin >> to;
        break;
    }
    
    for (Car c : vec)
    {
        switch (opt)
        {
        case options::brand:
            if (c.brand == brand) cout << c<<endl;
            break;
        case options::year:
            if (c.year == year) cout << c<<endl;
            break;
        case options::price:
            if (c.price >= from && c.price <= to) cout << c<<endl;
            break;
        }
    }
}
 
int main()
{
    int n;
    vector<Car> vec;
    cout << "Please Enter a number of cars: ";
    cin >> n;
    cout << endl;
    for (int i = 0; i < n;i++)
    {
        cout << "Car #" << i+1 << endl;
        Car c;
        cin >> c;
        vec.push_back(c);
    }
 
    sort(vec.begin(), vec.end());
 
    Print(vec, options::brand);
    Print(vec, options::year);
    Print(vec, options::price);
    system("pause");
}
Yandex
Объявления
07.12.2013, 18:53     Описание структуры
Ответ Создать тему
Опции темы

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