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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 24, средняя оценка - 4.79
Litcher
0 / 0 / 0
Регистрация: 11.07.2012
Сообщений: 21
#1

Не работает программа (Process returned o) - C++

11.07.2012, 19:53. Просмотров 3592. Ответов 39
Метки нет (Все метки)

Доброго времени суток! Столкнулся с проблемой, при компиляции ошибок нет, но при запуске выдается вот такое: Process returned o <0X0> execution time: 0.398 s Press any key to continue.
Хотя по задумке должно быть меню и все такое)
Прилагаю модули программы, интуитивно думаю, что ошибка мелкая какая то, но на данный момент найти никак не могу)
Надеюсь кто нибудь сможет помочь)
0
Вложения
Тип файла: rar project1.rar (4.9 Кб, 15 просмотров)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.07.2012, 19:53
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не работает программа (Process returned o) (C++):

Process returned -107. в среде codeblocks как расшифровать ошибку? - C++
Помогите понять какую ошибку выдает? стандарт c99, при уменьшении dz до 0.001 работает но метод расчета предполагает большую точность ...

Почему программа не работает на MFC статичной библиотеки. а вот на стандартном мфс работает - C++
почему программа не работает на MFC статичной библиотеки. а вот на стандартном мфс работает. Имею в ввиду что сделал прогу которая меняет...

Программа , которая выводит время, за которое программа работает - C++
Вообщем, нужно что бы считалось время от начала работы программы, и выводилось на экран.

Id returned 1 exit status - C++
Помогите найти ошибку в коде Добавлено через 22 секунды #include &lt;cstring&gt; #include &lt;cstdio&gt; #include &lt;cstdlib&gt; class CMain{ ...

Ld returned 1 exit status - C++
Здравствуйте, господа. Я решил разобраться с освещением и безнадежно пытаюсь скомпиллировать листинг с этого сайта. Компиллятор...

Id returned 1 exit status? - C++
вот мой код #include &lt;iostream&gt; using namespace std; class Series { public: virtual int element_prog() = 0; ...

