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

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

Войти
Регистрация
Восстановить пароль
 
 
florgas
5 / 4 / 0
Регистрация: 28.09.2010
Сообщений: 345
#1

Выход из программы и самопроизвольное выполнение пункта - C++

26.07.2011, 15:39. Просмотров 716. Ответов 19
Метки нет (Все метки)

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

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
#include <iostream>
using namespace std;
void help();
void keep();
int main()
{
    int gran; // ограничение по размеру числа
    int magic; // магическое число
    int flg; // число юзера
    int a;
    hex: cout << "Hi. This is game intuiciya\n\n1.Game\n2.Help\n3.Exit\n" << '\n' << "Your choose:  ";
    cin >> a;
    cout << '\n';
    switch(a) 
     {
    case 1:
        goto save;
        break;
    case 2: 
        help();
        break;
    case 3:
        void keep();
        break;
    
    default:
        cout << "You can write 1 or 3\n";
            goto hex;
         }
    save: cout << "Write max. number:   ";
    cin >> gran;
    cout << '\n' << '\n';
    src:
    cout << "Write number 1-" << gran << ": ";
    cin >> flg;
    cout << '\n';
    if( flg <= gran) goto rand;
        else cout << "You number > maximum'a\n" << '\n';
            goto src;
rand: magic = (rand() +4)/2;
    if( magic > gran) {
        goto rand;
    }
 
    else {
        cout << "Magic number was is:   " << magic << '\n' << '\n';
        if( magic == flg) {
            cout << "YOU WINNER! Your number is true!\n" << '\n';
            goto hex;
        }
        else cout << "Sorry brother, your number is false.\n" << '\n' << "Go next!\n";
        goto src;
        system("PAUSE");
    }
}
void help()
{
    cout << "Game writig on C++. Production by florgas(c) 2011\nFor game write max. number and your number\nFor going back press '0'\n" << '\n';
}
void keep()
{
    cout << "Bye";
}

P.S. я только лишь начинаю с++ изучать, поэтому за такие вопросы тапками не кидайтесь)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.07.2011, 15:39
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Выход из программы и самопроизвольное выполнение пункта (C++):

Сделать запрос на выход или повторное выполнение - C++
Здравствуйте, есть небольшая проблема, у меня есть программка, и мне надо, чтобы после вывода всех результатов, он запрашивал &quot;хотите...

выход из программы - C++
как выйти досрочно из программы если я например нахажусь в функции а мне сразу надо выйти.return не поможет.

Выход из программы - C++
Возможно, глупый вопрос, но как сделать выход из программы? Хочется сделать закрытие программы не из главной функции. К примеру: ...

Выход из программы - C++
Доброго времени суток полуночникам! Есть код, и мне нужно если на if(f1==0 &amp;&amp; s1==0) ,будет значение тру что бы вышло из программы...

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

выход из программы - C++
какой оператор закрывает программу, и библиотеку которую он использует. буду очень признателен. заранее спасибо)

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Mиxaил
533 / 438 / 37
Регистрация: 10.12.2009
Сообщений: 1,857
26.07.2011, 15:42 #2
Цитата Сообщение от florgas Посмотреть сообщение
P.S. я только лишь начинаю с++ изучать, поэтому за такие вопросы тапками не кидайтесь)
не используйте метки - Вы погубите себя и заработаете геморрой...
Net_Wanderer
235 / 208 / 19
Регистрация: 08.06.2011
Сообщений: 467
26.07.2011, 15:43 #3
"спагетти"
florgas
26.07.2011, 15:45  [ТС]
  #4

Не по теме:

Net_Wanderer, Я же написал, что только лишь начинаю изучать С++))
Ты еще моих крестиков-ноликов не видел... каждый вариант возможный через switch прописал))
Но не в этом суть...

