68 / 41 / 1
Регистрация: 14.05.2013
Сообщений: 383
|
||||||
1 | ||||||
Программа-таймер (отсчитывает определенное время)03.07.2013, 18:58. Показов 6863. Ответов 26
Метки нет (Все метки)
Нужно написать программу, вот задача:
Программа должна отсчитывать определённое количество времени(это время мы будем вводить) Программа задаёт вопрос сколько времени отсчитать допустим мы вводим 50 (в секундах) И программа будет отсчитывать 50 секунд Помогите написать пожалуйста! Добавлено через 15 минут Спасибо (хз кому), но я уже сам написал Вот исходник, вдруг кому нужен будет:
0
|
03.07.2013, 18:58 | |
Ответы с готовыми решениями:
26
Программа - экзаменатор (тест за определенное время) С++ Программа подачи компьютеру сигнала shutdown в определенное системное время Запустить таймер на определенное время Таймер на запуск программы через определенное время и зациклить выполнение |
Croessmah
|
03.07.2013, 20:04
#3
|
0
|
03.07.2013, 20:05 | 4 | |||||
1
|
42 / 42 / 27
Регистрация: 29.01.2013
Сообщений: 277
|
|||||||||||
03.07.2013, 20:15 | 5 | ||||||||||
1
|
интересующийся
311 / 282 / 93
Регистрация: 25.09.2010
Сообщений: 1,056
|
|
03.07.2013, 20:22 | 6 |
DiffEreD, а можно как-то без chrono обойтись?
Не по теме: Любопытства ради
0
|
03.07.2013, 21:20 | 8 | |||||
3.24 ушло на запуск программы).
если хотите сделать приближённо можете добавить Sleep(1000); перед cout если вам нужно не побалываться а для дела, юзайте SetTimer Добавлено через 1 минуту Вот получение дескриптора консоли, какие заглав файлы подключить сами разберитесь
0
|
Неэпический
|
|
03.07.2013, 21:26 | 9 |
так же не даст точных результатов
Есть еще функция GetConsoleWindow http://msdn.microsoft.com/en-u... 85%29.aspx
0
|
интересующийся
311 / 282 / 93
Регистрация: 25.09.2010
Сообщений: 1,056
|
||||||
03.07.2013, 23:37 | 10 | |||||
DiffEreD, забавно получается: если в конце строчки std::cout << "Секунды: " << --seconds << '\n'; убрать переход на новую строку, то программа напечатает только один раз всё сразу по завершении цикла:
почему так происходит? Добавлено через 2 минуты на всякий случай уточню: компилятор нативный gcc 4.8
0
|
DiffEreD
|
|||||
04.07.2013, 00:34
#11
|
|||||
Не по теме: xtorne21st, не понял, что вас так удивляет? Тут sleep_for вообще не пределах. Обычное следование операторов в цикле (в одну строчку если уж перевод строки убрали)
0
|
интересующийся
311 / 282 / 93
Регистрация: 25.09.2010
Сообщений: 1,056
|
||||||
04.07.2013, 03:08 | 13 | |||||
DiffEreD, Croessmah, я понял почему у вас вызвало удивление. Только что откомпилировал код в 12 студии - всё как и очевидно: через каждую секунду значение отображается далее в этой же строчке. Но в линуксе при компиляции при помощи g++ 4.8 результирующая строка со всеми значениями отображается один раз через 5 секунд, а если поставить символ перевода на новую строку, тогда всё правильно... Не даром компилятор gcc 4.8 находиться в тестовой ветки ppa. Хотя, может быть так и нужно...
Добавлено через 11 минут А также вот этот код в gcc 4.8 недопустим:
4.8 сырой ещё. Имхо. Добавлено через 4 минуты П.С. Если быть точнее - допустим, но выкидывает исключение
0
|
Croessmah
|
04.07.2013, 03:09
#14
|
0
|
интересующийся
311 / 282 / 93
Регистрация: 25.09.2010
Сообщений: 1,056
|
|
04.07.2013, 04:05 | 15 |
Не по теме: :) во всяком случаи, меня результат работы двух компиляторов удивил уж точно.
0
|
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
|
04.07.2013, 05:27 | 16 |
Дело может и не в этом компиляторе, а в Linux (или в компиляторах для Linux). Там ввод\вывод как-то по другому организован (боюсь сказать: небуферизован, потому что тут спор был на эту тему). Некотроые команды, например sync(), для очистки буфера, в Linux не работают. Но это предположение. Если бы проверить, в Linux, этот код с другим компилятором (не сырым)...
0
|
xtorne21st
|
|||||
08.07.2013, 00:22
#17
|
|||||
Не по теме: На линукс, подобного эффекта можно добиться используя заголовок <sys/select.h>:
0
|
45 / 48 / 5
Регистрация: 24.06.2013
Сообщений: 677
|
|
08.07.2013, 00:50 | 18 |
0
|
45 / 48 / 5
Регистрация: 24.06.2013
Сообщений: 677
|
||||||
08.07.2013, 01:25 | 20 | |||||
Если нужна точность, то GetTickCount() или вообще использовать...хотя вряд ли.
Думаю Вам и точности Sleep() хватит) Хотя в данном случае SetTimer() значительно удобней. Добавлено через 21 минуту Боюсь спросить как Вы добились здесь: Задержки в одну секунду? Процессор такой медленный, не успевает больше раза в секунду выводить строку? Если без лишней точности, нужно добавить ожидание в одну секунду в цикле (можно чуть меньше, с учётом времени выполнения остального кода). Кстати, чтобы не выстраивалось в рядок, можно чистить экран:
0
|
08.07.2013, 01:25 | |
08.07.2013, 01:25 | |
Помогаю со студенческими работами здесь
20
Таймер который отсчитывает количество пройденного времени. Секундомер. Запустить второй таймер через определенное время после старта первого Нужен таймер в Simulinkе, который бы запускался при появлении сигнала и отключался через определенное время Timer отсчитывает время, но не выполняет действий Программа отключения интернета в определённое время [WPF] Программа выключения компьютера через определенное время Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |