Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.93
Kovrik15
2 / 2 / 0
Регистрация: 24.05.2012
Сообщений: 30
#1

Разработать программу, реализующую алгоритм очереди (20 элементов) - C++

29.05.2012, 22:55. Просмотров 2083. Ответов 10
Метки нет (Все метки)

Здравствуйте!
Есть такое задание:
Кликните здесь для просмотра всего текста
Разработать программу, реализующую алгоритм очереди (20 элементов). Задача решается в двух вариантах: статическом (на основе массива структур) и динамическом. Реализовать алгоритм кольцевой очереди на основе динамического списка. В качестве элемента очереди выбрать структуру, соответствующую индивидуальному варианту.
Предусмотреть заполнение очереди из файла (подготовить файл на 20 элементов).
Предусмотреть многоуровневое меню:
1) Заполнение очереди
a) с консоли (циклически)
b) из файла (выбор файла, тек. папка, любая папка)
2) Удаление элемента из очереди (циклически)
a) безвозвратно
b) с сохранением в файл
3) Очистка очереди (с выводом удаляемых элементов)
a) безвозвратно
b) с сохранением в файл
4) Вывод элементов, содержащихся в очереди
a) на экран
b) в файл
5) Вывод количества элементов в очереди
6) Сдвиг всех элементов очереди к началу при наличии пустых мест в начале очереди (для статического варианта)
7) Выход
Реализовать алгоритм обработки исключений.

сделал первые 2 пункта, без считывания из файла, но вдруг возник вопрос или правильно делаю...
Обьясните пожалуйста что значит статический и динамический вариант. Как реализовать алгоритм кольцевой очереди на основе динамического списка? это значит вводим элемент очереди, 1-й удаляется, а тот который ввели помещается в конец?

вот код того что получилсь
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
156
157
#include "stdafx.h"
#include <iostream>
#include <cmath>
using namespace std;
const int n=1;
 
struct tovar
{
    int nomer;
    char naim[10];
    char edizm[10];
    int kolvo;
    int cena;
};
 
 
void vvod(int n,tovar* tov);
//void consol();
void consolVvod(int n,tovar* tov);
void vivodFile(int n,tovar* tov);
void vivodFile();
void vivodEkran(int n,tovar* tov);
//void delElem();
//void clean();
void vyvodElem(int n,tovar* tov);
//void vyvodColich();
//void sdvig();
void FromFile();
void main()
 
{
    setlocale(LC_ALL,"Russian");
 
    tovar* tov=new tovar[n];
    char deistv;
 
 
 
    while (true)
{
    system("cls");      
    cout<<"\n"; 
cout<<"                 |-----|---------------------------------------|\n";
cout<<"                 |  1  |Заполнение очереди:                    |\n";
cout<<"                 |-----|---------------------------------------|\n";
cout<<"                 |  2  |Удаление элемента из очереди;          |\n";
cout<<"                 |-----|---------------------------------------|\n";
cout<<"                 |  3  |Очистка очереди;                       |\n";
cout<<"                 |-----|---------------------------------------|\n";
cout<<"                 |  4  |Вывод элементов содержащихся в очереди;|\n";
cout<<"                 |-----|---------------------------------------|\n";
cout<<"                 |  5  |Вывод количества элементов в очереди;  |\n";
cout<<"                 |-----|---------------------------------------|\n";
cout<<"                 |  6  |Сдвиг элементов очереди к началу;      |\n";
cout<<"                 |-----|---------------------------------------|\n";
cout<<"                 |  7  |Выход;                                 |\n";
cout<<"                 |-----|---------------------------------------|\n";
cout<<"\n";
cin>>deistv;
switch(deistv)
    {
    case '1': vvod(n,tov);break;
//  case '2': delElem();break;
//  case '3': clean(); break;
    case '4': vyvodElem(n,tov);break;
//  case '5': vyvodColich();break;
//  case '6': sdvig();break;
    case '7': exit(0);
    }
}
    
}
 
 
void vvod(int n,tovar* tov)
{
    
    char vibor;
    cout<< " 1 - с консоли \n";
    cout<< " 2 - из файла \n" ;
    cin>>vibor;
    switch(vibor)
    {
    case '1': consolVvod(n,tov);break;
    case '2': FromFile();break;
    }
}
 
