Как сделать так, чтобы консольное окно не закрывалось когда запускаешь программу на Dev c++
Запускаю программу на Dev c++ всё работает нормально пишет «Для продолжения нажмите любую клавишу»,запускаю .exe файл и быстро закрывается.
Лучший ответ
Вариант 1. Дописать в конец программы ввод данных (строки, числа, символа — не важно). Чтобы программа перед тем, как завершиться, останавливалась и ждала, когда ты что-то введёшь.
Вариант 2. Запустить консоль и уже из неё запустить скомпилированную программу.
Вариант 3. Посмотреть в документации, нет ли в самой Dev C++ отдельного окна консоли, в которое программа производит вывод и которое можно посмотреть после завершения программы. Подобное даже в Turbo Pascal было.
Остальные ответы
В конце программы добавить один или два (зависит от программы) оператора cin.get();
Закрываться будет при нажатии клавиши Enter.
Как сделать чтобы программа не закрывалась
Сообщения: 280
Благодарности: 1
| Конфигурация компьютера | |
| Процессор: Intel Pentium Dual Core E2180 @ 2.00GHz | |
| Материнская плата: Gigabyte P35-DS3L | |
| Память: 2x1GB DDR2-SDRAM Samsung | |
| HDD: Seegate IDE 250Gb | |
| Видеокарта: XFX GeForce 8500GT |
Когда .exe или .bat запускаешь, они свои черные окна сразу закрывают и результат не увидеть. Как сделать, чтобы они не закрывались автоматически?
Сообщения: 3254
Благодарности: 438
Пуск->выполнить->CMD
И уже оттуда запускать .exe или .bat
——-
«640 K ought to be enough for anybody» Bill Gates, 1981
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.
Сообщения: 3665
Благодарности: 1563
c:\WINDOWS\_default.pif — свойства\программа\закрывать окно по завершении работы
Сообщения: 280
Благодарности: 1
| Конфигурация компьютера | |
| Процессор: Intel Pentium Dual Core E2180 @ 2.00GHz | |
| Материнская плата: Gigabyte P35-DS3L | |
| Память: 2x1GB DDR2-SDRAM Samsung | |
| HDD: Seegate IDE 250Gb | |
| Видеокарта: XFX GeForce 8500GT |
CyberDaemon нет, то же самое.
amel27 галку снял, не помогает. А если этот дефолт запустить, то что будет? У меня выдает ошибку.
Сообщения: 3254
Благодарности: 438
NordWest
А ты как делал?
Пуск->выполнить->CMD запускает окно консоли. Если из этого окна уже запускать всякие .exe или .bat, то окно не закроется. Единственный минус — неудобно, надо помнить команды DOS
——-
«640 K ought to be enough for anybody» Bill Gates, 1981
Сообщения: 280
Благодарности: 1
| Конфигурация компьютера | |
| Процессор: Intel Pentium Dual Core E2180 @ 2.00GHz | |
| Материнская плата: Gigabyte P35-DS3L | |
| Память: 2x1GB DDR2-SDRAM Samsung | |
| HDD: Seegate IDE 250Gb | |
| Видеокарта: XFX GeForce 8500GT |
CyberDaemon, ааа, я тебя не правильно понял просто. Да, так конечно будет оставаться, я так и делаю сейчас. Но из cmd можно только локально выполнить файлы, во всяком случае я не знаю как это сделать с файлами в сети.
Как сделать чтобы программа не закрывалась
Все работает, но я хочу, чтобы окно программы не закрывалось после нажатия на Enter. Как это сделать?
Пользователь
Регистрация: 19.08.2009
Сообщений: 89
может ты имел ввиду не закрывалось пока ты не нажмешь ентер
system("pause");
Последний раз редактировалось Sazary; 18.09.2009 в 18:25 .
Форумчанин
Регистрация: 18.08.2009
Сообщений: 289
Также прочитал такие слова:
| Если не считать программных решений, то как вариант во многих IDE есть альтернативный запуск в конце которого появляется «Press any key to continue. «. Я бы сказал во всех, но не уверен, так как пробовал лишь самые популярные. |
Это про что?
Белик Виталий 🙂
Регистрация: 23.07.2007
Сообщений: 57,792
| system(«pause»); |
Я бы лучше написал cin.get(); Где-то слышал что System лучше избегать.
| Это про что? |
Это про то что некоторые компиляторы после выполнения программы не скрывают окно, если в программе не прописано ожидать нажатия клавиши, а наоборот ждут нажатия Энтера. Обычно такие фички настроены в универах.
I’m learning to live.
Последний раз редактировалось Stilet; 18.09.2009 в 14:58 .
Форумчанин
Регистрация: 18.08.2009
Сообщений: 289
А кстати, для чего в конце программы размещен return 0; ? Пробовал указывать вместо нуля другие цифры — вроде как ничего не меняет.
Регистрация: 22.09.2009
Сообщений: 4
Дарова
Любая функция в С++ должна возвращать значение или не возвращать.
В первом случае в начале обявления функции пишется имя возвращаемого типа например: «int myfunct(передаваемые значения)».
Во втором cлучае вначале пишется слово «void».
«return» это возврщаемое значение функции main (точки входа).
Если вначале любой функции не стоит «void» она обязательно должна
возвращать значение. Тут у тебя стоит «int main(. )» а значит
функция должна возвращать тип «int»(целочисленное значение). А
в твоем случае функции «main» возвращать то нечего. Поэтому ради приличия (и не только) пишут «return 0».
Регистрация: 22.09.2009
Сообщений: 4
Самый удоьный способ это написать перед «return o » вот это:
«getch();» -эта функция находится в библиотеке «stdio.h».
Ну можно еще написать в конце «cin.get();» -что находится в «iostream»
но иногда приходится писать «cin.get()» два раза. Поэтому рекомендую первый способ. Разница лишь в том что «getch();» относиться к библиотекам «С» а «cin.get» к «С++».
Регистрация: 06.08.2009
Сообщений: 2,992
cin.get() требует нажатия Enter, а getch() — любой клавиши. Я предпочитаю второй вариант.
ITExplain

Please read How to support Ukraine if you haven’t done it yet!
Advertisements
Recent Posts
- Error loading shared library libresolv.so.2: No such file or directory
- Windows Server – A service installation section in this INF is invalid
- How to clone git without/ignore lfs files
- ImportError: no module named ‘ssd1306’ in micropython
- Fuse mount in docker or docker-compose
Recent Comments
Archives
Categories
Meta
C++ как сделать чтобы консоль не закрывалась
Spread the love

Чтобы окно программы не закрывалось после завершения ее работы, достаточно в конце добавить одну строчку (после кода всей программы). Есть несколько вариантов:
1. Кросплатформенный (Windows, Linux, …)
Используем cin из библиотеки iostream
using namespace std;
int main ()
<
int i = 0;
cout cin >> i;
return 0;
>
После выполнения вышеприведенного кода программа не закроется, а будет ждать ввода. Только после ввода числа (или символа) программа завершится.
Но можно написать программу и таким образом, чтобы она завершалась после нажатия любой клавиши. В этом случае используем функцию cin.get() из библиотеки iostream .
using namespace std;
После выполнения кода программа будет ожидать нажатия любой клавиши.
2. Только под Windows
Используем функцию system и передаем ей параметр “PAUSE” из библиотеки stdlib.h . Не рекомендуется использовать данный способ!
Код:
Код:
#include
#include
#include
using namespace std;
int main ()
<
int i = 0;
cout system(“PAUSE”);
return 0;
>