39
Litcher
0 / 0 / 0
Регистрация: 11.07.2012
Сообщений: 21
11.07.2012, 22:10  [ТС] #16
Вот со всеми выше сказанными исправлениями
0
Вложения
Тип файла: rar pr1.rar (5.0 Кб, 3 просмотров)
alsav22
5425 / 4820 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
11.07.2012, 22:12 #17
Цитата Сообщение от Litcher Посмотреть сообщение
add.cpp должен выглядеть вот так:
В add.cpp нужно как-то структуру подключить. Компилятор не определяет count и s. Напрямую не получается. Множественные определения.
0
Litcher
0 / 0 / 0
Регистрация: 11.07.2012
Сообщений: 21
11.07.2012, 22:17  [ТС] #18
Использовать указатель на струтктуру , например : struct students*s; (добавляем эту строчку в structure.h)
ну и соответственно в модуле add.cpp использовать void add(struct students*s){
Тогда надобности в count не будет
0
alsav22
5425 / 4820 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
12.07.2012, 00:20 #19
Так получилось. Правильно или нет, не знаю. Убрать из structure.h: struct students s[30]; и int count; Поместить их в отдельный файл: structure.cpp . Пдключить в нём #include "structure.h" . В файлах:
add.cpp
delete.cpp
main.cpp
search_by_group.cpp
search_by_last_name.cpp
show_all.cpp
show_debtors.cpp
show_s.cpp

прописать: extern struct students s[30]; extern int count;
Из файла test.cpp убрать #include "structure.h"
В файле main.cpp, компоновщик не пропускает save_exit(); (неразрешённый внешний символ). Закоментировал. В функции main(), после входа в цикл while отсутствует ввод переменной c, по которой далее делается switch (c). Вставить c=getch();:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
while (1){
    
    c=getch();
    switch (c){
    case '1': add(); break;
    case '2': search_by_last_name(); break;
    case '3': show_debtors(); break;
    case '4': show_all(); getch(); break;
    case '5': search_by_group(); getch(); break;
    case '6': del();getch(); break;
    case '7': show_s();getch();break;
    case '8': printf("\nYou really want to leave? (Y\\N)\n");
         c=getch();
            if((c=='y')||(c=='Y')){
                //save_exit();
                return 1;
        }
            }
        }
Так компилируется без ошибок и работает. Не знаю, что в файле, поэтому пробовал на текстовом.

Добавлено через 20 минут
Насчёт save_exit(). Прототип и вызов в main() без параметров, а в реализации: void save_exit(struct students *s)

Добавлено через 3 минуты
Наверное, в main() должно быть: save_exit(s); ?
0
ValeryS
Модератор
6679 / 5088 / 475
Регистрация: 14.02.2011
Сообщений: 17,070
12.07.2012, 00:35 #20
Цитата Сообщение от alsav22 Посмотреть сообщение
На компиляцию, я думаю, это никак не могло повлиять. Но break там явно не на месте был.
могло.
компилятор видит что цикла как такого нет и выбрасывает все тело
0
alsav22
5425 / 4820 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
12.07.2012, 01:07 #21
Цитата Сообщение от ValeryS Посмотреть сообщение
компилятор видит что цикла как такого нет и выбрасывает все тело
Выбрасывать может всё что угодно. Ошибки компиляции здесь причём? Разговор был о том, что ТС писал, что у него всё компилировалось, а как break убрал, то мол ошибки появились. Я ему и написал, что break здесь ни при чём. У него в коде ошибки были.
0
Litcher
0 / 0 / 0
Регистрация: 11.07.2012
Сообщений: 21
12.07.2012, 01:51  [ТС] #22
alsav22, можете архивом прикрепить файлы?
0
alsav22
5425 / 4820 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
12.07.2012, 02:12 #23
Цитата Сообщение от Litcher Посмотреть сообщение
alsav22, можете архивом прикрепить файлы?
Попробую. Время нужно. Но код хоть и работает, но криво. С функциями надо разбираться.
0
Litcher
0 / 0 / 0
Регистрация: 11.07.2012
Сообщений: 21
12.07.2012, 02:14  [ТС] #24
alsav22, буду очень сильно признателен)
0
alsav22
5425 / 4820 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
12.07.2012, 02:17 #25
Цитата Сообщение от Litcher Посмотреть сообщение
alsav22, буду очень сильно признателен)
Архив с файлами.
0
Вложения
Тип файла: rar project1.rar (6.3 Кб, 4 просмотров)
ValeryS
Модератор
6679 / 5088 / 475
Регистрация: 14.02.2011
Сообщений: 17,070
12.07.2012, 06:57 #26
Цитата Сообщение от alsav22 Посмотреть сообщение
У него в коде ошибки были.
были !!! и компилировалось
не веришь посмотри на код и список ошибок
Цитата Сообщение от Litcher Посмотреть сообщение
C:\Users\Litcher\Desktop\5\main.cpp|40|undefined reference to `add()'|
C:\Users\Litcher\Desktop\5\main.cpp|41|undefined reference to `search_by_last_name()'|
C:\Users\Litcher\Desktop\5\main.cpp|42|undefined reference to `show_debtors()'|
C:\Users\Litcher\Desktop\5\main.cpp|43|undefined reference to `show_all()'|
C:\Users\Litcher\Desktop\5\main.cpp|44|undefined reference to `search_by_group()'|
C:\Users\Litcher\Desktop\5\main.cpp|45|undefined reference to `del()'|
C:\Users\Litcher\Desktop\5\main.cpp|46|undefined reference to `show_s()'|
C:\Users\Litcher\Desktop\5\main.cpp|50|undefined reference to `save_exit()'|
Цитата Сообщение от alsav22 Посмотреть сообщение
while (1){
break;
switch (c){
case '1': add(); break;
case '2': search_by_last_name(); break;
case '3': show_debtors(); break;
case '4': show_all(); getch(); break;
case '5': search_by_group(); getch(); break;
case '6': del();getch(); break;
case '7': show_s();getch();break;
когда стоял брейк то все касе не компилировались
ибо выброшены из кода (типа коментарии)
а брейк убрали вот ошибки и полезли


Цитата Сообщение от alsav22 Посмотреть сообщение
Выбрасывать может всё что угодно. Ошибки компиляции здесь причём?
при том что трансляция по разному проходит
почитай про скрытые наведенные ошибки
0
Litcher
0 / 0 / 0
Регистрация: 11.07.2012
Сообщений: 21
12.07.2012, 09:43  [ТС] #27
alsav22, у меня на код блоксе не запускается, те же самые ошибки что и выше выдает, ну еще и s с count не видит(
0
alsav22
5425 / 4820 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
12.07.2012, 12:13 #28
Цитата Сообщение от Litcher Посмотреть сообщение
alsav22, у меня на код блоксе не запускается, те же самые ошибки что и выше выдает, ну еще и s с count не видит(
Не знаю. У меня не VC компилируется без ошибок и работает. Как свои файлы на мои заменяли? Файл для открытия существует и где? Я в своём коде изменил путь и название (увидели?). Теперь он (bd.txt) должен быть в папке проекта. Ещё, в main() сделайте изменеия в участке кода:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
FILE* f;   char c;
    count=0;
    if(!(f=fopen("bd.txt","r")))
    {
        printf("The file does not exist\n");
        printf("You want continue? (Y\\N)\n");
        c=getch();
        if((c=='n')||(c=='N')) return 1;
    }
    else
    {
        fread(&s,sizeof(s),1,f);
        for(int i=0; strcmp(s[i].fam,"")!=0; i++) count=i+1;
        fclose(f);
    }
    
    while (1)
    {.....
, а то, если файл не открывается, ошибка будет.
И ошибки компиляции ещё раз покажите.

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

Внизу - программа в работе.
0
Миниатюры
Не работает программа (Process returned o)  
alsav22
5425 / 4820 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
12.07.2012, 12:33 #29
И замените в main() первый getch() на getchar(), а то не видно, что вводится. И, хорошо бы, в начале while() поставить вывод меню выбора. Например, :
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
while (1)
    {
   cout << "Добавить студента    1\n"
        << "Найти по фамилии     2\n"
        << "Показать должников   3\n"
        << "Показать всех        4\n"
        << "Найти группу         5\n"
        << "Удалить              6\n"
        << "Показать             7\n"
        << "Сохранить            8\n";
        
        c=getch();
        switch (c)
        {
        case '1': add(); break;
................
Строки для примера.
0
Миниатюры
Не работает программа (Process returned o)   Не работает программа (Process returned o)  
alsav22
5425 / 4820 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
12.07.2012, 14:04 #30
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
while (1)
    {
   cout << "Добавить студента    1\n"
        << "Найти по фамилии     2\n"
        << "Показать должников   3\n"
        << "Показать всех        4\n"
        << "Найти группу         5\n"
        << "Удалить              6\n"
        << "Показать             7\n"
        << "Сохранить            8\n";
        
        flushall();  // нужно, если дальше getchar()
        c = getchar();
        switch (c)
        {
        case '1': add(); break;
...................
Добавлено через 58 минут
Сейчас попробовал в Code Blocks. Вот так переписал файл main.cpp . После этого откомпилировалось, и работает:
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
#include "stdio.h"
#include "string.h"
#include <conio.h>
#include <Windows.h>
#include <iostream>
using namespace std;
 
 
#include "save_exit.h"
#include "menu.h"
#include "structure.h"
#include "add.h"
#include "delete.h"
#include "search_by_group.h"
#include "search_by_last_name.h"
#include "show_all.h"
#include "show_debtors.h"
#include "show_s.h"
extern struct students s[30];
//int count;
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    
    int count;
 
    FILE* f;   char c;
    count=0;
    if(!(f=fopen("bd.txt","r")))
    {
        printf("The file does not exist\n");
        printf("You want continue? (Y\\N)\n");
        c=getchar();
        if((c=='n')||(c=='N')) return 1;
    }
    else
    {
        fread(&s,sizeof(s),1,f);
        for(int i=0; strcmp(s[i].fam,"")!=0; i++) count=i+1;
        fclose(f);
    }
 
    while (1)
    {
   cout << "Добавить студента    1\n"
        << "Найти по фамилии     2\n"
        << "Показать должников   3\n"
        << "Показать всех        4\n"
        << "Найти группу         5\n"
        << "Удалить              6\n"
        << "Показать             7\n"
        << "Сохранить            8\n";
 
 
        c = getch();
        switch (c)
        {
        case '1': add(); break;
        case '2': search_by_last_name(); break;
        case '3': show_debtors(); break;
        case '4': show_all(); getch(); break;
        case '5': search_by_group(); getch(); break;
        case '6': del();getch(); break;
        case '7': show_s();getch();break;
        case '8': printf("\nYou really want to leave? (Y\\N)\n");
 
        c=getch();
            if((c=='y')||(c=='Y'))
            {
                save_exit(s);
                return 1;
            }
        }
    }
return 0;
}
1
Миниатюры
Не работает программа (Process returned o)  
12.07.2012, 14:04
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.07.2012, 14:04
Привет! Вот еще темы с ответами:

Id returned 1 exit status - C++
#include &lt;windows.h&gt; #include &lt;mmsystem.h&gt; #include &lt;conio.h&gt; #pragma comment(lib, &quot;winmm.h&quot;) int main(){ ...

Программа работает в турбо си но не работает в дев си - C++
#include&lt;graphics.h&gt; #include&lt;stdio.h&gt; #include&lt;conio.h&gt; #include&lt;math.h&gt; #include&lt;dos.h&gt; #define R &quot;C:\\TC\\bgi&quot; void...

[Error]Id returned 1 exit status - C++
#include &lt;graphics.h&gt; #include &lt;conio.h&gt; int main() { initwindow(400,300); moveto(0,0); lineto(50,50); getch(); ...

Ошибка id returned 1 exit status - C++
Ошибка id returned 1 exit status, как исправить? #include &lt;iostream&gt; using namespace std; struct List { float a; List*...


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

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

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