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

Динамические структуры данных: очередь - C++

Восстановить пароль Регистрация
 
arion007
Сообщений: n/a
15.06.2014, 22:54     Динамические структуры данных: очередь #1
Всем доброго времени суток)
Задание:
Создать динамическую структуру согласно варианту. В программе должны быть предусмотрены следующие функции:
- Добавить элемент;
- Удалить элемент;
- Просмотр;
- Решение;
- Очистка.
Очередь
Мобильные телефоны: название модели (первое слово в названии - фирма-изготовитель) и цена
Сделать скидку 5 % на телефоны фирмы Nokia
Вопрос:
Как мне сделать так что бы я нашел в этом списке телефоны Nokia ?
что бы сделать с ними операцию из задания
(Сделать скидку 5 % на телефоны фирмы Nokia)
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
#include "stdafx.h"
#include <iostream>
 
using namespace std;
 
char model[25];
char model_sr[25];
int price; 
int max_h = 0;
int g = 0;
const int N = 1000; //размер очереди
struct Queue
{
    int data[N];    //массив данных
    int last;       //указатель на начало
};
void Creation(Queue *Q)
{
    Q->last = 0;
}
//проверка очереди на пустоту
bool Full(Queue *Q) 
{
    if (Q->last == 0) 
    return true;
    else return false;
}
 
// 1) Добавление элемента
void Add(Queue *Q) 
{
    if (Q->last == N)
    {
        cout << "\nОчередь заполнена\n\n"; 
        return;
    }
    cout << "\nМодель: > "; 
    cin >> model[25];
    cout << "\nЦена: > "; 
    cin >> price;
 
    Q->data[Q->last++] = price, model[25];
    cout << endl << "Элемент добавлен в очередь\n\n";
}
 
// 2) удаление элемента
void Delete(Queue *Q) 
{
    for (int i = 0; i < Q->last && i < N; i++) //смещение элементов
    {
        Q->data[i] = Q->data[i + 1];
        Q->last--;
    }
}
 
// 3) (просмотр) - вывод всех элементов очереди
int Top(Queue *Q) 
{
    return Q->data[g];
}
 
// 4) размер очереди
int Size(Queue *Q)  
{
    return Q->last;
}
 
/*
// 5) скидка 5 % на телефоны
int discount(Queue *Q)
{
    
}
*/
 
//----------------------------------------------------------------------------------------------------------------------
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "RUS");
    Queue Q;
    Creation(&Q);
    char number;
    do
{
    cout << "Выберите нужную вам команду:" << endl;
    cout << "1. Добавить элемент" << endl;
    cout << "2. Удалить элемент" << endl;
    cout << "3. Просмотр" << endl;
    cout << "4. Размер очереди" << endl;
    cout << "5. Сделать скидку 5 % на телефоны определённой фирмы" << endl;
    cout << "0. Выход\n\n";
    cout << "Номер команды: "; 
    cin >> number;
    switch (number)
    {
        case '1':
            Add(&Q);
            system("pause");
            system("cls");
            break;
        case '2':
            if (Full(&Q)) 
                cout << endl << "Очередь пуста\n\n";
            else
            {
                Delete(&Q);
                cout << endl << "Элемент удалён из очереди\n\n";
                system("pause");
                system("cls");
            }
            break;
        case '3':
            if (Full(&Q)) 
                    cout << endl << "Очередь пуста\n\n";
            else for (int q = 0; q < Size(&Q); q++) 
            {
                cout << "\nЭлемент в очереди № [" << q << "]=" << Top(&Q);
                g++;
            }
            cout << endl;
            system("pause");
            system("cls");
            break;
        case '4':
            if (Full(&Q)) 
                cout << endl << "Очередь пуста\n\n";
            else cout << "\nРазмер очереди: " << Size(&Q) << "\n\n";
            system("pause");
            system("cls");
            break;
        case '5':
            system("cls");
            cout << "На какую модель сделать скидку в 5% ?";
            cin >> model_sr;
        discount(&Q);
    cout << "скидка 5 % на телефоны фирмы " << endl << "Модель:" << model_sr << endl << "Цена: " << max_h;
                cout << endl << endl;
                break;
            case '0':
                break;
            default: cout << endl << "Команда не верна!\n\n";
                break;
        }
    } 
    while (number != '0');
    system("pause");
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.06.2014, 22:54     Динамические структуры данных: очередь
Посмотрите здесь:

C++ Динамические структуры данных. Программа ввода в структуры и вывода информации из неё.
C++ Динамические структуры данных
Динамические структуры данных. C++
C++ Динамические структуры данных
Динамические структуры данных C++
C++ Динамические структуры данных
C++ Линейные динамические структуры (определить, в которой из двух очередей больше согласных букв, построить новую очередь)
C++ Динамические структуры. Очередь

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

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

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