Mиxaил
533 / 438 / 37
Регистрация: 10.12.2009
Сообщений: 1,857
26.07.2011, 15:45 #5
C++
1
2
3
4
5
6
7
8
void help()
{
        cout << "Game writig on C++. Production by florgas(c) 2011\nFor game write max. number and your number\nFor going back press '0'\n" << '\n';
}
void keep()
{
        cout << "Bye";
}
зачем??? не проще ли просто сообщение прописывать, а не вызывать функцию каждый раз, когда необходимо?
florgas
5 / 4 / 0
Регистрация: 28.09.2010
Сообщений: 345
26.07.2011, 15:47  [ТС] #6
ХЗ, вот void keep() надо эту функцию переделать под выход из программы, а я хз как...
Mиxaил
533 / 438 / 37
Регистрация: 10.12.2009
Сообщений: 1,857
26.07.2011, 15:50 #7
florgas, если только начали изучать, то еще не поздно выбросить Ваш учебник и взять какой-нить нормальный ( 100500 раз обсуждались эти книги на форуме ) и самому попробовать переписать все заново без использования этих "идиотских, неуместных" меток, а то это читать не возможно...
Net_Wanderer
235 / 208 / 19
Регистрация: 08.06.2011
Сообщений: 467
26.07.2011, 15:51 #8
Цитата Сообщение от florgas Посмотреть сообщение
ХЗ, вот void keep() надо эту функцию переделать под выход из программы, а я хз как...
Можно сделать так:
C++
1
2
3
4
        case 3:
                void keep();
                return 0;
                break;
mimicria
return (true);
1956 / 1093 / 91
Регистрация: 19.04.2011
Сообщений: 2,345
26.07.2011, 15:53 #9
C++
1
2
      case 3:
                return(0);
И всю фигню с выбором в цикл
и
C++
1
2
else { cout << "Sorry brother, your number is false.\n" << '\n' << "Go next!\n";
                goto src; }
Mиxaил
533 / 438 / 37
Регистрация: 10.12.2009
Сообщений: 1,857
26.07.2011, 15:54 #10
Цитата Сообщение от florgas Посмотреть сообщение
void keep() надо эту функцию переделать под выход из программы, а я хз как...
C++
1
2
3
4
5
void keep()
{
    std::cout << "Bye" << std::endl;
    return 0;
}
florgas
5 / 4 / 0
Регистрация: 28.09.2010
Сообщений: 345
26.07.2011, 15:56  [ТС] #11
mimicria, как это в цикл? Можешь переделать программу?)
Net_Wanderer
235 / 208 / 19
Регистрация: 08.06.2011
Сообщений: 467
26.07.2011, 15:59 #12
Цитата Сообщение от Mиxaил Посмотреть сообщение
C++
1
2
3
4
5
void keep()
{
    std::cout << "Bye" << std::endl;
    return 0;
}
Это не скомпилируется, return воспримится не как return из main'a, а как return из функции keep, в которой тип возвращаемого значения void, а вы будете пытаться возвратить int.
florgas
5 / 4 / 0
Регистрация: 28.09.2010
Сообщений: 345
26.07.2011, 16:03  [ТС] #13
Net_Wanderer, +1. Я уже так пробовал)
OstapBender
583 / 521 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
26.07.2011, 16:03 #14
delete pls
Net_Wanderer
235 / 208 / 19
Регистрация: 08.06.2011
Сообщений: 467
26.07.2011, 16:04 #15
Цитата Сообщение от florgas Посмотреть сообщение
Net_Wanderer, +1. Я уже так пробовал)
Это ничего не меняет, сделайте как вам сказал Mиxaил - перепишите программу без использования меток.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.07.2011, 16:04
Привет! Вот еще темы с ответами:

Выход из программы - C++
Доброго времени суток, это опять я:) Дописал программу, которая вычисляет произведение матрицы на вектор. Фишка программы заключается в...

самопроизвольный выход программы - C++
Доброго времени суток. Я пишу программу консольный проект С++ в Visual студии 2010 ознакомиться можно по адресу smilejohn.ts6.ru, вот...

Принудительный выход из программы - C++
Привет! У меня такая проблемка: есть программа в которой реализовано главное меню(имеется цикл while а внутри цикла реализован switch) ...

Enter = выход из программы - C++
Помогите, пожалуйста. Как, что-бы при вводе c клавиатуры кнопки Enter программа закрывалась?


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
26.07.2011, 16:04
Ответ Создать тему
Опции темы

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