void consolVvod(int n,tovar* tov)
{
 
    //cout<<"Введите размер массива:" ;cin>>n;
//    tovar* tov=new tovar[n];
    for(int i=0;i<n;i++)
    {
        cout<<"Введите номер: ";cin>>tov[i].nomer;
        cout<<"Введите наименование: ";cin>>tov[i].naim;
        cout<<"Введите единици измерения: ";cin>>tov[i].edizm;
        cout<<"Введите количество: ";cin>>tov[i].kolvo;
        cout<<"Введите цену: ";cin>>tov[i].cena;
        cout<<endl;
    }
}
 
void FromFile()
{   
    
   }
 
void vyvodElem(int n,tovar* tov)
{
 
    char VibViv;
    cout<< "Выберите куда выводить элементы \n";
    cout<< "1 - на экран \n";
    cout<< "2 - в файл \n";
    cin>>VibViv;
    switch(VibViv)
    {
    case '1': vivodEkran(n,tov);break;
    case '2': vivodFile(n,tov);break;
    }
}
void vivodEkran(int n,tovar* tov)
{
    cout<<"Список товара:\n";
    for(int i=0;i<n;i++)
    {
      cout<<"Номер:            |"<<tov[i].nomer<<";\n";
      cout<<"Наименование:     |"<<tov[i].naim<<";\n";
      cout<<"Еденицы измерения:|"<<tov[i].edizm<<";\n";
      cout<<"Количество:       |"<<tov[i].kolvo<<";\n";
      cout<<"Цена:             |"<<tov[i].cena<<";\n";
      cout<<endl;
    }
    system("pause");
}
void vivodFile(int n,tovar* tov)
{
    FILE *f;
 f=fopen("Tovar.txt","w");  
for (int i = 0; i < n; i++)
        {
            fprintf(f,"%i",tov[i].nomer);
            fprintf(f," \n");
            fputs(tov[i].naim,f);
            fprintf(f,"\n ");
            fputs(tov[i].edizm,f);
            fprintf(f,"\n ");
            fprintf(f,"%i",tov[i].kolvo);
            fprintf(f,"\n ");
            fprintf(f,"%i",tov[i].cena);
            fprintf(f,"\n ");
            fprintf(f,"\n ");
        }
fclose(f);
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.05.2012, 22:55
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Разработать программу, реализующую алгоритм очереди (20 элементов) (C++):

Разработать программу, реализующую алгоритм стека (20 элементов). Задача решается в двух вариантах: статическом и динамическом - C++
Разработать программу, реализующую алгоритм стека (20 элементов). Задача решается в двух вариантах: статическом (на основе массива...

Разработать программу формирования очереди, содержащей целые числа, и упорядочивания по возрастанию элементов в этой очереди. - C++
Доброе всем время суток! Помогите пожалуйста! Разработать программу формирования очереди, содержащей целые числа, и упорядочивания по...

Разработать программу с использованием наследования классов, реализующую классы - C++
Ребят помоги пожалуйста начинающему программисту. Использовать максимально возможное количество возможных функций (не менее 3), а...

Разработать программу реализующую чтение и запись в типизированный файл - C++
Здраствуйте . Начал писать и в самом начале возникла проблема. Написана только одна функция . Нужно записать структуру в типизированный...

Разработать программу, реализующую многопочность средствами среды Win32 - C++
помогите пожалуйста разобраться с задачей. &quot;Задание Разработать программу, реализующую многопочность средствами среды Win32. Программа...

Разработать программу, реализующую абстрактный тип данных, через механизм классов - C++
Определить класс треугольник, а также продемонстрировать использование класса. Члены класса: переменные, необходимые для того, чтобы иметь...

10
alexandr_9094
0 / 0 / 0
Регистрация: 12.05.2013
Сообщений: 1
16.05.2013, 01:55 #2
Ты уже программу дописал?
0
Kovrik15
2 / 2 / 0
Регистрация: 24.05.2012
Сообщений: 30
25.05.2013, 04:07  [ТС] #3
Цитата Сообщение от alexandr_9094 Посмотреть сообщение
Ты уже программу дописал?
написал конечно)
0
wojaovlad
0 / 0 / 0
Регистрация: 28.02.2015
Сообщений: 1
26.05.2013, 19:38 #4
Kovrik15, Здравствуй. Можешь мне скинуть код программы, которую ты описывал в теме " Разработать программу, реализующую алгоритм очереди (20 элементов)", ты там писал, что написал уже программу. Пожалуйста, если не трудно.
0
RuFuS007
0 / 0 / 0
Регистрация: 07.06.2013
Сообщений: 1
10.06.2013, 12:21 #5
Kovrik15, доброго времени суток, хотелось бы задать пару вопросов касающихся твоей проги. Отпиши как сможешь.
0
Kovrik15
2 / 2 / 0
Регистрация: 24.05.2012
Сообщений: 30
10.06.2013, 15:18  [ТС] #6
Цитата Сообщение от RuFuS007 Посмотреть сообщение
Kovrik15, доброго времени суток, хотелось бы задать пару вопросов касающихся твоей проги. Отпиши как сможешь.
отписал)
1
Дезертир
0 / 0 / 0
Регистрация: 17.02.2014
Сообщений: 6
17.02.2014, 12:19 #7
Kovrik15, когда тебя можно застать на форуме??
0
Kovrik15
2 / 2 / 0
Регистрация: 24.05.2012
Сообщений: 30
18.02.2014, 22:18  [ТС] #8
Дезертир, я тут особо не появляюсь, а что надо?
0
Дезертир
0 / 0 / 0
Регистрация: 17.02.2014
Сообщений: 6
19.02.2014, 13:40 #9
Kovrik15, не работают 4 команды(2,4,5,6), как это исправить??
C++
1
2
3
4
5
6
7
case '1': vvod(n,tov);break;
//  case '2': delElem();break;
//  case '3': clean(); break;
    case '4': vyvodElem(n,tov);break;
