| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Для новичков > задержка выполнения программы |
| Автор: malaja 20.4.2009, 14:37 |
| Привет всем! В Borland C++ 5.0 для приостановки выполнения программы я использовала функцию getch(), в Visual C++ 6.0 эта команда вызывает ошибку. Подскажите пожалуйста, какую функцию мне использовать, я хочу посмотреть результат выполнения программы. |
| Автор: Avaj 20.4.2009, 14:45 | ||||
попробуй
или
,вместо getch(). И <conio.h> подключен? Опоздал |
| Автор: cupper 20.4.2009, 21:20 |
| код программы ..... char stop; cin<<stop; } |
| Автор: nubliK 21.4.2009, 04:51 | ||||
Можно еще и так если не ошибаюсь:
А кстати сразу вопрос не по теме к людям знающим (прошу прощения за это) какой вариант лучше? этот или
|
| Автор: zim22 21.4.2009, 06:49 | ||
верхний лучше. |
| Автор: nubliK 21.4.2009, 08:19 |
| а если не в лом - обясните zim22 . |
| Автор: zim22 21.4.2009, 08:29 |
верхний лучше, потому что нижний хуже в нижнем используется заголовок conio.h - который не поддерживается некоторыми компиляторами. в частности его функция getch() в верхнем: 1) функция main может принимать параметры командной строки. 2) используется новый формат заголовков в стиле С++. Все имена функций/классов внесены в пространство имён std 3) вместо system("PAUSE") вы можете написать system("del *.cpp") |
| Автор: mrbrooks 21.4.2009, 08:39 | ||
| если уж прикручен #include <iostream> то можно обойтись просто
|
| Автор: zim22 21.4.2009, 09:00 |
эти функции отличаются поведением. getch не ждёт нажатия Enter |
| Автор: Helmet 21.4.2009, 09:09 |
| zim22, а std::cin.get() разве ждет? Не верю |
| Автор: megabist 21.4.2009, 09:11 |
| Зато, если не ошибаюсь, символы введёные за время работы проги (тоесть после последнего ввода, перед гетчем) автоматом упадут в гетч. Или это я с чем-то попутал? |
| Автор: zim22 21.4.2009, 09:13 | ||
и не надо верить. проверьте. Добавлено @ 09:15
чтобы не падали - существуют функции очистки. для потоков: std::cin.clear(); для scanf'ов - fflush() |
| Автор: mrbrooks 21.4.2009, 09:19 |
да и флаг им в руки. я к тому, что прикручивать функционал из cstdlib не вижу смысла если юзаем iostream. |
| Автор: zim22 21.4.2009, 09:23 | ||
согласен |
| Автор: nubliK 21.4.2009, 09:33 |
| to mrbrooks если по существу мне верхний вариант тоже нравится больше. getch() в конце как и std::cin.get() выглядит как то топорно. а вот товарищ zim22 убедил меня очень сильно в сторону верхнего варианта вот этим: в нижнем используется заголовок conio.h - который не поддерживается некоторыми компиляторами. в частности его функция getch() в верхнем: 1) функция main может принимать параметры командной строки. 2) используется новый формат заголовков в стиле С++. Все имена функций/классов внесены в пространство имён std 3) вместо system("PAUSE") вы можете написать system("del *.cpp") smile мне кажется это правильный подход к делу. Зачем поощрять ненужную безалаберность в коде? |
| Автор: mrbrooks 21.4.2009, 09:49 |
когда кажется - то крестятся. в чем *лять безалаберность гений? |
| Автор: nubliK 21.4.2009, 09:56 |
| ну я понял понял - ты крутой программист mrbrooks |
| Автор: zim22 21.4.2009, 09:58 |
| nubliK, не, реально, объясни, что ты понимаешь под безалаберностью |
| Автор: mrbrooks 21.4.2009, 09:59 |
самый, что ни наесть, гламурный быдлокодер. |
| Автор: zim22 21.4.2009, 10:01 | ||
|
| Автор: mrbrooks 21.4.2009, 10:26 |
у меня эта должность и так "вконтакте" написана |
| Автор: Helmet 21.4.2009, 15:01 |
Сорри. В консоли когда что-то делаю, всегде cin.get() ставлю и думал что у него поведение getch(). Оказывается всегда enter жал |
| Автор: nubliK 22.4.2009, 00:44 | ||||
не хотел обидеть mrbrooks - пойми это мое мнение. минус моего выражения в том что если второй код данного сообщения компилить под дргой системой - отличной от Win то ничего не будет. тогда cin.get() это единственный выход согласен. |
| Автор: malaja 22.4.2009, 15:20 |
| Привет всем! Спасибо за помощь AVAJ. Всё работает с помощью cin.get(), <conio.h> был подключен сразу. |