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

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

Восстановить пароль Регистрация
 
o33ik
138 / 5 / 1
Регистрация: 25.03.2013
Сообщений: 228
12.05.2013, 22:21     Ошибка компиляции в VS2010 #1
Написал код на 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 строчке ф-цию воид, ну или написать ретурн код всеравно не компилируеться.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.05.2013, 22:21     Ошибка компиляции в VS2010
Посмотрите здесь:

C++ Ошибка компиляции
Ошибка компиляции C++
C++ Ошибка нахождения exe-файла при компиляции в VS2008 и VS2010
C++ Ошибка компиляции
ошибка компиляции C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
mat_for_c
 Аватар для mat_for_c
115 / 110 / 19
Регистрация: 26.04.2013
Сообщений: 585
Завершенные тесты: 2
12.05.2013, 22:35     Ошибка компиляции в VS2010 #2
Цитата Сообщение от o33ik Посмотреть сообщение
ну или написать ретурн код всеравно не компилируеться
может вам надо вернуть prc, а не PRICE ?
ruslan_bastos
1 / 1 / 0
Регистрация: 10.12.2012
Сообщений: 17
12.05.2013, 22:48     Ошибка компиляции в VS2010 #3
Попробуй вернуть не PRICE, а prc.
el zurdo
3 / 3 / 0
Регистрация: 08.05.2013
Сообщений: 43
12.05.2013, 22:56     Ошибка компиляции в VS2010 #4
Легче бы было понимать ошибки если классы находились бы в разных файлах(каждый класс - новый файл). PRICE никак не используется, ему ничего не передается. Может нужно было сделать:
C++
1
2
int prc;
PRICE = car.PRC(prc)
o33ik
138 / 5 / 1
Регистрация: 25.03.2013
Сообщений: 228
13.05.2013, 20:11  [ТС]     Ошибка компиляции в VS2010 #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 ==========
el zurdo
3 / 3 / 0
Регистрация: 08.05.2013
Сообщений: 43
13.05.2013, 20:19     Ошибка компиляции в VS2010 #6
а какая студия? я включил на своей 2010 - все запускается без ошибок.
o33ik
138 / 5 / 1
Регистрация: 25.03.2013
Сообщений: 228
13.05.2013, 20:24  [ТС]     Ошибка компиляции в VS2010 #7
el zurdo, 2010 експрес

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

Добавлено через 1 минуту
а вот на ноуте скомпилировалось.
mat_for_c
 Аватар для mat_for_c
115 / 110 / 19
Регистрация: 26.04.2013
Сообщений: 585
Завершенные тесты: 2
14.05.2013, 11:36     Ошибка компиляции в VS2010 #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-ю, а ошибка осталася...
o33ik
138 / 5 / 1
Регистрация: 25.03.2013
Сообщений: 228
14.05.2013, 20:56  [ТС]     Ошибка компиляции в VS2010 #11
mat_for_c, а где свойства проекта? у меня англ версия, и чтото не могу найти.
mat_for_c
 Аватар для mat_for_c
115 / 110 / 19
Регистрация: 26.04.2013
Сообщений: 585
Завершенные тесты: 2
14.05.2013, 22:20     Ошибка компиляции в VS2010 #12
Цитата Сообщение от o33ik Посмотреть сообщение
mat_for_c, а где свойства проекта? у меня англ версия, и чтото не могу найти.
ищем на панели меню Project -> Properties -> далее скорей всего Linker или что-то похожее... (у меня рус. версия 10-й студии) -> потом получается 1 вкладка (должна переводиться как общие) -> в полученном списке 3 вкладка (там должно быть что-то схожее с INCREMENTAL) -> меняем его на (/INCREMENTAL:NO)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.05.2013, 23:53     Ошибка компиляции в VS2010
Еще ссылки по теме:

Ошибка компиляции C++
C++ Ошибка "Error C2064" в файле xutility.h на VS2010
Ошибка компиляции C++

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

Или воспользуйтесь поиском по форуму:
o33ik
138 / 5 / 1
Регистрация: 25.03.2013
Сообщений: 228
14.05.2013, 23:53  [ТС]     Ошибка компиляции в VS2010 #13
mat_for_c, нашел. спасибо, теперь нормально компилюет
Yandex
Объявления
14.05.2013, 23:53     Ошибка компиляции в VS2010
Ответ Создать тему
Опции темы

Текущее время: 23:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru