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

Написал прогу по стеку, но при выводе содержимого - выводит только последний добавленный - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Расписать каждую строчку . http://www.cyberforum.ru/cpp-beginners/thread390348.html
Распишите каждую строчку.завтра защищать а я не понимаю чо это ) что делае и т.д 1) Использование компилятора c последующим подключением компановщика и созданием исполняемого файла a.exe H:\laba3>bcc32 -I.\include a.cpp b.cpp c.cpp Borland C++ 5.6 for Win32 Copyright (c) 1993, 2002 Borland a.cpp: b.cpp: c.cpp:
C++ поразрядные операции помогите пожалуйста решить следущую задачу: даны два int-числа: N1 = АBCD и N2 = EFGH, где AB…GH – 16-ричные цифры, ПОп – Поразрядная Операция Получить цифру X как результат выражения: X = A And B Xor C, и записать ее в N2: EFXGH. или хотя бы идею как это реализовать. заранее спасибо http://www.cyberforum.ru/cpp-beginners/thread390345.html
C++ при нажатии на "=" вывести ответ..
Писала простенькую прогу калькулятор, тут ответ считывает при нажатии на enter. Преподаватель попросил, чтобы ответ выводился при нажатии на "=", но как?? int main() { int ch; do{ // основной код ch=getch(); }while(ch!=48); return0; ------> так? но так не получается у меня :(
Обмен данными между процессами с помощью файлов, которые отображаются в память C++
Классическая задача "читатели-писатели", обмен информацией должен проходить с помощью файлов, отображаемых в память. Задание уже готово, но имеет один неприятный баг - при дебагинге видно, что при вводе длинных строк программа вешается, из-за того, что первый байт файла в памяти, почему-то, устанавливается в нуль. Собственно, прошу объяснений и помощи, форумчане. :) Ниже фрагменты программы, в...
C++ Найти максимальный элемент и его номер среди отрицательных элементов. http://www.cyberforum.ru/cpp-beginners/thread390333.html
собственно вот задание. я вот что-то не могу понять как его сделать, если возможно - расскажите, как найти или напишите.
C++ Упорядочить файл, содержащий записи из двух полей (числового и текстового), в порядке возрастания числа Здраствуйте, ребят подскажите, пожалуйста, как примерно написать такие программы, хотя бы идею подскажите, что использовать: 1)Напишите программу, которая бы упорядочивала файл, содержащий записи, состоящие из двух полей - числового и текстового, в порядке возрастания числового поля. 2)Напишите программу, которая дописывает в файл действительные числа из входного файла. подробнее

Показать сообщение отдельно
Prigor
0 / 0 / 0
Регистрация: 23.11.2011
Сообщений: 9
23.11.2011, 23:26     Написал прогу по стеку, но при выводе содержимого - выводит только последний добавленный
Вот собственно сам код, подскажите если что не так. Заранее спасибо!

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
158
159
160
161
162
163
164
165
166
#include <iostream>
#include <stack>
using namespace std;
 
 
class Node 
{
public:
    int number;
    Node* last;
};
 
Node* ptrLast = NULL;
Node* top = NULL;
 
void push ()  //добавление в стек
{
            system("cls");
            int numb = -1;          
            cout<<"Введите Число: "; cin>>numb;
            Node* ptr = new Node;
            ptr->number = numb;         
            if (top == NULL)
            {
                ptr->last = NULL;
                top = ptr;
                ptrLast = ptr;
                system("cls");
            //  continue;
            }
            top = ptr;
            ptr->last = ptrLast;
            ptrLast = ptr;
            system("cls");
            //continue;
}
 
void pop () //удаление из стека
{
            system("cls");
            Node* ptrDelete = NULL;
            if (top == NULL)
            {
                cout<<"\t!!! СТЕК ПУСТ !!!\n\n";
                system("pause");
                system("cls");
                //continue;
            }   
            else
            {
            ptrDelete = top;
            if (ptrDelete->last == NULL)
            {
                top = NULL;
                delete ptrDelete;
                system("cls");
                //continue;
            }
            top = ptrDelete->last;
            ptrLast = top;
            delete ptrDelete;
            //continue;
            }
}
 
void versh () //просмотр вершины
{
            system("cls");
            if (top == NULL)
            {
                cout<<"\t!!! СТЕК ПУСТ !!!\n\n";
                system("pause");
                system("cls");
                //continue;
            }
            else
            {
            cout<<"Вершина Стека: ";
            cout<<top->number<<"\n\n";
            system("pause");
            system("cls");
            //continue;
            }
}
 
void soderzh () //содержимое стека
{
            system("CLS");
            Node* ptr = NULL;
            if (top == NULL)
            {
                cout<<"\t!!! СТЕК ПУСТ !!!\n\n";
                system("PAUSE");
                system("CLS");
                //continue;
            }
            cout<<"* * * * * СОДЕРЖИМОЕ СТЕКА * * * * *\n\n";
            ptr = top;
            while (1)
            {
                cout<<ptr->number<<endl;
                if (ptr->last == NULL)
                {
                    system("PAUSE");
                    system("CLS");
                    break;
                }
                else
                {
                ptr = ptr->last;
                break;
                }
            }
}
 
 
int main ()
{
    setlocale (0, "");
    int vyb;
    while (1)
    {
    cout<<"\n1. Добавить в Стек\n2. Вытолкнуть Из Стека\n3. Вершина Стека\n4. Содержимое Стека\n0. Выход\n\n"; cin>>vyb;
    cout<<"Ваш выбор: "<<vyb;
 
    switch (vyb)
    {
    case 0:
        {
        return 0;
        }break;
    case 1:
        {
            push ();
            soderzh ();
            system ("pause");
            system("cls");
        }break;
    case 2:
        {
            pop ();
            soderzh ();
            system ("pause");
            system("cls");
        }break;
    case 3:
        {
            versh ();
            system ("pause");
            system("cls");
        }break;
    case 4:
        {
 
            soderzh ();
            system ("pause");
            //system("cls");
        }break;
 
    }
    }
 
 
    system ("pause");
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 08:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru