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

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

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

Реализовать алгоритм обработки исключений.



3. Студент
i. № группы (ключ)
ii. № зачетки (ключ)
iii. Фамилия
iv. Имя
v. Отчество
vi. Средний балл
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.11.2012, 23:29     Разработать программу, реализующую алгоритм стека (20 элементов). Задача решается в двух вариантах: статическом и динамическом
Посмотрите здесь:

Разработать программу, реализующую многопочность средствами среды Win32 C++
Реализация стека в динамическом массиве C++
C++ Разработать алгоритм определяющий взаимное расположение двух прямых в пространстве помогите пожалуйста
C++ Разработать алгоритм определяющий взаимное расположение двух прямых в пространстве
C++ Реализация стека на массиве и динамическом распределении памяти
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
panicwassano
591 / 559 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
07.11.2012, 00:17     Разработать программу, реализующую алгоритм стека (20 элементов). Задача решается в двух вариантах: статическом и динамическом #2
ну и где ваши наброски? выкладвайте допишем
privit_91
13 / 13 / 0
Регистрация: 06.11.2012
Сообщений: 79
23.11.2012, 20:32  [ТС]     Разработать программу, реализующую алгоритм стека (20 элементов). Задача решается в двух вариантах: статическом и динамическом #3
Я не знаю с какой стороны подойти.

Помогите написать структура со стеком в динамическом и статическом варианте.
Дезертир
0 / 0 / 0
Регистрация: 17.02.2014
Сообщений: 6
17.02.2014, 10:37     Разработать программу, реализующую алгоритм стека (20 элементов). Задача решается в двух вариантах: статическом и динамическом #4
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 <stdio.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);
}
Правильно ли написана программа? panicwassano, не могли бы вы написать мне на почтовй ящик, хочу задать пару вопросов по поводу программы Kotov-vladimir_92@mail.ru
Yandex
Объявления
17.02.2014, 10:37     Разработать программу, реализующую алгоритм стека (20 элементов). Задача решается в двух вариантах: статическом и динамическом
Ответ Создать тему
Опции темы

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