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

Операторы торможения программ - C++

Восстановить пароль Регистрация
 
artyom00007
0 / 0 / 0
Регистрация: 06.07.2012
Сообщений: 9
06.07.2012, 15:50     Операторы торможения программ #1
Какие есть средства для остановки программы, кроме
C++
1
system("pause")
? Какие из них наиболее удобны лично вам?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.07.2012, 15:50     Операторы торможения программ
Посмотрите здесь:

C++ Операторы принятия решения и операторы цикла.
Условные операторы.Операторы цикла C++
Написать программу, используя операторы циклов и операторы ветвления C++
Операторы отношений и логические операторы C++
C++ Переписать символы с входящего рядка в выходящий, меняя операторы языка паскаль на операторы языка С++ := на =, = на ==, # на !=
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Schizorb
 Аватар для Schizorb
508 / 460 / 16
Регистрация: 07.04.2012
Сообщений: 865
Записей в блоге: 1
Завершенные тесты: 1
06.07.2012, 15:57     Операторы торможения программ #2
Тут есть какие-то варианты:
Окно появляется на доли секунды и исчезает

Лучше всего запускать из командной строки, и не нужны никакие операторы...
artyom00007
0 / 0 / 0
Регистрация: 06.07.2012
Сообщений: 9
06.07.2012, 16:06  [ТС]     Операторы торможения программ #3
Цитата Сообщение от Schizorb Посмотреть сообщение
Тут есть какие-то варианты:
Окно появляется на доли секунды и исчезает

Лучше всего запускать из командной строки, и не нужны никакие операторы...
Найти в папке с проектом файл командной строки и запустить? Или как?
Schizorb
 Аватар для Schizorb
508 / 460 / 16
Регистрация: 07.04.2012
Сообщений: 865
Записей в блоге: 1
Завершенные тесты: 1
06.07.2012, 16:20     Операторы торможения программ #4
Найти исполняемый файл с расширением .exe и запустить его, прописав путь в командной строке типа D:\Projects\Project1\a.exe

(Саму командную строку можно запустить, например, через пуск - выполнить - cmd, или bat-файл создать)

Это, наверное, неудобно будет, если используешь IDE. Просто я компилирую в командной строке, и проги запускаю оттуда же.
-=ЮрА=-
Заблокирован
Автор FAQ
06.07.2012, 16:36     Операторы торможения программ #5
artyom00007, возможно использование ожидания ввода к примеру вместо system("pause") записать
C++
1
2
3
char chKey; 
cout<<"Press any key to continue\n";
cin>>chKey;
Можно использовать функцию Sleep, использование флага. В программмах с диалоговым интерфейсом есть обработчики команд меню и элементов диалогового окна соответсвующих состоянию Выход (т.е. до нажатия кнопки из программы не выйдем). Короче миллион вариантов есть...
Ksan
26 / 26 / 0
Регистрация: 02.11.2010
Сообщений: 370
06.07.2012, 17:03     Операторы торможения программ #6
C++
1
2
while(1){ Sleep(1); }  // тогда придется закрывать "крестиком"
while(GetAsyncKeyState(27) != - 32767){ Sleep(1); } // закрывается на Esc
Catstail
Модератор
 Аватар для Catstail
21434 / 10219 / 1666
Регистрация: 12.02.2012
Сообщений: 17,092
06.07.2012, 17:17     Операторы торможения программ #7
До кучи:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include "windows.h"
#include "iostream.h"
 
int main(int argc, char* argv[])
{
    int r;
    
    if (MessageBox(0,"Для продолжения нажмите ОК, для завершения - Отмена","Задержка",1) == 1)
       for (r=0; r<5; r++) cout << "Hello!!!" << endl;
 
    return 0;
 
}
ZaMaZaN4iK
Мой лучший друг-отладчик!
 Аватар для ZaMaZaN4iK
163 / 163 / 9
Регистрация: 24.06.2012
Сообщений: 662
Записей в блоге: 5
Завершенные тесты: 1
06.07.2012, 17:22     Операторы торможения программ #8
А getch() разве не останавливает выполнение?
Ksan
26 / 26 / 0
Регистрация: 02.11.2010
Сообщений: 370
06.07.2012, 17:23     Операторы торможения программ #9
ZaMaZaN4iK, останавливает
ZaMaZaN4iK
Мой лучший друг-отладчик!
 Аватар для ZaMaZaN4iK
