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

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

Войти
Регистрация
Восстановить пароль
 
Aleksandr_D
0 / 0 / 0
Регистрация: 02.12.2012
Сообщений: 24
#1

Ошибки в коде - C++

22.12.2013, 00:24. Просмотров 349. Ответов 11
Метки нет (Все метки)

Привет народ) Когда запускаю программу она мне выдаёт ошибки и говорит что то про showMeAndSelect в Main.cpp. Помогите разобраться пожалуйста)))
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
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
// Car.h – — Спецификация CCar
#pragma once
#include <string>
using namespace std ;
class CCar
{
protected:
    string m_model ;    // модель
    double m_mass ; // масса
public:
    CCar ( ) ; CCar ( const string&, const double ) ;
    CCar ( const CCar& ) ; virtual ~CCar ( ) ;
    virtual void mod ( int ) ;  // виртуальная функция
    friend class CMenu ;        // CMenu – — друг класса CCar 
} ;
// Car.cpp - Реализация CCar
#include "Car.h"
CCar :: ~CCar ( ) { }
void CCar :: mod ( int n )      // виртуальная функция
{   m_mass += n ;   }
// Cargo.h – — Спецификация CCargo
#pragma once
#include "Car.h"
class CCargo : public CCar
{
protected:
    int m_carCapacity ; // грузоподъёемность
public:
    CCargo ( ) ; CCargo ( const string&, const double, const int ) ;
    CCargo ( const CCargo& ) ; ~CCargo ( ) ;
    virtual void mod ( int ) ;  // виртуальная функция
    friend class CMenu ;        // CMenu – — друг класса CCargo
} ;
// Cargo.cpp - Реализация CCargo
#include "Cargo.h"
CCargo :: ~CCargo ( )   { }
void CCargo :: mod ( int n )        // виртуальная функция
{
    CCar :: mod ( n ) ;     // вызов функции базового класса
m_carCapacity += n ;
}
// Carriage.h – — Спецификация CCarriage
#pragma once
#include "Car.h"
class CCarriage : public CCar
{
    string m_type ; // тип вагона
    int m_places ;      // число мест
public:
    CCarriage ( ) ;
    CCarriage ( const string&, const double, const string&,      пѓ„const int ) ;
    CCarriage ( const CCarriage& ) ;    ~CCarriage ( ) ;
    void setType ( const string& ) ;    void setPlaces ( const int ) ;
    string getType (   ) const ;        int getPlaces (   ) const ;
    void mod ( int ) ;      // виртуальная функция
    friend class CMenu ;        // CMenu – — друг класса CCarriage
} ;
// Carriage.cpp - Реализация CCarriage
#include "Carriage.h"
CCarriage :: ~CCarriage ( ) { }
void CCarriage :: setType ( const string& t ) { m_type = t ; }
void CCarriage :: setPlaces ( const int p ) { m_places = p ; }
string CCarriage :: getType ( ) const { return m_type ; }
int CCarriage :: getPlaces ( ) const { return m_places ; }
void CCarriage :: mod ( int n ) // виртуальная функция
{
    CCar :: mod ( n ) ;     // вызов функции базового класса
++m_places ;
}
// Platform.h – — Спецификация CPlatform
#pragma once
#include "Cargo.h"
class CPlatform : public CCargo
{
public:
    int m_boards ;      // количество бортов
    CPlatform ( ) ;
    CPlatform ( const string&, const double, const int, const int ) ;
    CPlatform ( const CPlatform& ) ; ~CPlatform ( ) ;
    void mod ( int ) ;      // виртуальная функция
    friend class CMenu ;        // CMenu – — друг класса CPlatform
} ;
// Platform.cpp - реализация CPlatform
#include "Platform.h"
CPlatform :: ~CPlatform ( ) { }
void CPlatform :: mod ( int n ) // виртуальная функция
{   m_boards -= n ; }
// Tank.h – — Спецификация CTank
#pragma once
#include "Cargo.h"
class CTank : public CCargo
{
    double m_volume ;       // объёем котла
public:
    CTank ( ) ;
    CTank ( const string&, const double, const int, const double ) ;
    CTank ( const CTank& ) ; ~CTank ( ) ;
    void setVolume ( const double ) ;   double getVolume ( ) const ;
    void mod ( int ) ;      // виртуальная функция
    friend class CMenu ;        // CMenu – — друг класса CTank
} ;
// Tank.cpp - Реализация CTank
#include "Tank.h"
CTank :: ~CTank ( )   { }
void CTank :: setVolume ( const double v ) { m_volume = v ; }
double CTank :: getVolume ( ) const { return m_volume ; }
void CTank :: mod ( int n )     // виртуальная функция
{   m_volume += n ; }
// Menu.h – — Спецификация CMenu
#include "Car.h"
class CMenu
{
public:
    CCar* m_p ;         // указатель на базовый тип
    CMenu ( ) { }       ~CMenu ( ) { }
    void showMenuAndSelect ( ) ;
private:
    void tank ( ) ; void platform ( ) ; void carriage ( ) ;
} ;
// Menu.cpp – — Реализация класса CMenu
#include <iostream>
using namespace std ;
#include "Menu.h"
#include "Tank.h"
#include "Platform.h"
#include "Carriage.h"
// активизация меню
void CMenu :: showMenuAndSelect ( )
{
    char choice ;
    do
    {
        cout << "\n1. Tank\t2. Platform\t3. Carriage\t0. Exit\n" ;
        cout << "Please, your choice -> " ; cin >> choice ;
        switch ( choice )
        {
        case '1': tank ( ) ; break ;
        case '2': platform ( ) ; break ;
        case '3': carriage ( ) ; break ;
        }
    } while ( choice != '0' ) ;
}
// проверка класса CTank
void CMenu :: tank ( )
{
    cout << "\nTank\n" ;
    CTank* p = new CTank ( "15-1547", 24.5, 68, 85 ) ;
    cout << "Model\t" << p -> m_model << endl ;
    cout << "Mass\t" << p -> m_mass << endl ;
    cout << "Carriage capacity\t" << p -> m_carCapacity << endl ;
    cout << "Volume of the boiler\t" << p -> m_volume << endl ;
    cout << "\nTANK UPDATING\n" ;
    m_p = p ;
    m_p -> mod ( 2 ) ;  // вызов через указатель на базовый тип
    cout << "Volume of the boiler\t" << p -> m_volume << endl ;
    p -> mod ( 2 ) ;    // вызов через указатель на производный тип
    cout << "Volume of the boiler\t" << p -> m_volume << endl ;
    CTank o ( *p ) ; m_p = & o ;
    m_p -> mod ( 4 ) ;  // вызов через указатель на базовый тип
    cout << "Volume of the boiler\t" << o.m_volume << endl ;
    delete p ;
}
// проверка класса CPlatform
void CMenu :: platform ( )
{
    cout << "\nPlatform\n" ;
    CPlatform* p = new CPlatform ( "13-4012", 21.4, 71, 4 ) ;
    cout << "Model\t" << p -> m_model << endl ;
    cout << "Mass\t" << p -> m_mass << endl ;
    cout << "Carriage capacity\t" << p -> m_carCapacity << endl ;
    cout << "Quantity of boards\t" << p -> m_boards << endl ;
    cout << "\nMODIFY PLATFORM\n" ;
    m_p = p ; m_p -> mod ( 2 ) ;
    cout << "Quantity of boards\t" << p -> m_boards << endl ;
    delete p ;
}
// проверка класса CCarriage
void CMenu :: carriage ( )
{
    cout << "\nCarriage\n" ;
    CCarriage* p = new CCarriage ( "61-807", 55, "Compartment", 36 ) ;
    cout << "Model\t" << p -> m_model << endl ;
    cout << "Mass\t" << p -> m_mass << endl ;
    cout << "Type\t" << p -> m_type << endl ;
    cout << "Number of places\t" << p -> m_places << endl ;
    cout << "\nMODIFY CARRIAGE\n" ;
    m_p = p ; m_p -> mod ( 2 ) ;
    cout << "Mass\t" << p -> m_mass << endl ;
    cout << "Number of places\t" << p -> m_places << endl ;
    delete p ;
}
// main.cpp – — главная функция
#include "Menu.h"
int main ( )
{
    CMenu* p = new CMenu; p -> showMenuAndSelect ( ) ; delete p ;
return 0 ;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.12.2013, 00:24
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибки в коде (C++):

Найти ошибки в коде и исправить эти ошибки (Наследование) - C++
Вот в общем 3 файла, изучаю наследование на примере односвязного и двусвязного списков: list.h (inline) #pragma once class list...

Найти ошибки в коде и исправить эти ошибки - C++ - C++
Судя по вываливающейся ошибки, идет двойное освобождение памяти. У самого не получается отловить откуда. A.h #pragma once ...

Найти ошибки в коде и исправить эти ошибки - C++
Есть у меня вот такой код: #include &lt;iostream&gt; using namespace std; class A{ private: int* a; size_t size_; ...

Ошибки в коде - C++
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;string.h&gt; // strlen #include &lt;dos.h&gt; // delay #include &lt;winsock2.h&gt; //...

Ошибки в коде - C++
Код: int Process( int ** x, size_t i, size_t j ) { int max=0; if ( x&lt;x &amp;&amp; x&lt;x &amp;&amp; x&lt;x &amp;&amp; x&lt;x * ) cout&lt;&lt;i&lt;&lt;' '&lt;&lt;j&lt;&lt;'...

Ошибки в коде( - C++
У меня есть программа. Я создал класс Маршрут (станциии номер) и ищу маршрут по заданом номере. Но у меня вконце 2 ошибки. Если после Класс...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
alsav22
5419 / 4815 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
22.12.2013, 07:12 #2
Это что?
C++
1
CCarriage ( const string&, const double, const string&,      пѓ„const int ) ;
Добавлено через 6 минут
Реализации конструкторов не все есть.
0
Aleksandr_D
0 / 0 / 0
Регистрация: 02.12.2012
Сообщений: 24
22.12.2013, 19:44  [ТС] #3
Какая то стрелочка, и думаю что она не нужна
0
alsav22
5419 / 4815 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
22.12.2013, 19:46 #4
Цитата Сообщение от Aleksandr_D Посмотреть сообщение
Какая то стрелочка, и думаю что она не нужна
Какая стрелочка? Вот это, что за инородное включение: &#61636?
0
Aleksandr_D
0 / 0 / 0
Регистрация: 02.12.2012
Сообщений: 24
23.12.2013, 18:51  [ТС] #5
Да, и если её убрать, то ошибок куча кроме неё
0
alsav22
5419 / 4815 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
23.12.2013, 18:58 #6
Цитата Сообщение от Aleksandr_D Посмотреть сообщение
ошибок куча кроме неё
Это для кого написано?
Цитата Сообщение от alsav22 Посмотреть сообщение
Реализации конструкторов не все есть.
Если есть ошибки, то нужно выкладывать текст ошибок. Ясновидящих тут нет.
0
Aleksandr_D
0 / 0 / 0
Регистрация: 02.12.2012
Сообщений: 24
23.12.2013, 19:11  [ТС] #7
Ок, держи)

Ошибка 1: error LNK2019: ссылка на неразрешенный внешний символ "public: void __thiscall CMenu::showMenuAndSelect(void)" (?showMenuAndSelect@CMenu@@QAEXXZ) в функции _main C:\Users\HP\Documents\Visual Studio 2012\Projects\OOP\12345\12345\12345.obj 12345

Ошибка 2: error LNK1120: неразрешенных внешних элементов: 1 C:\Users\HP\Documents\Visual Studio 2012\Projects\OOP\12345\Debug\12345.exe 1 1 12345
0
alsav22
5419 / 4815 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
23.12.2013, 19:19 #8
Цитата Сообщение от Aleksandr_D Посмотреть сообщение
Ок, держи)
А теперь код, который эту ошибку выдаёт.
0
Aleksandr_D
0 / 0 / 0
Регистрация: 02.12.2012
Сообщений: 24
23.12.2013, 19:20  [ТС] #9
Он вверху
0
alsav22
5419 / 4815 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
23.12.2013, 19:24 #10
Цитата Сообщение от Aleksandr_D Посмотреть сообщение
Он вверху
В том, который вверху, вот эта строка есть:
C++
1
CCarriage ( const string&, const double, const string&,      пѓ„const int )
, а значит до компоновщика (котрый выдаёт выложенную ошибку) он просто не дойдёт.
0
Aleksandr_D
0 / 0 / 0
Регистрация: 02.12.2012
Сообщений: 24
23.12.2013, 19:33  [ТС] #11
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
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
// Car.h – — Спецификация CCar
#pragma once
#include <string>
using namespace std ;
class CCar
{
protected:
    string m_model ;    // модель
    double m_mass ; // масса
public:
    CCar ( ) ; CCar ( const string&, const double ) ;
    CCar ( const CCar& ) ; virtual ~CCar ( ) ;
    virtual void mod ( int ) ;  // виртуальная функция
    friend class CMenu ;        // CMenu – — друг класса CCar 
} ;
// Car.cpp - Реализация CCar
#include "Car.h"
CCar :: ~CCar ( ) { }
void CCar :: mod ( int n )      // виртуальная функция
{   m_mass += n ;   }
// Cargo.h – — Спецификация CCargo
#pragma once
#include "Car.h"
class CCargo : public CCar
{
protected:
    int m_carCapacity ; // грузоподъёмность
public:
    CCargo ( ) ; CCargo ( const string&, const double, const int ) ;
    CCargo ( const CCargo& ) ; ~CCargo ( ) ;
    virtual void mod ( int ) ;  // виртуальная функция
    friend class CMenu ;        // CMenu – — друг класса CCargo
} ;
// Cargo.cpp - Реализация CCargo
#include "Cargo.h"
CCargo :: ~CCargo ( )   { }
void CCargo :: mod ( int n )        // виртуальная функция
{
    CCar :: mod ( n ) ;     // вызов функции базового класса
m_carCapacity += n ;
}
// Carriage.h – — Спецификация CCarriage
#pragma once
#include "Car.h"
class CCarriage : public CCar
{
    string m_type ; // тип вагона
    int m_places ;      // число мест
public:
    CCarriage ( ) ;
    CCarriage ( const string&, const double, const string&, const int ) ;
    CCarriage ( const CCarriage& ) ;    ~CCarriage ( ) ;
    void setType ( const string& ) ;    void setPlaces ( const int ) ;
    string getType (   ) const ;        int getPlaces (   ) const ;
    void mod ( int ) ;      // виртуальная функция
    friend class CMenu ;        // CMenu – — друг класса CCarriage
} ;
// Carriage.cpp - Реализация CCarriage
#include "Carriage.h"
CCarriage :: ~CCarriage ( ) { }
void CCarriage :: setType ( const string& t ) { m_type = t ; }
void CCarriage :: setPlaces ( const int p ) { m_places = p ; }
string CCarriage :: getType ( ) const { return m_type ; }
int CCarriage :: getPlaces ( ) const { return m_places ; }
void CCarriage :: mod ( int n ) // виртуальная функция
{
    CCar :: mod ( n ) ;     // вызов функции базового класса
++m_places ;
}
// Platform.h – — Спецификация CPlatform
#pragma once
#include "Cargo.h"
class CPlatform : public CCargo
{
public:
    int m_boards ;      // количество бортов
    CPlatform ( ) ;
    CPlatform ( const string&, const double, const int, const int ) ;
    CPlatform ( const CPlatform& ) ; ~CPlatform ( ) ;
    void mod ( int ) ;      // виртуальная функция
    friend class CMenu ;        // CMenu – — друг класса CPlatform
} ;
// Platform.cpp - реализация CPlatform
#include "Platform.h"
CPlatform :: ~CPlatform ( ) { }
void CPlatform :: mod ( int n ) // виртуальная функция
{   m_boards -= n ; }
// Tank.h – — Спецификация CTank
#pragma once
#include "Cargo.h"
class CTank : public CCargo
{
    double m_volume ;       // объём котла
public:
    CTank ( ) ;
    CTank ( const string&, const double, const int, const double ) ;
    CTank ( const CTank& ) ; ~CTank ( ) ;
    void setVolume ( const double ) ;   double getVolume ( ) const ;
    void mod ( int ) ;      // виртуальная функция
    friend class CMenu ;        // CMenu – — друг класса CTank
} ;
// Tank.cpp - Реализация CTank
#include "Tank.h"
CTank :: ~CTank ( )   { }
void CTank :: setVolume ( const double v ) { m_volume = v ; }
double CTank :: getVolume ( ) const { return m_volume ; }
void CTank :: mod ( int n )     // виртуальная функция
{   m_volume += n ; }
// Menu.h – — Спецификация CMenu
#include "Car.h"
class CMenu
{
public:
    CCar* m_p ;         // указатель на базовый тип
    CMenu ( ) { }       ~CMenu ( ) { }
    void showMenuAndSelect ( ) ;
private:
    void tank ( ) ; void platform ( ) ; void carriage ( ) ;
} ;
// Menu.cpp – — Реализация класса CMenu
#include <iostream>
using namespace std ;
#include "Menu.h"
#include "Tank.h"
#include "Platform.h"
#include "Carriage.h"
// активизация меню
void CMenu :: showMenuAndSelect ( )
{
    char choice ;
    do
    {
        cout << "\n1. Tank\t2. Platform\t3. Carriage\t0. Exit\n" ;
        cout << "Please, your choice -> " ; cin >> choice ;
        switch ( choice )
        {
        case '1': tank ( ) ; break ;
        case '2': platform ( ) ; break ;
        case '3': carriage ( ) ; break ;
        }
    } while ( choice != '0' ) ;
}
// проверка класса CTank
void CMenu :: tank ( )
{
    cout << "\nTank\n" ;
    CTank* p = new CTank ( "15-1547", 24.5, 68, 85 ) ;
    cout << "Model\t" << p -> m_model << endl ;
    cout << "Mass\t" << p -> m_mass << endl ;
    cout << "Carriage capacity\t" << p -> m_carCapacity << endl ;
    cout << "Volume of the boiler\t" << p -> m_volume << endl ;
    cout << "\nTANK UPDATING\n" ;
    m_p = p ;
    m_p -> mod ( 2 ) ;  // вызов через указатель на базовый тип
    cout << "Volume of the boiler\t" << p -> m_volume << endl ;
    p -> mod ( 2 ) ;    // вызов через указатель на производный тип
    cout << "Volume of the boiler\t" << p -> m_volume << endl ;
    CTank o ( *p ) ; m_p = & o ;
    m_p -> mod ( 4 ) ;  // вызов через указатель на базовый тип
    cout << "Volume of the boiler\t" << o.m_volume << endl ;
    delete p ;
}
// проверка класса CPlatform
void CMenu :: platform ( )
{
    cout << "\nPlatform\n" ;
    CPlatform* p = new CPlatform ( "13-4012", 21.4, 71, 4 ) ;
    cout << "Model\t" << p -> m_model << endl ;
    cout << "Mass\t" << p -> m_mass << endl ;
    cout << "Carriage capacity\t" << p -> m_carCapacity << endl ;
    cout << "Quantity of boards\t" << p -> m_boards << endl ;
    cout << "\nMODIFY PLATFORM\n" ;
    m_p = p ; m_p -> mod ( 2 ) ;
    cout << "Quantity of boards\t" << p -> m_boards << endl ;
    delete p ;
}
// проверка класса CCarriage
void CMenu :: carriage ( )
{
    cout << "\nCarriage\n" ;
    CCarriage* p = new CCarriage ( "61-807", 55, "Compartment", 36 ) ;
    cout << "Model\t" << p -> m_model << endl ;
    cout << "Mass\t" << p -> m_mass << endl ;
    cout << "Type\t" << p -> m_type << endl ;
    cout << "Number of places\t" << p -> m_places << endl ;
    cout << "\nMODIFY CARRIAGE\n" ;
    m_p = p ; m_p -> mod ( 2 ) ;
    cout << "Mass\t" << p -> m_mass << endl ;
    cout << "Number of places\t" << p -> m_places << endl ;
    delete p ;
}
// main.cpp – — главная функция
#include "Menu.h"
int main ( )
{
    CMenu* p = new CMenu; p -> showMenuAndSelect ( ) ; delete p ;
return 0 ;
}
0
alsav22
5419 / 4815 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
23.12.2013, 19:39 #12
Цитата Сообщение от alsav22 Посмотреть сообщение
Реализации конструкторов не все есть.
Каких нет - компоновщик пишет.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.12.2013, 19:39
Привет! Вот еще темы с ответами:

Ошибки в коде - C++
Код взял с форума, однако в нем 40+ ошибок, подскажите пожалуйста что не так. Условие задачи: Создать класс “Автомагазин”, состоящей...

Ошибки в коде - C++
#include &lt;iostream.h&gt; int main() { cout &lt;&lt; &quot;hello there.\ n&quot;; cout &lt;&lt; &quot;Here is 5: &quot; &lt;&lt; 5 &lt;&lt; &quot;\ n&quot;; cout &lt;&lt; &quot;The manipulator...

Ошибки в коде - C++
Подскажите пожалуйста, что неверно в коде. Выбивает ошибка: 'cout' was not declared in this scope #include...

Ошибки в коде. - C++
// 111.cpp: определяет экспортированные функции для приложения DLL. // #include &quot;stdafx.h&quot; #include &lt;windows.h&gt; #define...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
23.12.2013, 19:39
Ответ Создать тему
Опции темы

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