2016-03-07 3 views
0

Я создал простой .exe-файл. Когда я запускаю его, он автоматически закрывается, а не говорит «нажмите любую клавишу, чтобы выйти».программа автоматически выходит

Это моя программа:

#include <iostream> 
#include <string> 
using namespace std; 
int main() 
{ 
    string answer, yes = "yes"; 
    cout << "Is Lucy a top lass ? enter yes or no" << endl; 
    cin >> answer; 
    if (answer == yes) 
    { 
    cout << "Correctomundo" << endl; 
    } 
    else 
    { 
    cout << " Blasphemy ! " << endl; 
    } 
    return 0; 
} 

Как мне сделать это попросить пользователя нажать любую клавишу перед выходом?

Также есть ли способ изменить его, чтобы он говорил что-то другое, а не «нажимать любую клавишу для выхода»?

+0

добавить 'Геч()' в конце перед возвращением – anoop

+0

Это нормальное поведение для консоли заявление. Я бы рекомендовал не вести себя как нестандартную программу. Если вы хотите постоянное окно консоли, сначала откройте окно командной строки и запустите свою программу. – jamesdlin

+0

Когда я это делаю, я получаю следующее: - Ошибка \t C3861 \t 'getch': идентификатор не найден. Можете ли вы объяснить, почему это так? –

ответ

0

Попробуйте положить system("pause"); перед return 0;

+0

Это заставило его работать правильно, спасибо! –

+0

Не беспокойтесь. :)) –

1

Добавить std::getchar(); в конец вашего кода перед return 0;. Это заставит программу ждать, пока вы наберете символ со стандартного ввода (клавиатура) и нажмите enter (или просто нажмите Enter), прежде чем он выйдет. (Возможно, вам понадобится #include <cstdio>), чтобы он работал.)

Если вы хотите получить действительно взломанный, вы можете установить точку останова (вы можете узнать, как это сделать here) в конце вашего кода, но это будет работать только тогда, когда вы находитесь в режиме отладчика, а не в режиме выпуска ...

+0

Обратите внимание, что для этого потребуется ввести символ * и *, нажав Enter (или просто нажать Enter). – jamesdlin

+0

Я добавил это, но, к сожалению, он по-прежнему выходит самостоятельно без какого-либо ввода пользователем. Вы знаете, почему это так? –

+0

@FlewittConnor вы рассылаете спам клавиатуры при запуске программы? –

Смежные вопросы