Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
0 / 0 / 1
Регистрация: 15.01.2015
Сообщений: 16
1

При попытке отладки VisualStudio виснет, хотя проект строиться без ошибок

01.01.2016, 15:23. Просмотров 668. Ответов 11
Метки нет (Все метки)

Доброго времени суток. Создал такой код, построил решение, всё вроде ок. Но при попытке отладки Visual Studio намертво зависает, а в диспетчере задач появляется 3 процесса с именем проекта. у меня VS express 2012. Помогите разобраться то ли в коде беда (скорее всего так и есть) либо с VS что-то не то.
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
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
#include <iostream>
#include <conio.h>
using namespace std;
 
class person
{
private:
    char name[20], firstname[20], lastname[20];
    int age;
public:
    person ();
    person (string n, string fn, string ln, int ag);
    int getage ();
    string person:: getname ();
    string person:: getfirstname ();
    string person:: getlastname ();
    void person:: putage ();
    void person:: putname ();
    void person:: putfirstname ();
    void person:: putlastname ();
    void person:: putperson ();
 
};
 
person ::person ()
{
    string fn="Иванов", n="Иван", ln="Иванович";
    strcpy(name, n.c_str());
    strcpy(firstname, fn.c_str());
    strcpy(lastname, ln.c_str());
    age=20;
}
 
person ::person (string n, string fn, string ln, int ag)
{
    strcpy(name, n.c_str());
    strcpy(firstname, fn.c_str());
    strcpy(lastname, ln.c_str());
    age=ag;
}
 
int person ::getage ()
{
    int ag;
    cout << "Введите возраст:  ";
    cin >> ag;
    if (ag>200 && ag<0)
    {
        cout << "Неверно задан возраст";
        person ::getage ();
    }
    else
    age=ag;
    return ag;
}
 
string person:: getname ()
{
    string data;
    char d=0;
    cout << "Введите имя:  ";
    while (d!=13)
    {
        d=getch();
        if (d!=13)
            data+=d;
    }
    if (data.size()>20)
    {
        cout << "Длина имени более 20 символов";
        person:: getname ();
    }
    else
        strcpy(name, data.c_str());
    return data;
}
 
string person:: getfirstname ()
{
    string data;
    char d=0;
    cout << "Введите фамилию:  ";
    while (d!=13)
    {
        d=getch();
        if (d!=13)
            data+=d;
    }
    if (data.size()>20)
    {
        cout << "Длина имени более 20 символов";
        person:: getfirstname ();
    }
    else
        strcpy(firstname, data.c_str());
    return data;
}
 
string person:: getlastname ()
{
    string data;
    char d=0;
    cout << "Введите отчество:  ";
    while (d!=13)
    {
        d=getch();
        if (d!=13)
            data+=d;
    }
    if (data.size()>20)
    {
        cout << "Длина имени более 20 символов";
        person:: getlastname ();
    }
    else
        strcpy(lastname, data.c_str());
    return data;
}
 
void person:: putage ()
{
    cout << "Возраст:  " << age;
}
void person:: putname ()
{
    cout << "Имя:  " << name;
}
void person:: putfirstname ()
{
    cout << "Фамилия:  " << firstname;
}
void person:: putlastname ()
{
    cout << "Отчество:  " << lastname;
}
 
void person:: putperson ()
{
    putage ();
    putname ();
    putfirstname ();
    putlastname ();
}
 
class autom : public person
{
private:
    person driver;
    char mark[20], num[9];
public:
    autom ();
    autom (string mk, string nm);
    string autom:: getnr ();
    string autom:: getmk ();
    void autom:: putdriver ();
    void autom:: putautom ();
};
 
autom:: autom ()
{
    string mk="Audi", nr="В666АД";
    strcpy(mark, mk.c_str());
    strcpy(num, nr.c_str());
    driver=person ();
}
 
string autom:: getnr ()
{
    string data;
    char d=0;
    cout << "Введите номер автомобиля:  ";
    while (d!=13)
    {
        d=getch();
        if (d!=13)
            data+=d;
    }
    if (data.size()>9)
    {
        cout << "Длина номера более 9 символов";
        autom:: getnr ();
    }
    else
        strcpy(num, data.c_str());
    return data;
}
string autom:: getmk ()
{
    string data;
    char d=0;
    cout << "Введите марку автомобиля:  ";
    while (d!=13)
    {
        d=getch();
        if (d!=13)
            data+=d;
    }
    if (data.size()>20)
    {
        cout << "Длина марки более 20 символов";
        autom:: getmk ();
    }
    else
        strcpy(mark, data.c_str());
    return data;
}
 
void autom:: putdriver ()
{
    string fn, n, ln;
    int ag;
    fn=getfirstname ();
    n=getname ();
    ln=getlastname ();
    ag=getage ();
    if (ag<18)
        cout << "Внимание, водитель моложе 18 лет";
}
 
void autom:: putautom ()
{
    putage ();
    putfirstname ();
    putname ();
    putlastname ();
    cout << "Марка" << mark;
    cout << "Номер" << num;
}
 
void main ()
{
    setlocale(LC_ALL, "rus");
    autom auto1;
    person person1, person2;
    string n, fn, ln;
    int ag;
    person2=person ();
    person1=person (person1.getname (), person1.getfirstname (), person1.getlastname (), person1.getage ());
    cout << "Информация о первом человеке: \n";
    person1.putperson ();
    cout << "Информация о втором человеке: \n";
    person2.putperson ();
    auto1=autom ();
    auto1.putdriver ();
    auto1.putautom ();
    getch();
}
Вот как это выглядит в диспетчере:
0
Миниатюры
При попытке отладки VisualStudio виснет, хотя проект строиться без ошибок  
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.01.2016, 15:23
Ответы с готовыми решениями:

