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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Gh0sTG0
0 / 0 / 0
Регистрация: 22.11.2013
Сообщений: 55
#1

Ограничить по времени ввод данных с клавиатуры - C++

22.01.2016, 18:23. Просмотров 286. Ответов 3

Пробую сделать на c++ простенькую консольную викторину. В целом все сделал, интересует вот такой вопрос: как можно сделать чтобы викторина давала определенное время для ответа? Т.е. чтобы:
1) программа выводит вопрос и включает таймер
2) появляется возможность ввести что то с клавиатуры
3) если за некоторое время с клавиатуры ничего не было введено, либо был введен неверный текст(возможно несколько вариантов верного, к примеру с большой или маленькой буквы начинающееся, все остальное неверно), программа закрывает ввод и продолжает выполнение. Не прошу готовых рецептов, лучше в каком направлении поискать? Как это вообще называется?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.01.2016, 18:23     Ограничить по времени ввод данных с клавиатуры
Посмотрите здесь:

C++ Ввод с клавиатуры данных в массив
Ввод данных с клавиатуры. char C++
C++ Ввод данных с клавиатуры
Ввод с клавиатуры данных в массив C++
C++ Ввод данных с клавиатуры
C++ Добавить в программу ввод данных с клавиатуры
Как правильно заменить ввод данных простой на ввод с клавиатуры? C++
Ввод данных строки с клавиатуры C++
Ввод с клавиатуры данных и запись их в структуру C++
Как ограничить ввод типа данных? C++
C++ Ввод данных в массив с клавиатуры
C++ Ввод данных с клавиатуры

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kuza84
-4 / 23 / 4
Регистрация: 25.04.2013
Сообщений: 195
22.01.2016, 20:25     Ограничить по времени ввод данных с клавиатуры #2
как вариант работа с системным временем, выполнять некий цикл с условием выхода из которого ответ или время истекло
Gh0sTG0
0 / 0 / 0
Регистрация: 22.11.2013
Сообщений: 55
22.01.2016, 21:12  [ТС]     Ограничить по времени ввод данных с клавиатуры #3
Попробую, по результатам напишу.

Добавлено через 46 минут
А немного поподробнее можно? Чего как и куда?
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
17188 / 5442 / 337
Регистрация: 30.03.2009
Сообщений: 14,754
Записей в блоге: 26
23.01.2016, 12:49     Ограничить по времени ввод данных с клавиатуры #4
В объёма стандартных C и C++ нету таких возможностей, т.к. весь библиотечный набор функций ввода-вывода (грубо говоря, scanf или cin) работает с АБСТРАКТНЫМИ ПОТОКАМИ ввода-вывода, а вовсе не с терминалом. В твоём случае нужна библиотека, которая работает именно с терминалом, как с конкретным устройством (а не абстрактным). Наверняка такие библиотеки есть, и может быть даже получится сделать переносимую программу (чтобы одинаково работало, например, под windows и linux) за счёт того, что всё различие между разными терминалами библиотека содержит внутри себя

Что-то типа того https://ru.wikipedia.org/wiki/Ncurses, но я не уверен, что в Ncurses есть работа с вводом. Почитай описание, может есть

Добавлено через 4 минуты
http://invisible-island.net/ncurses/...OWTO.html#KEYS

Судя по всему, там нельзя опросить состояние клавиатуры. Т.е. если вызвал функцию чтения, то из неё не выйдешь, пока не будет нажата какая-нибудь кнопка. Тебе нужен вариант, который умеет опрашивать состояние клавиатуры (было нажатие, или нет)

Добавлено через 5 минут
Вот есть под винду
https://msdn.microsoft.com/ru-ru/library/58w7c94c.aspx
Yandex
Объявления
23.01.2016, 12:49     Ограничить по времени ввод данных с клавиатуры
Ответ Создать тему
Опции темы

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