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

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

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

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

26.07.2011, 15:39. Просмотров 713. Ответов 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++
Здравствуйте, есть небольшая проблема, у меня есть программка, и мне надо, чтобы после вывода всех результатов, он запрашивал &quot;хотите...

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

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

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

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

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

выход из программы - 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ил - перепишите программу без использования меток.
mimicria
return (true);
1956 / 1093 / 91
Регистрация: 19.04.2011
Сообщений: 2,345
26.07.2011, 16:23     Выход из программы и самопроизвольное выполнение пункта #16
Цитата Сообщение от florgas Посмотреть сообщение
mimicria, как это в цикл? Можешь переделать программу?)
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
#include <iostream>
using namespace std;
void help();
void keep();
int main()
{
 int gran; // îãðГ*Г*ГЁГ·ГҐГ*ГЁГҐ ГЇГ® Г°Г*çìåðó Г·ГЁГ±Г«Г*
 int magic; // Г¬Г*ãè÷åñêîå ÷èñëî
 int flg; // ÷èñëî þçåðГ*
 int a;
 while (true)
 {
  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:
   {
    cout << "Write max. number:       ";
    cin >> gran;
    cout << '\n' << '\n';
    while (true)
    {
     flg=gran+1;
     while (flg>gran)
     {
      cout << "Write number 1-" << gran << ": ";
      cin >> flg;
      cout << '\n';
      if( flg > gran) cout << "You number > maximum'a\n" << '\n';
     }
     magic=gran+1;
     while (magic > gran)
       magic = (rand() +4)/2;
     cout << "Magic number is:   " << magic << '\n' << '\n';
     if( magic == flg)
     {
      cout << "YOU WINNER! Your number is true!\n" << '\n';
      break;
     }
     else
     {
      cout << "Sorry brother, your number is false.\n" << '\n' << "Go next!\n";
      continue;
     }
    }
    break;
   }
   case 2:
   {
    help();
    break;
   }
   case 3:
   {
    void keep();
    return (0);
   }
   default:
   {
    cout << "You can write 1 or 3\n";
  }
 }
}
}
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";
}
Добавлено через 4 минуты
Поясните мне только эпический смысл вот этого?
C++
1
magic = (rand() +4)/2;
florgas
5 / 4 / 0
Регистрация: 28.09.2010
Сообщений: 345
26.07.2011, 16:25  [ТС]     Выход из программы и самопроизвольное выполнение пункта #17
Ну так... просто стандартные числа 41... меня уже бесят)
mimicria
return (true);
1956 / 1093 / 91
Регистрация: 19.04.2011
Сообщений: 2,345
26.07.2011, 16:28     Выход из программы и самопроизвольное выполнение пункта #18
Они и будут стандартные, ибо надо в начале программы
C++
1
srand ( time(NULL) );
florgas
5 / 4 / 0
Регистрация: 28.09.2010
Сообщений: 345
26.07.2011, 16:31  [ТС]     Выход из программы и самопроизвольное выполнение пункта #19
А кто-нибудь может объяснить почему первый пункт switch'а выполняется самопроизвольно?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.07.2011, 16:36     Выход из программы и самопроизвольное выполнение пункта
Еще ссылки по теме:

Досрочный выход из программы - C++
Добрый день! Имеется программа на Borland С, нажимаю на фоме кнопку и запускаю расчет. Расчет производится в функции нажатия на...

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

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

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

Выход из программы по нажатию Esc - C++
подскажите как сделать чтобы по нажатию ESC выводился результат.затупил чутка int main(){ setlocale(LC_ALL, &quot;RUS&quot;); toll_Both...


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

Или воспользуйтесь поиском по форуму:
florgas
5 / 4 / 0
Регистрация: 28.09.2010
Сообщений: 345
26.07.2011, 16:36  [ТС]     Выход из программы и самопроизвольное выполнение пункта #20
Вот сама программа откомпилированная
Вложения
Тип файла: rar intuiciya.rar (10.4 Кб, 7 просмотров)
Yandex
Объявления
26.07.2011, 16:36     Выход из программы и самопроизвольное выполнение пункта
Ответ Создать тему
Опции темы

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