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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Квадратная матрица http://www.cyberforum.ru/cpp-beginners/thread1031712.html
Здравствуйте. Помогите решить задачу. Заранее спасибо. Дана целочисленная квадратная матрица. Определить: а) сумму элементов в тех столбцах, которые не содержат отрицательных элементов; б) минимум среди сумм модулей элементов диагоналей, параллельных побочной диагонали матрицы.
C++ Вложенные циклы я новичок и плохо пока в этом шарю, поэтому прошу помощи. Нужно решить вот это задание на Borland C ++ с использованием вложенных циклов Помогите найти ошибку в программе #include <iostream.h> #include<conio.h> #include<math.h> void main() { float x,a,f; for (a=1; a<=5; a++){ for (x=0,2; x<=1; x+0,1); http://www.cyberforum.ru/cpp-beginners/thread1031705.html
C++ Элементы равные 0 заменить на минимум
помогите плиз
Создать указатель на структуру C++
Различные цеха завода выпускают продукцию нескольких наименований. Сведения о выпущенной продукции включают наименование, количество, номер цеха. Реализовать функцию Sort для сортировки списка продукции методом «вставки» по выпускаемому количеству для заданного пользователем цеха и функцию Display для вывода данных о выпущенной продукции цеха. Тип возвращаемых значений определить самостоятельно.
C++ Как получить ссылку на указатель или указатель на указатель в массиве? http://www.cyberforum.ru/cpp-beginners/thread1031672.html
В процессе реализации сортировки пузырьком натолкнулся на такую проблему: как поменять значения указателей, передаваемых в функцию. Если задать указатели прямо, то можно поменять их значения и по ссылке и по указателю на указатель: void Swap1(char** first, char** second ){ char* temp = *first; *first = *second; *second = temp; } void Swap2(char* &first, char* &second ) { char* temp...
C++ класс для создания календаря помогите пожалуйста создать класс для определения дня недели по календарной дате. Дата – три целых числа: число, месяц, год. Диапазон дат – по меньшей мере, два тысячелетия. (Демонстрация применения) подробнее

Показать сообщение отдельно
D3fend0r
17 / 17 / 1
Регистрация: 14.09.2013
Сообщений: 37
07.12.2013, 18:53     Описание структуры
Вот код. Только не очень понял, что требуется от последней функции, поэтому сделал функцию, которая ищет в массиве с машинами машины по марке, году выпуска или по диапазону цен(выбирает пользователь).

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");
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru