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

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

Войти
Регистрация
Восстановить пароль
 
o33ik
138 / 5 / 1
Регистрация: 25.03.2013
Сообщений: 228
#1

Ошибка компиляции в VS2010 - C++

12.05.2013, 22:21. Просмотров 625. Ответов 12
Метки нет (Все метки)

Написал код на Dev C++. Пихаю в визуалку и она отказываеться компилировать( Ругаеться на 116 строчку, пишет что ф-ция должна вернуть значение. но если я буду чтото возвращать или сделаю ее воид то програма будет работать не коректно. Подскажите в чем загвоздка.
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
#include <iostream>
#include <string>
#include <conio.h>
 
using namespace std;
 
enum CATEGORY{family, sport, cabrio, jeep};
 
class DATE
 
{
private:
    
    int day, month, year;
public:
 
    DATE(void){};
    DATE(int _day, int _month, int _year) { day = _day; month = _month; year = _year; };
    ~DATE(){};
 
    int GetDay(){return day;}
    int GetMonth(){return month;}
    int GetYear(){return year;}
 
    DATE& SetDay (int _day){day=_day; return *this;};
    DATE& SetMonth (int _month){month=_month; return *this;};
    DATE& SetYear (int _year){year=_year; return *this;};
 
    void inputD(){cout<<"Enter date dd/mm/yy: ";cin>>day>>month>>year;};
    void showD(){cout<<endl; cout<<day<<"."<<month<<"."<<year;};
};
 
class CAR
{
    char corporation[15];
    char car_name[15];
    int price;
    int made_date;
public:
    void INP()
    {
        cout << "Enter car_name: ";
        cin >> corporation; 
        cout << "Enter car_model: ";
        cin >> car_name;
        cout << "Enter price: ";
        cin >> price;
        cout << "Enter made date: ";
        cin >> made_date;
    }
    void OUT()
    {
        cout << "\nCar name: " << corporation; 
        cout << "\nCar model: " << car_name;
        cout << "\nCar price: " <<price;
        cout << "\nCar made year: " <<made_date;
    }
    int PRC()
    {
        return price;
    }
};
 
class tz
{
    CATEGORY category;
    CAR car;
    DATE date;
    int rent_price;
    int rent_time;
    char car_regnumber[10];
public:
    void tz_data_inp(int counter)
    {
        cout << "\t\tStatement # " << counter+1 << endl;
        car.INP();
        cout << "\tEnter category of transport(family, sport, cabrio or jeep): ";
        while(true)
        {
            string str;
            cin >> str;
            if (str == "family") 
                {category = family; break;}
            if (str == "sport") 
                {category = sport; break;} 
            if (str == "cabrio") 
                {category = cabrio; break;}
            if (str == "jeep") 
                {category = jeep; break;}
            else {cout << "\tIncorrect word. Try again: "; 
            continue;}
        }
        date.inputD();
        cout << "\tEnter rent price: ";
        cin >> rent_price;
        cout << "\tEnter retn time: ";
        cin >> rent_time;
        cout << "\tEnter reg_number: ";
        cin >> car_regnumber;
    }
    void tz_data_out(int counter)
    {
        cout << "\t\tStatement # " << counter+1 << endl;
        car.OUT();
        char* category_arr[]={"family", "sport", "cabrio", "jeep"};
        cout << "\n\tCar category: " << category_arr[category];
        date.showD();
        cout << "\n\tRent price: " << rent_price;
        cout << "\n\tRent time: " << rent_time;
        cout << "\n\tCar reg_number: " << car_regnumber << endl;
    }
    int all_prc(int PRICE)
    {
        int prc=car.PRC();
        //return PRICE;
    }
};
 
class prokat
{ 
    char prokat_name[15];
public:
    tz* arr;
    prokat(int size)
    {
       arr = new tz[size];
    }
    void inp_data(int counter)
    {
        cout << "\n\tEnter name of rent agency: ";
        cin >> prokat_name;
        arr[counter].tz_data_inp(counter);
    }
    void out_data(int size)
    {
        cout << "\n\tName of rent company: "<< prokat_name;
        for(int i=0;i<size;i++)
        {
            arr[i].tz_data_out(i);
        }
    }
    void shor_out(int size)
    {
         cout << "\n\tName of rent company: "<< prokat_name;
         int all_price=0;
         for(int i=0; i<size;i++)
         {
            all_price=all_price+arr[i].all_prc(all_price);
         }
         cout << "\n\tAll car price: " << all_price << endl;
    }
};
 
int main()
{
    cout << "Enter array size: ";
    int size;
    int current_count=0;
    cin >> size;
    prokat obj(size);
    cout << endl << endl;
    while(true)
    {
               
               cout << "\t\tMenu\nChoise operation:\n1) Add one statement to list;\n2) Show full info about all statement\n3)Show short information;4)Exit\n";
               int key;
               cin >> key;
               switch(key)
               {     
                    case 1: 
                        if(current_count > size-1)
                        {
                            cout << "Array full!";
                            //break;
                        }   
                        obj.inp_data(current_count);
                        current_count++;
                        break;  
                    case 2:
                             obj.out_data(current_count);
                             break;
                    case 3:
                             obj.shor_out(current_count);
               }
    system("pause");
    system("cls");
    };       
    getch();
    return 0;
}
Добавлено через 1 минуту
к тому же, если сделать в 116 строчке ф-цию воид, ну или написать ретурн код всеравно не компилируеться.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.05.2013, 22:21
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибка компиляции в VS2010 (C++):

Ошибка нахождения exe-файла при компиляции в VS2008 и VS2010 - C++
Приветствую. Столкнулся с мягко говоря шокирующей проблемой. На компьютере установлено VS2008 и VS2010. В этот и так плохой вечер они обе...

Ошибка при компиляции. Где ошибка? (Работа с классом) - C++
Уважаемые форумчане! При компиляции проекта возникает ошибка &quot; undefined reference to `MeterNZiF::MeterNZiF()' &quot; на 7 строку приложения. ...

При компиляции ошибка. Ошибка c++ C2678 - C++
Ошибка c++ C2678 #include &lt;windows.h&gt; #include &lt;string&gt; #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;fstream&gt; #include...

Ошибка "Error C2064" в файле xutility.h на VS2010 - C++
Не могу разобраться с ошибкой :error C2064: результатом вычисления фрагмента не является функция, принимающая 2 аргументов. проблема...

ошибка компиляции - C++
error: lvalue required as left operand of assignment for (int i=0; i&lt;STRANDS_AMOUNT;i++) { int sum = 0; int k = 0; ...

Ошибка компиляции - C++
Не могу скомпелировать код: #include &lt;iostream.h&gt; int main() { string s = &quot;&quot;; system(&quot;pause &gt;&gt; void&quot;); ...

12
mat_for_c
164 / 159 / 34
Регистрация: 26.04.2013
Сообщений: 724
Завершенные тесты: 3
12.05.2013, 22:35 #2
Цитата Сообщение от o33ik Посмотреть сообщение
ну или написать ретурн код всеравно не компилируеться
может вам надо вернуть prc, а не PRICE ?
1
ruslan_bastos
1 / 1 / 0
Регистрация: 10.12.2012
Сообщений: 17
12.05.2013, 22:48 #3
Попробуй вернуть не PRICE, а prc.
1
el zurdo
5 / 5 / 2
Регистрация: 08.05.2013
Сообщений: 81
12.05.2013, 22:56 #4
Легче бы было понимать ошибки если классы находились бы в разных файлах(каждый класс - новый файл). PRICE никак не используется, ему ничего не передается. Может нужно было сделать:
C++
1
2
int prc;
PRICE = car.PRC(prc)
1
o33ik
138 / 5 / 1
Регистрация: 25.03.2013
Сообщений: 228
13.05.2013, 20:11  [ТС] #5
да, действительно незаметил. но код всеравно работает токо в деве.
Кликните здесь для просмотра всего текста
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
#include <iostream>
#include <string>
#include <conio.h>
 
using namespace std;
 
enum CATEGORY{family, sport, cabrio, jeep};
 
class DATE
 
{
private:
    
    int day, month, year;
public:
 
    DATE(void){};
    DATE(int _day, int _month, int _year) { day = _day; month = _month; year = _year; };
    ~DATE(){};
 
    int GetDay(){return day;}
    int GetMonth(){return month;}
    int GetYear(){return year;}
 
    DATE& SetDay (int _day){day=_day; return *this;};
    DATE& SetMonth (int _month){month=_month; return *this;};
    DATE& SetYear (int _year){year=_year; return *this;};
 
    void inputD(){cout<<"Enter date dd/mm/yy: ";cin>>day>>month>>year;};
    void showD(){cout<<endl; cout<<day<<"."<<month<<"."<<year;};
};
 
class CAR
{
    char corporation[15];
    char car_name[15];
    int price;
    int made_date;
public:
    void INP()
    {
        cout << "Enter car_name: ";
        cin >> corporation; 
        cout << "Enter car_model: ";
        cin >> car_name;
        cout << "Enter price: ";
        cin >> price;
        cout << "Enter made date: ";
        cin >> made_date;
    }
    void OUT()
    {
        cout << "\nCar name: " << corporation; 
        cout << "\nCar model: " << car_name;
        cout << "\nCar price: " <<price;
        cout << "\nCar made year: " <<made_date;
    }
    int PRC()
    {
        return price;
    }
};
 
class tz
{
    CATEGORY category;
    CAR car;
    DATE date;
    int rent_price;
    int rent_time;
    char car_regnumber[10];
public:
    void tz_data_inp(int counter)
    {
        cout << "\t\tStatement # " << counter+1 << endl;
        car.INP();
        cout << "\tEnter category of transport(family, sport, cabrio or jeep): ";
        while(true)
        {
            string str;
            cin >> str;
            if (str == "family") 
                {category = family; break;}
            if (str == "sport") 
                {category = sport; break;} 
            if (str == "cabrio") 
                {category = cabrio; break;}
            if (str == "jeep") 
                {category = jeep; break;}
            else {cout << "\tIncorrect word. Try again: "; 
            continue;}
        }
        date.inputD();
        cout << "\tEnter rent price: ";
        cin >> rent_price;
        cout << "\tEnter retn time: ";
        cin >> rent_time;
        cout << "\tEnter reg_number: ";
        cin >> car_regnumber;
    }
    void tz_data_out(int counter)
    {
        cout << "\t\tStatement # " << counter+1 << endl;
        car.OUT();
        char* category_arr[]={"family", "sport", "cabrio", "jeep"};
        cout << "\n\tCar category: " << category_arr[category];
        date.showD();
        cout << "\n\tRent price: " << rent_price;
        cout << "\n\tRent time: " << rent_time;
        cout << "\n\tCar reg_number: " << car_regnumber << endl;
    }
    int all_prc()
    {
        int prc=car.PRC();
        return prc;
    }
};
 
class prokat
{ 
    char prokat_name[15];
public:
    tz* arr;
    prokat(int size)
    {
       arr = new tz[size];
    }
    void inp_data(int counter)
    {
        cout << "\n\tEnter name of rent agency: ";
        cin >> prokat_name;
        arr[counter].tz_data_inp(counter);
    }
    void out_data(int size)
    {
        cout << "\n\tName of rent company: "<< prokat_name;
        for(int i=0;i<size;i++)
        {
            arr[i].tz_data_out(i);
        }
    }
    void shor_out(int size)
    {
         cout << "\n\tName of rent company: "<< prokat_name;
         int all_price=0;
         for(int i=0; i<size;i++)
         {
            all_price=all_price+arr[i].all_prc();
         }
         cout << "\n\tAll car price: " << all_price << endl;
    }
};
 
int main()
{
    cout << "Enter array size: ";
    int size;
    int current_count=0;
    cin >> size;
    prokat obj(size);
    cout << endl << endl;
    while(true)
    {
               
               cout << "\t\tMenu\nChoise operation:\n1) Add one statement to list;\n2) Show full info about all statement\n3)Show short information;4)Exit\n";
               int key;
               cin >> key;
               switch(key)
               {     
                    case 1: 
                        if(current_count >= size)
                        {
                            cout << "Array full!";
                            break;
                        }   
                        obj.inp_data(current_count);
                        current_count++;
                        break;  
                    case 2:
                             obj.out_data(current_count);
                             break;
                    case 3:
                             obj.shor_out(current_count);
               }
    system("pause");
    system("cls");
    };       
    getch();
    return 0;
}


Добавлено через 52 секунды
вот лог
Кликните здесь для просмотра всего текста
1>------ Build started: Project: LW4, Configuration: Debug Win32 ------
1>LINK : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
0
el zurdo
5 / 5 / 2
Регистрация: 08.05.2013
Сообщений: 81
13.05.2013, 20:19 #6
а какая студия? я включил на своей 2010 - все запускается без ошибок.
1
o33ik
138 / 5 / 1
Регистрация: 25.03.2013
Сообщений: 228
13.05.2013, 20:24  [ТС] #7
el zurdo, 2010 експрес

Добавлено через 18 секунд
ну ладно, код хоть рабочий.
0
el zurdo
5 / 5 / 2
Регистрация: 08.05.2013
Сообщений: 81
13.05.2013, 20:34 #8
Может проект неправильно создан. Хз, вот мой, только что себе вставил - прога работает но не юзал.
1
Вложения
Тип файла: rar cars.rar (320.8 Кб, 2 просмотров)
o33ik
138 / 5 / 1
Регистрация: 25.03.2013
Сообщений: 228
13.05.2013, 20:47  [ТС] #9
el zurdo, даже етот проект не компилюеться(

Добавлено через 1 минуту
а вот на ноуте скомпилировалось.
0
mat_for_c
164 / 159 / 34
Регистрация: 26.04.2013
Сообщений: 724
Завершенные тесты: 3
14.05.2013, 11:36 #10
Цитата Сообщение от o33ik Посмотреть сообщение
1>------ Build started: Project: LW4, Configuration: Debug Win32 ------
1>LINK : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
по поводу ошибки...
в VS2010: Свойства проекта -> Компоновщик -> Общие -> Включить инкрементную компоновку -> Нет.

у меня такая ошибка стала вылезать в 10-й, как VS12 поставил ... , хоть и снес потом 12-ю, а ошибка осталася...
1
o33ik
138 / 5 / 1
Регистрация: 25.03.2013
Сообщений: 228
14.05.2013, 20:56  [ТС] #11
mat_for_c, а где свойства проекта? у меня англ версия, и чтото не могу найти.
0
mat_for_c
164 / 159 / 34
Регистрация: 26.04.2013
Сообщений: 724
Завершенные тесты: 3
14.05.2013, 22:20 #12
Цитата Сообщение от o33ik Посмотреть сообщение
mat_for_c, а где свойства проекта? у меня англ версия, и чтото не могу найти.
ищем на панели меню Project -> Properties -> далее скорей всего Linker или что-то похожее... (у меня рус. версия 10-й студии) -> потом получается 1 вкладка (должна переводиться как общие) -> в полученном списке 3 вкладка (там должно быть что-то схожее с INCREMENTAL) -> меняем его на (/INCREMENTAL:NO)
1
o33ik
138 / 5 / 1
Регистрация: 25.03.2013
Сообщений: 228
14.05.2013, 23:53  [ТС] #13
mat_for_c, нашел. спасибо, теперь нормально компилюет
0
14.05.2013, 23:53
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.05.2013, 23:53
Привет! Вот еще темы с ответами:

Ошибка компиляции - C++
Среда разработки Dev-C++, в коде при компиляции выскакивает ошибка типа &quot; `ctrok' undeclared (first use this function) &quot;. В чем проблема? ...

Ошибка компиляции - C++
Здравствуйте учу С++ по книге Дейтела, вот возникла ошибка компиляции программы: #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include...

Ошибка компиляции - C++
Написал код на тему шаблоны, но появились проблемы с созданием перегруженного оператора, так же не могу создать динамический массив...

Ошибка компиляции - C++
Есть проект, в котором абстрактный класс Colection, и два наследуемых Vector и Steck. При компиляции выдает ошибки: Ошибка 1 &quot;error...


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

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

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