//  case '5': vyvodColich();break;
//  case '6': sdvig();break;
    case '7': exit(0);
Добавлено через 4 часа 0 минут
Цитата Сообщение от Kovrik15 Посмотреть сообщение
Дезертир, я тут особо не появляюсь, а что надо?
А где тебя можно найти?
0
Дезертир
0 / 0 / 0
Регистрация: 17.02.2014
Сообщений: 6
31.03.2014, 23:35 #10
Я так понял тему можно закрывать......
0
Nick777
0 / 0 / 0
Регистрация: 23.05.2014
Сообщений: 2
23.05.2014, 15:11 #11
Kovrik15, Привет. Будь добр скинь пожалуйста дописанный код программы из этой темы, если не трудно. Хочу разобраться, ато у меня похожее задание, но другая структура.
0
23.05.2014, 15:11
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.05.2014, 15:11
Привет! Вот еще темы с ответами:

Разработать программу с использованием наследования классов, реализующую классы: точка; линия; круг - C++
помогите написать программу: Разработать программу с использованием наследования классов, реализующую классы: точка; линия; круг....

Написать программу, реализующую алгоритм шифрования и дешифрования сообщения RSA - C++
Помогите написать программу, реализующую алгоритм шифрования и дешифрования сообщения RSA. Входные данные: открытый и секретный ключи...

Разработать программу, реализующую численное интегрирование по методу Рунге-Кутта 4-го порядка точности дифференциального уравнения - C++
Всем привет! Я полное дно в этом вопросе, да и как то отвык от данных задач, но если не сложно то нужна помощь. Нужно сделать курсовую...

Разработать программу, моделирующую организацию и поддержание очереди - C++
Помогите пожалуйста сделать курсовую работу. Я не знаю как ее делать ЗАДАЧА 1 В специализированном магазине по продаже холодильников...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.