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

Принудительное завершение программы

25.10.2017, 00:52. Просмотров 1879. Ответов 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
for (int i = 0; i < 20; i++)
    for (int j = 0; j < 20; j++)
        for (int n= 0; n < 20; n++)
 
{
    
 
 
//заполнение элементов 
arrT[n]= T;
arrX[i]= X;
arrY[j] = y; 
m2:
r=Th0+arrX[i];
 
{
тут решение системы
 
}
arrT[n+1]=arrT[n]+h;
 
if () // тут первое условие
{ 
    abs(arrX[i+1])<M_PI;
}
else
{
    for(int i(0);i<20;i++)
        for(int j(0);j<20;j++)
            for(int n(0);n<10;n++)
            {cout << "X="<<arrX[i]<<"     y="<<arrY[j]<<"    T="<< arrT[n]<<endl;}
            getch();
     return 0; // если условие не выполняется вывести массивы на экран и закончить считать
}
//если условие выполняется продолжить считать
        
        if()
        {
        
        }
        
        else
        {
            
        }
    
 
 
goto m2; 
        }
return 0;
        
        }
проблема в том, что программа не заканчивает считать на условии, как это исправить?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.10.2017, 00:52
Ответы с готовыми решениями:

Принудительное завершение программы
Здравствуйте. Ищу способы принудительного завершения программы. Посоветуйте что нибудь плз.

Принудительное завершение программы
#include &lt;iostream&gt; using namespace std; int main() { setlocale (0,&quot;&quot;); int N; cout &lt;&lt;...

При запуске выскакивает принудительное прекращение работы программы
Имею вот такую функцию. Она работает всё выводит правильно но после этого выскакивает окно о...

завершение программы
помогите сообразить #include &lt;StdAfx.h&gt; #include &lt;iostream&gt; #include &lt;conio.h&gt; #include...

11
916 / 618 / 291
Регистрация: 26.02.2015
Сообщений: 2,826
25.10.2017, 01:01 2
Любая программа в C++ начинается с функции main( ). А где она у вас?
Вы используете оператор goto, но вполне вероятно, что можно обойтись без него.

Добавлено через 2 минуты
А что там за условие используется?
0
0 / 0 / 0
Регистрация: 03.10.2017
Сообщений: 47
25.10.2017, 01:10  [ТС] 3
это неполная программа)
t[i+1]<tk (конечное время)
если это условие соблюдается, то
переходит к другому условию, если не соблюдается, то программа выводит массив
у меня программа на этом продолжает выводит точки, хотя время меньше конечного времени и не доходит до конца
0
916 / 618 / 291
Регистрация: 26.02.2015
Сообщений: 2,826
25.10.2017, 01:13 4
Можно полный код программы, пожалуйста.
0
0 / 0 / 0
Регистрация: 03.10.2017
Сообщений: 47
25.10.2017, 01:35  [ТС] 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
#include "stdafx.h"
#include <iostream> 
#include <locale.h> 
#include <conio.h> 
#include <cmath> 
#include <math.h> 
#define M_PI 3.14159265358979323846
using namespace std; 
 
double signum (double X)
{
if (X > 0) return 1;
if (X < 0) return -1;
 
}
 
int _tmain(int argc, _TCHAR* argv[])
{
setlocale(LC_ALL, "rus"); 
int N=3, omega=3;
double Th0=0.52, R=0.5, T=0, X=0.77, Tk=0.002, y=0, r, h=0.001, A=0.2;
double arrX[100], arrY[100], arrT[100]; 
 
for (int i = 0; i < 20; i++)
    for (int j = 0; j < 20; j++)
        for (int n= 0; n < 20; n++)
 
{
    
 
 
//заполнение элементов 
arrT[n]= T;
arrX[i]= X;
arrY[j] = y; 
T=2*M_PI/omega*N;
m2:
r=Th0+arrX[i]*signum(arrX[i]);
 
{
    arrX[i+1]=arrX[i]+h*arrY[j];
arrY[j+1]=arrY[j]+h*(sin(r)-A*sin((omega)*arrT[n])*cos(r));
 
}
arrT[n+1]=arrT[n]+h;
 
if (arrT[n+1]<Tk) //первое условие
{ 
    if(abs(arrX[i+1])<M_PI) //второе условие
    {if(arrX[i+1]*arrX[i]>0) // третье условие
        {
          n=n+1;
          i=i+1;
          j=j+1;
          
        }
        
        else
        {
            arrY[j+1]=R*arrY[j+1];
              n=n+1;
              i=i+1;
              j=j+1;
        }
    }
    else
    {
        for(int i(0);i<2;i++) //выводим точки
        for(int j(0);j<2;j++)
            for(int n(0);n<2;n++)
            {cout << "abs(arrX[i+1])<M_PI"<<    "X="<<arrX[i]<<"     y="<<arrY[j]<<"    T="<< arrT[n]<<endl;}
            getch();
     return 0;
    }
}
else
{
    for(int i(0);i<2;i++) //выводим точки
        for(int j(0);j<2;j++)
            for(int n(0);n<2;n++)
            {cout << "arrT[n+1]<Tk"   <<"X="<<arrX[i]<<"     y="<<arrY[j]<<"    T="<< arrT[n]<<endl;}
            getch();
     return 0;
}
        
        
    
 
 
goto m2; 
        }
return 0;
        
        }
0
3075 / 2396 / 255
Регистрация: 11.03.2009
Сообщений: 5,444
25.10.2017, 07:47 6
goto здесь лишнее.
0
0 / 0 / 0
Регистрация: 03.10.2017
Сообщений: 47
25.10.2017, 14:17  [ТС] 7
проблему это не решает)
0
15 / 16 / 6
Регистрация: 24.10.2017
Сообщений: 48
25.10.2017, 14:30 8
Принудительное завершение программы - C++
C++
1
exit(0);
что касается программы. она не понятна. используется goto. очевидно что её можно переделать, да так, что проблема с условием может решиться сама собой.
0
3075 / 2396 / 255
Регистрация: 11.03.2009
Сообщений: 5,444
25.10.2017, 15:52 9
Для начала озвучьте задачу. Код мозговыносящий, читать невозможно.
0
298 / 207 / 173
Регистрация: 11.05.2016
Сообщений: 658
25.10.2017, 17:09 10
а не многовато ли циклов?
0
0 / 0 / 0
Регистрация: 03.10.2017
Сообщений: 47
25.10.2017, 20:36  [ТС] 11
программа решает дифф.уравнение и находит точки в определенный момент времени с шагом 0.001
потом проверяет 2 условия(arrT[n+1]<Tk) //if(abs(arrX[i+1])<M_PI)
если да, то переходит проверяет есть ли пересечение, меняет знак и снова считает диф.уравнение.
Если нет, то выводит точки
0
3075 / 2396 / 255
Регистрация: 11.03.2009
Сообщений: 5,444
25.10.2017, 21:17 12
getchar() уберите.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.10.2017, 21:17

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

Завершение программы
Как завершить программу из другой функции(не Main)? Пробовал использовать system(&quot;exit&quot;);, но не...

Аварийное завершение программы
#include &quot;B.h&quot; #include &quot;D1.h&quot; #include &quot;D2.h&quot; #include &lt;iostream&gt; #include &lt;typeinfo&gt; ...

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

Неожиданное завершение программы
простенькая программа, нужно ввести двумерный массив, после чего во втором массиве написать в iый...


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

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

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