Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/15: Рейтинг темы: голосов - 15, средняя оценка - 4.80
Vl_zemtsov
0 / 0 / 0
Регистрация: 23.06.2012
Сообщений: 28
#1

Программа закрывается при нажатии Enter

23.06.2012, 22:34. Просмотров 2749. Ответов 14
Метки нет (Все метки)

Работаю в Visual studio 2010 Exspress C++.
Написал несколько простых программ. При запуске программ, после компиляции, в Visual, они прекрасно работают, НО! Я решил запустить файл .exe который создается в папке проекта Debug.
На прием данных все работает замечательно (т.е. я могу вводить с экрана все что все нужно в программе), но когда я жму Enter, что бы увидеть результат, программа закрывается.
Работаю с библиотекой ввода/вывода <iostream> (using namespase std).
Никакие system("pause") не помогают.
С чем может быть связана проблема?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.06.2012, 22:34
Ответы с готовыми решениями:

Ошибка с массивом: программа при вводе "ступорится" при нажатии клавиши Enter
Задание: Напишите программу, используя указатели, которая вычисляет адреса...

Закрывается, а не выполняется программа после нажатия enter
Доброй ночки всем. Помогите новичку: после нажатия enter после ввода...

При ENTER закрывается прога
Интересует как заблокировать кнопку ENTER...в label1 ...при нажатии ентер...

Действие при нажатии Enter
Вот недавно здесь нашел код: #include &quot;stdafx.h&quot; #include &lt;conio.h&gt;...

При нажатии Enter закончить ввод
Как сделать чтобы завершить написанное нажатием Enter после ввода текста в...

14
bLesk
42 / 42 / 8
Регистрация: 24.11.2009
Сообщений: 165
23.06.2012, 22:41 #2
попробуйте добавить библиотеку cstdlib

Добавлено через 28 секунд
тогда, system("pause"); должна помочь
0
Vl_zemtsov
0 / 0 / 0
Регистрация: 23.06.2012
Сообщений: 28
23.06.2012, 22:48  [ТС] #3
Цитата Сообщение от bLesk Посмотреть сообщение
попробуйте добавить библиотеку cstdlib

Добавлено через 28 секунд
тогда, system("pause"); должна помочь
Не помогло. Так же файл .exe только на ввод данных (в Visual все ок).
(У меня system("pause") без дополнительных библиотек работает)
0
bLesk
42 / 42 / 8
Регистрация: 24.11.2009
Сообщений: 165
23.06.2012, 22:51 #4
ну как вариант можно через командую строку запустить )
пуск - выполнить - cmd
потом в окне пишите: cd c:\papka\mestogdefail (прописать естественно путь к файлу) нажимаете enter
далее пишите название файла (программы), и снова enter
0
Vl_zemtsov
0 / 0 / 0
Регистрация: 23.06.2012
Сообщений: 28
23.06.2012, 23:06  [ТС] #5
Цитата Сообщение от bLesk Посмотреть сообщение
ну как вариант можно через командую строку запустить )
пуск - выполнить - cmd
потом в окне пишите: cd c:\papka\mestogdefail (прописать естественно путь к файлу) нажимаете enter
далее пишите название файла (программы), и снова enter
Да, так работает, но это более чем геморно)
0
defer
秘密
558 / 238 / 16
Регистрация: 29.11.2010
Сообщений: 797
23.06.2012, 23:30 #6
рядом с exe, создаете bat-файл

Bash
1
cmd /k ваша_программа.exe
0
Vl_zemtsov
0 / 0 / 0
Регистрация: 23.06.2012
Сообщений: 28
23.06.2012, 23:43  [ТС] #7
Цитата Сообщение от defer Посмотреть сообщение
рядом с exe, создаете bat-файл

Bash
1
cmd /k ваша_программа.exe
/k не является внутренней или внешней командой, исполняемой программой или пакетный файлом.

+я хочу что бы открывался и корректно работах .exe файл. (открывался на прямую)
0
xADMIRALx
67 / 61 / 5
Регистрация: 09.06.2012
Сообщений: 291
24.06.2012, 01:23 #8
У меня отлично все работает,попробуйте выбор компиляции изменить на release и 2 раза написать или даже 3 раза написать

C++
1
2
3
system("PAUSE");
system("PAUSE");
system("PAUSE");
или же
C++
1
getch();
Скиньте код,который пишите...
1
CRonaldo7
0 / 0 / 0
Регистрация: 19.06.2012
Сообщений: 22
26.06.2012, 21:21 #9
C++
1
system("PAUSE");
0
alsav22
5439 / 4834 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
27.06.2012, 04:31 #10
Цитата Сообщение от Vl_zemtsov Посмотреть сообщение
Работаю в Visual studio 2010 Exspress C++.
Написал несколько простых программ. При запуске программ, после компиляции, в Visual, они прекрасно работают, НО! Я решил запустить файл .exe который создается в папке проекта Debug.
На прием данных все работает замечательно (т.е. я могу вводить с экрана все что все нужно в программе), но когда я жму Enter, что бы увидеть результат, программа закрывается.
Работаю с библиотекой ввода/вывода <iostream> (using namespase std).
Никакие system("pause") не помогают.
С чем может быть связана проблема?
Никогда не интересовало, а сейчас попробовал и получилось то же самое. У себя причину нашёл. Посмотрите, может в папке Debug отсутсвуют какие нибудь данные, необходимые для работы программы. У меня, например, не было файла, который нужно было открыть (в папке проекта он был), а в коде был выход без остановки, если файл невозможно открыть. Поэтому, при вводе имени файла и нажатии на Enter, программа закрывалась.
1
tomaticus
47 / 47 / 5
Регистрация: 02.01.2011
Сообщений: 505
27.06.2012, 12:28 #11
Vl_zemtsov, чем вас не устраивает
C++
1
getchar()
?
0
-=ЮрА=-
27.06.2012, 12:46
  #12

Не по теме:

Цитата Сообщение от Vl_zemtsov Посмотреть сообщение
но когда я жму Enter, что бы увидеть результат, программа закрывается.
- покажи код, я уверен на 95% в кривизне кода:)

0
Hrundel
28 / 28 / 2
Регистрация: 27.05.2012
Сообщений: 114
27.06.2012, 15:51 #13
Буфер ввода надо очищать, и все будет работать с первого раза
0
alsav22
5439 / 4834 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
27.06.2012, 17:59 #14
Vl_zemtsov, чем вас не устраиваетКод C++
1
2
3
getchar()



?
При чём здесь getchar(), system("pause") и пр.? Проблема в том, что при запуске в VS всё это работает, а при запуске из папки debug - нет. Код, конечно, хотелось бы посмотреть.
0
Hrundel
28 / 28 / 2
Регистрация: 27.05.2012
Сообщений: 114
27.06.2012, 21:31 #15
Еще раз добавлю. Напиши перед system("pause"); cin.clear(); и все будет работать.
0
27.06.2012, 21:31
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.06.2012, 21:31

Как прекратить/начать функцию при нажатии Enter?
У меня в коде такой фрагмент: int cin_word; while (cin &gt;&gt; cin_word) {...

Сделать так, чтобы ввод не происходил при нажатии Enter
Как сделать что бы cout &lt;&lt; (letter); не срабатывал после нажатия enter? Когда...

Как сделать, чтобы диалоговое окно не закрывалось при нажатии клавиши ENTER?
Как сделать, чтобы диалоговое окно не закрывалось при нажатии клавиши ENTER?...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

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