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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.73
fantamas
0 / 0 / 0
Регистрация: 21.10.2012
Сообщений: 4
#1

реализация стека - C++

21.10.2012, 15:30. Просмотров 2036. Ответов 6
Метки нет (Все метки)

всем привет!
народ помогите с программой (не пойму в чем ошибка, помогите исправить)

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
#include "stdafx.h"
#include <iostream>
#include <cstdlib>
#define N 1024
using namespace std;
struct ELEMENT
{
int Content;
ELEMENT *Next;
};
typedef ELEMENT *LPELEMENT;
class STACK
{
public:
void initial();
int Push(int Content);
int Pop(int &Content);
int Empty(int Content);
int Full(int Content);
void OutPut();
public:
LPELEMENT Start;
};
 
 
void STACK::initial()
{
Start=NULL;
}
 
int STACK::Empty(int Content)
{
if (Content==0)
return 1;
else
return 0;
 
}
 
int STACK::Full(int Content)
{
if (Content==N)
return 1;
else
return 0;
 
}
 
int STACK::Push(int Content)
{
LPELEMENT NE=new ELEMENT;
if(!NE)
return 0;
NE->Content=Content;
NE->Next=Start;
Start=NE;
return 1;
}
 
int STACK::Pop(int &Content)
{
if(!Start)
return 0;
Content=Start->Content;
LPELEMENT Temp=Start;
Start=Start->Next;
delete Temp;
return 1;
}
 
void STACK::OutPut()
{
if(!Start)
{
printf("стек пуст\n");
return;
}
LPELEMENT Temp=Start;
while(Temp)
{
printf("%i\n",Temp->Content);
Temp=Temp->Next;
}
}
 
void main()
{setlocale(LC_ALL,"Russian");
STACK Stack;
int x;
char c;
 
do
{
cout << "1. Добавление элемента в вершину стека" << endl
<< "2. Удаление элемента из вершины стека" << endl
<< "3. Вывести элементы стека" << endl
<< "4. Проверка пустоты стека" << endl
<< "5. Проверка заполненности стека" << endl
<< "0. Выход" << endl;
cin >> c;
switch(c)
{
case '1':
if (Stack.Full(x)==1)
cout << endl << "Стек полный" << endl;
else
{
Stack.Push(x);
cout << endl << "Элемент добавлен в стек" << endl;
}
break;
case '2':
if (Stack.Empty(x)==1)
cout << endl << "Стек пуст" << endl;
else
{
Stack.Pop(x);
cout << endl << "Элемент удален из стека" << endl;
}
break;
case '3':
if (Stack.Empty(x)==1)
cout << endl << "Стек пуст" << endl;
else
{
cout << endl << "Элементы стека" << endl;
Stack.OutPut();
cout << endl;
}
break;
case '4':
if (Stack.Empty(x)==1)
cout << endl << "Стек пуст" << endl;
else
cout << endl << "В стеке "<< ELEMENT.Content <<" элемента" << endl; // тут
case '5':
if (Stack.Full(x)==1)
cout << endl << "Стек полный" << endl;
else
cout << endl << "Есть возможность добавить " << N-ELEMENT.Content << " элементов" << endl; // тут 
break;
 
case'0':
break;
default:
cout << endl << "Ошибка" << endl;
break;
}
}while(c!='0');
cin.get();
 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.10.2012, 15:30     реализация стека
Посмотрите здесь:

Реализация стека - C++
Здравствуйте, помогите пожалуйста с реализацией стека без использования STL. Стек отображен в памяти Вектором, память статическая(1...

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

Реализация стека - C++
вот такие ошибки при реализации: stack.h(26) : error C2953: 'Stack' : class template has already been defined liststack.h(10) : error...

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

Реализация стека с шаблонами - C++
Вообщем, реализую стек известная проблема, не могу понять почему не компилирует, хотя 20 раз все проверил #include &lt;iostream&gt; ...

Реализация стека на указателях - C++
Стек на указателях: #include &lt;iostream&gt; using std::cin; using std::cout; using std::endl; enum FirstNodeEnum{NoFirstNode,...

Реализация класса стека - C++
Приветствую! Пробую написать класс стека, но работает не совсем так, как задумывалось. Что-то не так с получением значения // Êëàññ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
21.10.2012, 15:45     реализация стека #2
Надо обращаться к существующему объекту, а не к типу.
Например, в вашем случае:
C++
1
2
3
ELEMENT object;
object.Content;//правильно
ELEMENT.Content;//не верно
fantamas
0 / 0 / 0
Регистрация: 21.10.2012
Сообщений: 4
21.10.2012, 15:53  [ТС]     реализация стека #3
поменял но всеравно ошибку выдает(
I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
21.10.2012, 15:56     реализация стека #4
Что поменяли, что добавили, какая теперь ошибка
fantamas
0 / 0 / 0
Регистрация: 21.10.2012
Сообщений: 4
21.10.2012, 16:01  [ТС]     реализация стека #5
выражение слева от ".Content" должно представлять класс, структуру или объединение
1> тип: 'unknown-type'

Добавлено через 2 минуты
может ли быть ошибка иза самого visual studio?
I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
21.10.2012, 16:09     реализация стека #6
VS ни при чем.
Что добавили-то
VS вам пишет, что она понятия не имеет о том типе данных, который вы написали
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.10.2012, 16:31     реализация стека
Еще ссылки по теме:

Реализация и использование стека - C++
Господа, помогите разобраться со стеком. Хотя бы расскажите, как его правильно объявлять и заполнять. Я смотрел много всяких тем и сайтов,...

Реализация стека. Но ошибка - C++
написала программу но выдает ошибку. #include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; const int max_size=60; class...

Реализация стека массивом - C++
При реализации стека массивом обеспечить размещение двух стеков в одном массиве. Один стек размещается в начале массива и растет до конца,...

Собственная реализация стека. Критика - C++
Покритикуйте пожалуйста реализацию. Самому мне не очень нравится момент с завершением работы программы в catch блоке, но не знаю как обойти...

Простейшая реализация стека и очереди - C++
Имеется пример реализации стека: #include &lt;cstdlib&gt; #include &lt;iostream&gt; using namespace std; class Stack { private: ...


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

Или воспользуйтесь поиском по форуму:
fantamas
0 / 0 / 0
Регистрация: 21.10.2012
Сообщений: 4
21.10.2012, 16:31  [ТС]     реализация стека #7
все спасибо за советы
разобрался

Добавлено через 10 минут
а вот нет(( не удаляет элементы из стека помогите кто может
Yandex
Объявления
21.10.2012, 16:31     реализация стека
Ответ Создать тему
Опции темы

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