C ++ код для автоматического закрытия консоли - PullRequest
2 голосов
/ 06 марта 2011

В настоящее время я изучаю C ++ для курса программирования.Я заметил, что программа моего профессора автоматически закрывается в конце их программы.Обычно он запрашивает у пользователя ввод, а затем при вводе ввода программа закрывается.Как бы я это закодировал?Я знаю только, что при возврате 0 я получаю «Нажмите любую клавишу для продолжения»

Примечание: это .exe файл

Ответы [ 6 ]

3 голосов
/ 06 марта 2011

Если ваша программа не ожидает ввода, она запускается и, наконец, выходит из программы. При выходе консоль автоматически закрывается. Я предполагаю, что для запуска программы вы нажимаете на .exe, в отличие от запуска программы из cmd.exe, или вы запускаете программу из самой Visual Studio без отладки.

2 голосов
/ 06 марта 2011

Вы можете просто поставить следующую строку перед return 0;:

std::cin.get();

Она будет ждать некоторого ввода и затем продолжаться.

1 голос
/ 06 марта 2011

Возврат 0, чтобы дать «нажмите любой джей, чтобы продолжить», является поведением отладчика. Запуск вашей скомпилированной исполняемой программы вне отладчика обычно не показывает этого.

Простой код ниже делает немного больше, чем вы просите (он повторяет то, что вы набрали), но все же дает общее представление.

#include <iostream>
using namespace std;

int main() {
    cout << "enter something" << endl;
    string stuff;
    cin >> stuff;
    cout << "You entered " << stuff << " you insensitive clod" << endl;
    return 0;
}
1 голос
/ 06 марта 2011

используйте getch(); до return; заявления

0 голосов
/ 16 марта 2012

Рекомендую использовать:

std::cin.clear();
std::cin.sync();
std::cin.get();

потому что могут быть моменты, когда вам нужно что-то написать, и вам нужно будет нажать ENTER, что приведет к

std::cin.get(); 

useles. Как он запомнит первый раз, когда вы нажали ENTER и закрыли окно.

Пример:

#include <iostream>
#include <string>

int main()
{
    std::string name;
    std::cout << "Your name: ";
    std::cin >> name;           \\ <--Place where you press ENTER <--------------
    std::cout << "Hi, " << name << ".";

    std::cin.get();
    return 0;
}
0 голосов
/ 06 марта 2011

это просто, в конце вашей функции main () поместите это:

int x;
cin >> x;

это определяет новую переменную и пытается заполнить ее пользовательским вводом, после чего программа не будет завершена, пока пользователь не введет ее. Таким образом, программа достигает значения Press any key to continue, и, наконец, вы выходите из программы с аргументом 0, и окно консоли будет автоматически уничтожено, поскольку оно является главным окном процесса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...