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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.73
fantamas
0 / 0 / 0
Регистрация: 21.10.2012
Сообщений: 4
21.10.2012, 15:30     реализация стека #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
#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++ Реализация стека
C++ Реализация стека
Реализация стека C++
Реализация класса стека C++
Реализация стека. Но ошибка C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
I.M.
 Аватар для 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.
 Аватар для 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.
 Аватар для 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++
C++ Реализация стека

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

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

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

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