Не запускается БД, хотя скомпилирована без ошибок
Делаю базу данных телефонов по методичке. Всё сделал как требуется. БД собрана без ошибок, но не...

При попытке экспортирования сишных функций глюки лезут уже на моменте отладки .
Народ помогите! Трабл вот какой . При попытке экспортирования сишных функций глюки лезут уже на...

ПК виснет при попытке запустить IE
Добрый день! Проблемма вот в чем. Есть ПК (ХР SP2) на котором установленны контур, банк клиент...

Виснет при попытке чтения
Здравствуйте. HDD 2,5&quot; 500гб вытащил из старого ноута и сделал из него внешний. Собственно...

11
67 / 67 / 11
Регистрация: 28.12.2012
Сообщений: 471
01.01.2016, 15:39 2
Комментируйте частично код, и проверяйте... пока не найдете нужный участок.
1
0 / 0 / 1
Регистрация: 15.01.2015
Сообщений: 16
01.01.2016, 17:02  [ТС] 3
Дело не совсем в коде или частично только, запустил с ноута где стоит VS 2012 Premium все работает так как надо. Странно весьма. Буду благодарен если кто нибудь попробует прогнать через express 2012 и поделиться впечатлениями, очень интересно знать проблема в ограниченности express версии или что-то криво поставилось/неработает
0
598 / 237 / 68
Регистрация: 08.08.2015
Сообщений: 1,637
01.01.2016, 18:42 4
EgorS, На Qt работает все ок!
1
0 / 0 / 1
Регистрация: 15.01.2015
Сообщений: 16
01.01.2016, 19:42  [ТС] 5
Понятно, связался с лицензионкой от мелкософта и всё пошло наперекосяк, мало того что кучу времени потратил на скачивание с их тормознутого сайта дак ещё и переустанавливать теперь)
0
333 / 181 / 80
Регистрация: 22.08.2013
Сообщений: 724
01.01.2016, 22:55 6
EgorS, зачем Си-строки и string-и смешиваешь? Проверка на длину строк неправильная: количество символов в строке (то, что выдаёт size()) должно быть на единицу меньше размера массива под Си-строку (нужно место под '\0' оставить).
0
0 / 0 / 1
Регистрация: 15.01.2015
Сообщений: 16
03.01.2016, 16:42  [ТС] 7
nord_v, Это способ с помощью которого я проверяю длину вводимого имени, а насчёт размера строк да, ступил ))) А то что касается невозможности запустит программки через VS 2012 express, пробовал туда пихать заведомо рабочий код - та же фигня.
0
493 / 375 / 136
Регистрация: 27.01.2015
Сообщений: 1,588
03.01.2016, 16:55 8
Цитата Сообщение от EgorS Посмотреть сообщение
Доброго времени суток. Создал такой код, построил решение, всё вроде ок. Но при попытке отладки Visual Studio намертво зависает, а в диспетчере задач появляется 3 процесса с именем проекта. у меня VS express 2012. Помогите разобраться то ли в коде беда (скорее всего так и есть) либо с VS что-то не то.
антивирус аваст? Отключи его на *** . Вчера та же проблема была, переставил студию, не помогло, а потом выключил аваст и ок ! Главное что он банит программы и молчит, студия виснет тоже без объяснений... сутки на ветер...
1
0 / 0 / 1
Регистрация: 15.01.2015
Сообщений: 16
03.01.2016, 17:10  [ТС] 9
_Valera_, Кстати да, вспомнил, на ноуте тоже аваст и я с ним действительно колдовал когда-то, но это было давно и забыл, хотя вроде на ноуте у меня всё работало по-другому, тогда аваст блочил сами экзешники а не студию. Завтра надо покопать эту тему.
0
493 / 375 / 136
Регистрация: 27.01.2015
Сообщений: 1,588
03.01.2016, 17:12 10
Цитата Сообщение от EgorS Посмотреть сообщение
аваст блочил сами экзешники а не студию
Да, запускаешь программу и он дает сообщение что будет ее проверять. А после обновления - вот такая фигня началась...
0
0 / 0 / 1
Регистрация: 15.01.2015
Сообщений: 16
03.01.2016, 17:23  [ТС] 11
_Valera_, возможное решение - добавить папку с проектами в исключения, после этого начали запускаться программки
0
333 / 181 / 80
Регистрация: 22.08.2013
Сообщений: 724
03.01.2016, 21:38 12
Цитата Сообщение от _Valera_ Посмотреть сообщение
Главное что он банит программы и молчит
В настройки его загляни. Поставь, чтобы спрашивал, прежде чем что-то делать.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.01.2016, 21:38

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Не выводит в консоли, хотя скомпилировалось без ошибок
Здравствуйте, только начал учиться Java, вроде бы всё пошло нормально, но вот маленькая загвоздка -...

При попытке переустановки windows при подключении дисковода виснет комп
слетела виндовс, при попытке переустановить получается что,при подключении дисковода виснет комп...

AsRock 890fx deluxe4, биос постоянно виснет при попытке сохранить изменения и при загрузке.
Здравствуйте. Вчера купил мп AsRock 890fx deluxe4, биос постоянно виснет при попытке сохранить...

Виснет при попытке войти в безопасный режим
Windows 10 виснет на заставке, при попытке войти в безопасный режим. Пробовал накатывать...


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

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

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