163 / 163 / 9
Регистрация: 24.06.2012
Сообщений: 662
Записей в блоге: 5
Завершенные тесты: 1
06.07.2012, 17:29     Операторы торможения программ #10
KSAN, и я о том же.Просто я думал что getch() - это такой же распространненый способ, как и system("pause").А никто не упоминает....
Jupiter
06.07.2012, 17:50
  #11

Не по теме:

Цитата Сообщение от ZaMaZaN4iK Посмотреть сообщение
А никто не упоминает....
потому что getch какашка непереносимый

rinat_w
89 / 85 / 4
Регистрация: 13.11.2011
Сообщений: 183
06.07.2012, 18:09     Операторы торможения программ #12
можно так :
C++
1
2
    cout<<"Press enter to continue . . . ";
    while (cin.get()!='\n');
ZaMaZaN4iK
Мой лучший друг-отладчик!
 Аватар для ZaMaZaN4iK
163 / 163 / 9
Регистрация: 24.06.2012
Сообщений: 662
Записей в блоге: 5
Завершенные тесты: 1
06.07.2012, 19:10     Операторы торможения программ #13
Rinat, уж лучше getch() или system("pause").
Somebody
2770 / 1583 / 141
Регистрация: 03.12.2007
Сообщений: 4,139
Завершенные тесты: 1
07.07.2012, 22:51     Операторы торможения программ #14
C++
1
cin.ignore(numeric_limits<streamsize>::max(), '\n');
elivin
65 / 65 / 1
Регистрация: 04.01.2012
Сообщений: 231
Записей в блоге: 1
07.07.2012, 23:01     Операторы торможения программ #15
Я вообще использую geany в качестве IDE. Там никаких извращений в коде не требуется. Geany запускает не напрямую сам исполняемый файл, а создаёт скрипт, который позволяет посмотреть вывод даже после экстренного выхода из программы (Ctrl+C). Выглядит примерно так (пример кода из соседней темы):
Миниатюры
Операторы торможения программ  
Avazart
 Аватар для Avazart
6897 / 5137 / 252
Регистрация: 10.12.2010
Сообщений: 22,570
Записей в блоге: 17
08.07.2012, 04:37     Операторы торможения программ #16
потому что getch какашка непереносимый
Я чет не понял, а нафига или getch() или system("pause") вообще например под Linux ?
Это ведь кажеться чисто виндовая шняга?
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
08.07.2012, 05:15     Операторы торможения программ #17
Цитата Сообщение от Avazart Посмотреть сообщение
Я чет не понял, а нафига или getch() или system("pause") вообще например под Linux ?
Это ведь кажеться чисто виндовая шняга?
тут привели достаточно и кроссплатформенных вариантов
Avazart
 Аватар для Avazart
6897 / 5137 / 252
Регистрация: 10.12.2010
Сообщений: 22,570
Записей в блоге: 17
08.07.2012, 05:20     Операторы торможения программ #18
Я имею ввиду смысла нет, так как консоль не закрывается после завершения программы.
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
08.07.2012, 06:08     Операторы торможения программ #19
Цитата Сообщение от Avazart Посмотреть сообщение
Я имею ввиду смысла нет, так как консоль не закрывается после завершения программы.
двойным кликом и Run in terminal чтоли запретили?
в винде тоже можно из консоли запускать, и ничего закрываться не будет
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.07.2012, 08:59     Операторы торможения программ
Еще ссылки по теме:

Операторы ветвления и операторы передачи управления C++
C++ Операторы цикла и операторы передачи управления
Операторы языка С++: операторы цикла (исправьте программу) C++

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

Или воспользуйтесь поиском по форуму:
rlib
20 / 20 / 1
Регистрация: 01.05.2012
Сообщений: 60
08.07.2012, 08:59     Операторы торможения программ #20
Всегда делаю "Run to cursor", когда курсор установлен на return из main(). Debug configuration, конечно.
Yandex
Объявления
08.07.2012, 08:59     Операторы торможения программ
Ответ Создать тему
Опции темы

Текущее время: 07:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru