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

При запуске выскакивает принудительное прекращение работы программы

15.05.2017, 12:55. Просмотров 841. Ответов 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
void abc_sort()
{
    int i=0;
    Product zap;
    f.seekp(0,ios::end);
    n1=f.tellp()/sizeof(struct Product);
    if (n1<1) // якщо записів немає то дати повідомлення на екран   
{     
cout<<"Файл порожній";
getch();   
//goto ex; // перехід на закінчення виконанння процедури  
} 
else
{
din_mas(n1);
f.seekp(0,ios::beg);
while(!f.eof())
{
f.read((char *)&zap, sizeof(struct Product));
D[i++]=zap;
}
for(i=0;i<n1-1;i++)
for(int j=i+1;j<n1;j++)
if(strcmp(D[i].name,D[j].name)==1)
swap(D[i],D[j]);
printf("|<<<            Упорядкування товарів за назвою      >>>|\n");  
cout<<"._____.______________________.______________._________________._ ______________________.\n";  
cout<<"|     |         Назва        |  Країна      |     Вид          | Ціна,грн |Гарантія,міс|\n";  
cout<<"|=====|======================|==============|============ =====|==========|============|\n"; 
for(i=0;i<n1;i++)
printf("|     | %20s |%10s| %15s  |  %6d  |%12d|\n",D[i].name,D[i].country,D[i].type,D[i].cost,D[i].term);
cout<<"|_____|______________________|______________|__________________|__________|____________|\n"; 
cout<<"\n Натисніть: \n\n    Esc для того щоб повернутися в головне меню.\n\n\n"; 
f.clear(); // очищуємо прапорці помилок
st:  
int go=getch(); //зчитуємо натиснуту клавішу  
if (go==27) // перевірка чи натиснута клавіша Esc      
{
goto ex;
}
else    
goto st; // буде здійсненно перехід на мітку st, якщо буде натиснута клавіша відмінна від Enter та Esc  
}
ex:;
delete []D;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.05.2017, 12:55
Ответы с готовыми решениями:

Прекращение работы программы при заполнении года
всем привет)есть такой кусок кода #include &quot;stdio.h&quot; #include &quot;stdlib.h&quot; #include &quot;string.h&quot;...

При запуске выскакивает принудительное прекращение работы программы
Добрый день. Я пользуюсь dev-cpp. у меня стоит windows 8. Компиляция этой программы проходит без...

При запуске игры появляется окно - Прекращение работы программы
Почему кода я запускаю игру на Windows 7 у меня вылезает окно Прекращение работы програмы Windows...

При запуске программы выдаёт окно о прекращение работы. В чем проблема?
помогите пожалуйста,я запускаю программы и мне выдаёт окно о прекращение работы,в чем проблема и...

3
Одессит
240 / 86 / 43
Регистрация: 30.12.2013
Сообщений: 316
Записей в блоге: 2
15.05.2017, 15:25 2
Может быть выход за пределы массива вот тут D[i++]=zap

Добавлено через 8 минут
А ещё плохая привычка удалять выделенную память не в той функции, в которой она была выделена (строка 45). Будет большая вероятность утечки памяти.

Добавлено через 6 минут
вот эту фигню:
C++
1
2
3
4
5
6
7
8
9
10
st:  
int go=getch(); //зчитуємо натиснуту клавішу  
if (go==27) // перевірка чи натиснута клавіша Esc      
{
goto ex;
}
else    
goto st; // буде здійсненно перехід на мітку st, якщо буде натиснута клавіша відмінна від Enter та Esc  
}
ex:;
лучше написать так
C++
1
2
3
4
5
6
7
8
        while (true) 
        {
            int go=getch(); //зчитуємо натиснуту клавішу
            if (go!=27) // перевірка чи натиснута клавіша Esc
            {
                break;
            }
        }
0
Форумчанин
Эксперт CЭксперт С++
8160 / 5008 / 1436
Регистрация: 29.11.2010
Сообщений: 13,458
15.05.2017, 15:45 3
Используйте пожалуйста табуляцию и переносы строк между логическими блоками, сейчас код читать очень сложно
0
с++
1241 / 490 / 216
Регистрация: 15.07.2015
Сообщений: 2,455
15.05.2017, 16:24 4
скиньте сообщение об ошибке
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.05.2017, 16:24

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

Прекращение работы при запуске макроса из другого файла
Всем привет ! Столкнулся с такой проблемой. Во время работы макроса пользователь указывает файл...

при запуске любой программы выскакивает окно ВЫБОР ПРОГРАММЫ
Что делать или как удалить вирус У меня при запуске любой программы выскакивает окно ВЫБОР...

Прекращение работы (вылет) программы при попытке вывести в поток значения динамического массива
Доброго всем времени суток. Подскажите пожалуйста, почему возникает следующая проблема. Есть...

При запуске скомпилированной программы, выскакивает и тут же пропадает консольное окно
Добрый вечер. Вот такая вот проблема. Появляется консольное окошко и тут же исчезает. Я помню можно...

При запуске Windows вылетает ошибка: Прекращение работа программы "проводник"
Здравствуйте. При запуске Windows возникла такая проблема: сначала загружается система, потом ввод...

При запуске ОС вылетает ошибка с проводником:Прекращение работа программы "проводник"
При запуске ОС вылетает ошибка с проводником:Прекращение работа программы &quot;проводник&quot; Вообще ...


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

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

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