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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вывод чисел, стоящих на четных местах, в десятичной с.с., а чисел, стоящие на нечетных местах, как вещественных с одним знаком после запятой http://www.cyberforum.ru/cpp-beginners/thread669504.html
В файле a.txt задано 10 целых чисел в восьмеричной системе счисления. Выведите числа, стоящие на четных местах в десятичной системе счисления, а числа, стоящие на нечетных местах как вещественные с...
C++ Сортировка массива методом пузырька в несколько потоков Как ето зделать . Программа может работать и не всегда корректно, мне главное чтобы посмотреть как это происходит ... http://www.cyberforum.ru/cpp-beginners/thread669496.html
C++ Раскидывание файлов по месяцам
Всем доброго времени суток, прошу написать программу которая из 1 папки с находящимися в ней файлами (в именах файлов написаны даты) рассортирует эти файлы по месяцам попутно создавая папки месяца. ...
missing function header (old-style formal list?) C++
#include <stdio.h> #include <conio.h> #include <math.h> int main(); { unsignet short int (R1,R2);
C++ Линковка библиотек DirectX SDK http://www.cyberforum.ru/cpp-beginners/thread669468.html
Добрый день, знатоки. У меня проблема с линковкой, поиск юзал, но советы из других тем не помогли. В общем, установил я Microsoft DirectX SDK (June 2010), запустил в VS2010 самый простейший...
C++ Вычисление стоимости обучения в университете с учетом скидки При поступлении на платное обучение в университет абитуриенты получают скидку в зависимости от суммарного результата ЕГЭ по трем предметам. Схема следующая: 0-49 баллов не дают скидки; 50-99 баллов... подробнее

Показать сообщение отдельно
meoow
Сообщений: n/a

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

12.10.2012, 15:03. Просмотров 478. Ответов 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);
    }
    
}
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru