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

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

Войти
Регистрация
Восстановить пароль
 
meoow
Сообщений: n/a
#1

Переоформить структуру в класс - C++

12.10.2012, 15:03. Просмотров 475. Ответов 2
Метки нет (Все метки)

Есть один код(работающий код), в котором структуру нужно преобразовать в класс, очень рассчитываю на вас :
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
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
using namespace std;
 
#define BUFFER_LENGTH 81
 
 
struct Node
{
     int value;   
     Node* next;  
};
 
 
void stack_push(Node * beg, int key) 
{
    
     Node *tec = beg;
 
     while (tec->next != NULL) tec = tec->next;
 
     Node * T = new Node;
     T->value = key;
     T->next = NULL;
     
     tec->next = T;
}
 
int stack_pop(Node * beg) 
{
    Node *tec = beg;
    if (tec->next == NULL)
    return -1;
    else
    {
        Node *prev = tec;
        while (tec->next != NULL)
        {
            prev = tec;
            tec = tec->next;
        }
        int a = tec->value;
        prev->next = NULL;
        return a;
    }
}
 
Node * stack_init() 
{
    Node * T = new Node;
    T->next = NULL;
    T->value = -1;
     return T;
}
 
void Print(Node * beg)
{
 
     Node *tec = beg;
    while (tec->next != NULL)
     {
 
          tec = tec->next;
   
          cout << tec->value << "   ";
     }
     cout << endl;
}
 
 
void stack_add(Node * beg) 
{
    int a = stack_pop(beg);
    int b = stack_pop(beg);
    stack_push(beg, a + b);
}
 
void stack_sub(Node * beg) 
{
    int a = stack_pop(beg);
    int b = stack_pop(beg);
    stack_push(beg, b - a );
}
 
void stack_mul(Node * beg) 
{
    int a = stack_pop(beg);
    int b = stack_pop(beg);
    stack_push(beg, a * b );
}
 
void stack_div(Node * beg) /* Деление */
{
    int a = stack_pop(beg);
    int b = stack_pop(beg);
    stack_push(beg, b / a );
}
 
 
 
void parse(Node *stack, char *str)
{
    char *st;
    st = strtok(str, " ");
     while (st != NULL)
     {
          switch(st[0])
          {
               case '.':
                    Print(stack);
                    break;
                  case '+':
                    stack_add(stack);
                    break;
               case '-':
                    stack_sub(stack);
                    break;
               case '*':
                    stack_mul(stack);
                    break;
               case '/':
                    stack_div(stack);
                    break;
               default:
                    stack_push(stack, atoi(st));
                    break;
          }
      st = strtok(NULL, " ");
     }
}
 
 
/* Главная функция */
int main()
{
    char buf[BUFFER_LENGTH];
    Node * stack = stack_init();
 
    printf( "Vvedite stroki dlya vichisleniya:\n" );
    printf( "(Dlya vihoda vvedite stroky nachinaushyusya s '#')\n" );
    gets(buf);
    while (1)
    {
         if ((strlen(buf) > 0) && (buf[0] != '#'))
         {
               parse(stack, buf);
            cout << stack_pop(stack) << endl;
           }
        else return 0;
        gets(buf);
    }
    
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.10.2012, 15:03
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Переоформить структуру в класс (C++):

Переоформить матрицу так, чтобы ее строки располагались по неубыванию их поэлементных сумм - C++
Здравствуйте, помогите с программой в Microsoft Visual C++ 6.0 Дана матрица из N строк и М столбцов (1&lt;N&lt;=100, 1&lt;M&lt;=50). Выполнить...

Переписать класс в структуру - C++
Необходимо переписать класс через структуру. #include &quot;commun.h&quot; #include &lt;sstream&gt; template &lt;typename T&gt; std::string...

Переписать структуру на класс - C++
Помогите,пожалуйста написать вот эту программу не через структуру,а через класс #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include...

Переделать структуру на класс - C++
Помогите переделать структуру на класс. Добавить конструктор, деструктор, методы доступа... #include &lt;iostream&gt; #include &lt;conio.h&gt; ...

Переделать структуру в класс - C++
Здравствуйте, помогите переделать структуру в класс..сам пробовал, бред получается:( #include&lt;iostream&gt; #include&lt;conio.h&gt; using...

как встроить структуру в класс - C++
как встроить структуру в класс ??? можно примери ??

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
CheshireCat
Эксперт С++
2892 / 1241 / 78
Регистрация: 27.05.2008
Сообщений: 3,370
12.10.2012, 16:00 #2
C++
1
2
3
4
5
6
class Node
{
public:
     int value;   
     Node* next;  
};
0
XRuZzz
Антикодер
676 / 577 / 28
Регистрация: 15.09.2012
Сообщений: 2,523
12.10.2012, 16:04 #3
Дейтел, страница 690, там как раз наиболее полное и лучшее решение.
, если ещё что нить спросите я вас жарежу
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.10.2012, 16:04
Привет! Вот еще темы с ответами:

Перевести структуру ORDER в класс - C++
Помогите решить! Требуется решить задачу с использованием классов. При этом обязательно оформить методы для выполнения каждого из...

Как вставить структуру в класс? - C++
К как вставить структуру в класс чтобы например: использовать в функциях и так dd.chisl и так далее. struct Clkr { double chisl; ...

Как переделать класс в структуру - C++
Есть представление матрицы смежности через класс. Нужно как-то переделать его в структуру. class Graph { private: bool**...

Как правильно обнулить структуру хранящию класс - C++
struct test{ int a; int b; wstring str; } test as; as.a = 2;


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

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

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