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

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

Войти
Регистрация
Восстановить пароль
 
Ruslan2396
Сообщений: n/a
#1

Завершение программы с кодом - C++

23.12.2013, 02:57. Просмотров 1173. Ответов 2
Метки нет (Все метки)

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
#include <iostream>
#include <math.h> 
#include <stdio.h>
#include <stdlib.h>
int main()
{
    FILE *file;
    file=fopen("brain.txt","r");
    char mas[1000];
    fgets(mas,1000,file);
    const int N=20;
    char arr[N];
    for(int i=0;i<8;i++)arr[i]='\0';
    int k=0;
    int n=1;
    char sym;
    for(int i=0;i<strlen(mas);i++)
    {
        switch(mas[i]) 
        {
        case '!':arr[k]='\0';break;
        case '>':k++;break;
        case '<':k--;break;
        case '+':arr[k]++;break;
        case '-':arr[k]--;break;
        case '%':if(k<N){sym=arr[k];k++;arr[k]=sym;k--;}break;
        case '.':for(int j=0;j<8;j++)
                     printf("%c",arr[j]);break;
        case '[':
                {
                    if (!arr[k])
                        while (n)
                    { i++;n-=(arr[k]==']')-(arr[k]=='['); }
                    break;
                }
        case ']':
                {
                    if (arr[k])
                        while (n)
                    { i--;n+=(arr[k]==']')-(arr[k]=='['); }
                    break;
                }
        }
    }
    return 0;
}
приложение завершается с системной ошибкой (0xc000013a).
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.12.2013, 02:57     Завершение программы с кодом
Посмотрите здесь:

завершение программы - C++
помогите сообразить #include &lt;StdAfx.h&gt; #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt; using namespace std; void...

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

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

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

Аварийное завершение программы - C++
Программа завершается аварийно, но в файл записывает требуемую информацию. Укажите косяки. В проекте использую многобайтовую...

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

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

Завершение выполнения программы в цикле - C++
В программе есть оператор if.. нужно, чтобы при выполнении некоторого условия был вывод сообщения и выход из программы. Как это сделать?? ...

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

Ошибка. Аварийное завершение программы. - C++
Товарищи,есть функция.. cor find(cor start) { cor buf=start; cor pv=NULL; char adr; int et,kol,S; double x; ...

Аварийное завершение работы программы - C++
1)программа работает правильно но когда нажимаю ентер (после этого она должна завершить работу) выбивает Run-Time Check Failure #2 - Stack...

Рекурсивная функция/аварийное завершение программы - C++
Всем привет. Задание такое: есть вырожение Нужно найти такое х, с погрешность 1e-7 или больше, при котором это вырожение верно. Значения...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
abit
260 / 259 / 33
Регистрация: 03.02.2013
Сообщений: 709
23.12.2013, 04:00     Завершение программы с кодом #2
вот начинаю читать Ваш код и после первой строчки встречаю
C++
1
2
3
4
5
6
7
8
9
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
int main()
{
    FILE *file;
    file=fopen("brain.txt","r");
    char mas[1000];
    fgets(mas,1000,file);
это жесть... давайте писать на C++ всё же, выкиньте Си из ума навсегда, это ужасный стиль... если хотите так писать - пишите в другую ветку форума

Добавлено через 11 минут
ктстати мне не лень, разберу построчно начало
Сишное #include <math.h> это #include <cmath>
а в строчках
#include <stdio.h>
#include <stdlib.h>
я вообще сомневаюсь, нафиг они нужны?

далее
C++
1
2
 FILE *file;
    file=fopen("brain.txt","r");
что за фигня? надо включить fstream, затем
ifstream inpf;

далее
C++
1
char mas[1000];
эмм... а чем не катит
C++
1
std::vector<char> mas
???

и какое это
C++
1
fgets(mas,1000,file);
имеет отношение к C++?
gazlan
3130 / 1905 / 285
Регистрация: 27.08.2010
Сообщений: 5,132
Записей в блоге: 1
23.12.2013, 04:49     Завершение программы с кодом #3
А расскажите, в чем сиысл этого безумного нагромождения очевидно неверного кода?

В чем заключается ваша задача? Ни парсинг, ни калькуляция не требуют таких немыслимых извращений.


The thread 0x7A0 has exited with code 0 (0x0).
The program 'C:\WORK\TEST\Debug\test.exe' has exited with code 0 (0x0).
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
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
 
int main(int argc,char** argv)
{
   FILE*    pIn = fopen("brain.txt","rt");
 
   if (!pIn)
   {
      // Error !
      return -1;
   }
 
   char mas[1000];
 
   fgets(mas,1000,pIn);
 
   const int NN = 20;
 
   char arr[NN];
 
   memset(arr,0,8); // ??
 
   int k=0;
   int n=1;
 
   char sym;
 
   int iLen = strlen(mas);
 
   for (int ii = 0; ii < iLen; ++ii)
   {
      switch (mas[ii])
      {
         case '!':
         {
            arr[k] = 0;
 
            break;
         }
         case '>':
         {
            ++k;
 
            break;
         }
         case '<':
         {
            --k;
 
            break;
         }
         case '+':
         {
            ++arr[k];
 
            break;
         }
         case '-':
         {
            --arr[k];
 
            break;
         }
         case '%':
         {
            if (k < NN)
            {
               sym = arr[k];
               
               ++k;
               
               arr[k] = sym;
               
               --k;
            }
 
            break;
         }            
         case '.':
         {
            for (int j = 0; j < 8; ++j)
            {
               printf("%c",arr[j]);
            }
 
            break;
         }
         case '[':
         {
            if (!arr[k])
            {
               while (n)
               {
                  ++ii;
 
                  n -= (arr[k] == ']') - (arr[k] == '[');
               }
            }
 
            break;
         }
         case ']':
         {
            if (arr[k])
            {
               while (n)
               {
                  --ii;
                  n += (arr[k] == ']') - (arr[k] == '[');
               }
            }
 
            break;
         }
      }
   }
 
   fclose(pIn);
 
   return 0;
}
Ответ Создать тему
Опции темы

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