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

Переделать структуру в класс - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Принятие указателя в функции http://www.cyberforum.ru/cpp-beginners/thread1095518.html
Доброго времени суток! Возникла проблема с написанием функции а точнее: Есть структура: struct FunctionList { typedef void (APIENTRY* Function1_t)(HWND hwnd); Function1_t p_Function;
C++ Где ошибка? Компилятор ругается и очень больно #include "stdafx.h" #include<stdio.h> #include<math.h> int _tmain(int argc, _TCHAR* argv) { float E; printf("Input E>0"); http://www.cyberforum.ru/cpp-beginners/thread1095516.html
Вычислить значение выражения C++
Вычислить значение выражения. Объяснить полученные результаты. 1. Для ввода и вывода данных использовать операции >> и << и стандартные потоки cin и cout. 2. Для вычисления степени можно использовать функцию pow(x,y) из библиотечного файла math.h.
C++ Ошибка преобразования "Невозможно преобразовать 'const WidgetVector' в 'WidgetVector'"
Выбивает ошибку, раньше никогда с const_cast не работал не совсем представляю что от меня требуетсяconst WidgetShared& WidgetContainer::GetWidget( String id ) const { mutable WidgetVector::iterator i; // error 1 for ( i = const_cast<WidgetVector>(m_widgets).begin(); i < m_widgets.end(); i++ ) // error 2, 3 { if ( (*i)->GetId() == id ) return (*i); } return m_widgets.back();...
C++ блок программы скобки, всегда встречаю по разному http://www.cyberforum.ru/cpp-beginners/thread1095509.html
как лучше ставить скобки int main() { return 0; } или
C++ Необходимо написать часть проги на С++ в виде функции: вывести список отраслей с непрерывным производством в течение 5 лет Необходимо написать часть проги на С++! Есть таблица: название отрасли и ее выпуск в течении 5 лет. Нужно вывести список отраслей с непрерывным увеличением производства в течение 5-ти лет. (в виде функции!!) Лучше с комментариями :) подробнее

Показать сообщение отдельно
Vova_Sim
2 / 2 / 0
Регистрация: 07.11.2012
Сообщений: 50

Переделать структуру в класс - C++

13.02.2014, 00:31. Просмотров 492. Ответов 3
Метки (Все метки)

Здравствуйте, помогите переделать структуру в класс..сам пробовал, бред получается
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
167
168
169
170
171
#include<iostream>
#include<conio.h>
using namespace std;
//Организация стека в виде однонаправленного списка
struct element{
public:
float x,y;//элементы стека
element *prev;//указатель на предшествующий элемент
 
};
//функции работы со стеком
element *pop(); //извлечение элемента их стека
void push(element* );//добавление элемента в стек
void del_stek(); //удаление стека
//сервисные функции
void put_sp(); //печать содержимого стека на экран
int put_el();//печать содерж. элемента стека на экран
element *vvod();//вводx,y
int insert(element, element*);//вставка элементаz2
//после элементаz1
int udal_el(element*);//удаление заданного элемента
element *Golova=0;//указатель на вершину стека
int main() {
    setlocale(LC_ALL,"rus");
cout<<"--Создаем  стек--"<<endl;
element *z;
//цикл заполнения стека
while((z=vvod())!=0)push(z);
if(!Golova){
cout<<"Список пуст. Пока!"<<endl;
getch(); return 0;
}
cout<<"---Содержимое стека---\n";
put_sp();
cout<<"----------------------\n";
cout <<"Вставка элемента a2 после a1"<<endl;
element *a1, *a2;
cout<<"Введитеa1:\n";
if ((a1=vvod())!=0){
cout<<"Введитеa2:\n";
if ((a2=vvod())!=0){
if(insert(*a1, a2)) cout<<"Ok\n";
else cout<<" Элемент а1 не найден";
}
cout<<"---Содержимое стека---\n";
put_sp();
cout<<"----------------------\n";
} else cout<<"Вставка отменена"<<endl;
cout<<"\n Удаление элемента. "<<endl;
cout<<"Введитеa1: ";
if ( (a1=vvod())!=0){
if( udal_el(a1)) cout<<"Ok\n"<<endl;
else cout<<"Элемент не найден\n"<<endl;
}
else cout<<"Удаление элемента отменено!"<<endl;
cout<<"---Содержимое стека---\n";
put_sp();
cout<<"----------------------\n";
getch();
cout <<"Вытолкнуть элементы из стека"<<endl;
z=Golova;
int k=0;
while(((z=pop())!=0)){
cout<<"  "<<++k<<": Вытолкнули из стека элемент: ";
cout<<"x = "<<z->x<<" y = "<<z->y<<endl;
cout<<"---Содержимое стека---\n";
put_sp();
cout<<"----------------------\n";
getch();
}
del_stek();//уничтожение стека
getch(); return 0;
}
element* pop () //извлечение элемента из стека
{
element  *p=Golova;//Golova  -  указатель  на  вершину стека
if(!p) { cout<<"Cтек пуст\n";return 0;}
Golova=p->prev;//указатель вершины стека
//устанавливаем на предшествующий
// элемент извлекаемого элемента
return p;//возвращаем извлеченный из стека элемент
}
void push(element *p) //добавление элемента в стек
{
if(!Golova){ //если список пуст
Golova=p; //указатель на вершину устанавливаем
//на новый элемент
p->prev=0; //указатель на предшествующий элемент
// нового элемента
//устанавливаем в0
return; //выход из функции
}
//если стек не пуст
p->prev=Golova;
//устанав.на тот, на который указывает вершина стека
Golova=p;//указ-ль  вершины  стека  устанав.на  новый Эл/ент
}
void del_stek() //удаление всех элементов из стека
{
element *p=Golova,*q;
while(p){
q=p->prev;
delete p;
p=q;
}
}
element *vvod()//вводx,y
{
element *a=new element;
cout<<"Для прекращения ввода введите0\n";
cout<<"x = ";cin>>a->x;
if (a->x==0){
delete a;
return 0;
}
cout<<"y = ";cin>>a->y;
return(a);
}
int put_el() //вывод текущего элемента на экран
{
element *p=Golova;
cout<<"x = "<<p->x;
cout<<"; y = "<<p->y<<endl;
return 0;
}
void put_sp()//печать стека на экран
{
element *p=Golova;
if(!p){cout<<"Стек пуст!\n"; return ;}
while(p){
cout<<"x = "<<p->x;
cout<<"; y = "<<p->y<<endl;
p=p->prev;
}
}
//----------------------------------//вставка элементаz2 после элементаz1
int insert(element z1, element* z2)
{
element *p=Golova,*q;
do {
if((p->x==z1.x)&&(p->y==z1.y)){
q=p->prev;
z2->prev=q;
p->prev=z2;
return 1;
}
p=p->prev;
} while(p);
return 0;
}
int udal_el(element* z)// удаление заданного элемента
{
element *p=Golova;// если это головной элемент
if((p->x==z->x)&&(p->y==z->y)){
Golova=p->prev;
delete p;
return 1;
}
element *q;
do{
q=p;
if((p->prev->x==z->x)&&(p->prev->y==z->y)){
p=p->prev;
q->prev=p->prev;
delete p;
return 1;
}
p=p->prev;
} while(p);
return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru