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

Ограниченый временем ввод - C++

Восстановить пароль Регистрация
 
oookotooo
0 / 0 / 0
Регистрация: 13.11.2010
Сообщений: 6
14.11.2010, 00:51     Ограниченый временем ввод #1
нада дать юзеру 10 сек на ввод значения Х. Еси он провтыкал 10 сек, то стандартно Х = 0.
в худшем случае дать возможность 10 секунд вводить етот Х.
в лучшем, сразу после ввода икса прога идет работать дальше.

мне надо чтобы полюбому продолжалась работа программы... ввел пользователь за ети 10 сек чтото или нет, нужно чтобы через 10 сек возможность ввода прекратилась, и прога начала работать дальше с стандартным значением...
ну примерно как при загрузке ОС, дают время на выбор нужной(нужного параметра)

Я пишу кроссплатформенную консольную прогу... возможно ли такое??
хотябы для любой ОС?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.11.2010, 00:51     Ограниченый временем ввод
Посмотрите здесь:

C++ Операции со временем
Работа с временем C++
Работа с временем C++
Управление временем C++
работа со временем C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
14.11.2010, 00:52     Ограниченый временем ввод #2
чет не думаю, что это возможно (кроссплатформенность)
volovzi
266 / 168 / 8
Регистрация: 14.03.2010
Сообщений: 501
14.11.2010, 03:06     Ограниченый временем ввод #3
Не уверен, что это лучшее решение, но это первое, что в голову пришло.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
 
void wait_for_input (int seconds) {
    if (fork() == 0) {
        sleep(seconds);
        exit(0);
    }
}
 
int main (int argc, char * const argv[]) {
    int x = 19;
    
    wait_for_input(3);
    std::cin >> x;
    
    std::cout << x << std::endl;
 
    return 0;
}
ilya~k
3 / 3 / 1
Регистрация: 31.10.2010
Сообщений: 25
14.11.2010, 11:42     Ограниченый временем ввод #4
разве fork() -не линуксовая команда??
я думаю это будет кроссплатформенно:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <iostream>
#include <conio.h>
#include <ctime>
using namespace std; 
int wait(int delt) 
{
 
 int wx; 
 clock_t t[2];
 t[1]= clock () / CLOCKS_PER_SEC;
 t[0]= clock () / CLOCKS_PER_SEC;
 while(t[1]-t[0] < delt)
 {
    if (kbhit()) cin >> wx;
    else wx=0;
    if (wx) return wx;
    t[1]= clock () / CLOCKS_PER_SEC;
 } 
 return 0; 
  
}
 
int main () 
{
  int x=19;
  int wx = wait(5);
  if (wx!=0) x = wx;
  cout << x << endl;
  getch(); 
}
volovzi
266 / 168 / 8
Регистрация: 14.03.2010
Сообщений: 501
14.11.2010, 11:46     Ограниченый временем ввод #5
Цитата Сообщение от ilya~k Посмотреть сообщение
разве fork() -не линуксовая команда??
Вполне возможно, что да, юниксовая. Винды нет, чтобы проверить.

В ответ могу сказать, что <conio.h> и "kbhit" в юниксе нет .
oookotooo
0 / 0 / 0
Регистрация: 13.11.2010
Сообщений: 6
14.11.2010, 13:27  [ТС]     Ограниченый временем ввод #6
fork в винде нету, у меня тута винда 64 бит и убунта ARM...))

спасибо за ету штучку kbhit...
но боюсь у меня убунта на арм стооооль тормознутая, что, пока операнды будут выполнятся, и я нажму кнопку, то к моменту запуска kbhit кнопка уже будет ненажатой... если оно канешно в секретный буфер не запишет... буду теститть!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.11.2010, 18:54     Ограниченый временем ввод
Еще ссылки по теме:

Помогите с временем C++
ограниченый доступ фрэнда C++
Работа со временем C++

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

Или воспользуйтесь поиском по форуму:
ilya~k
3 / 3 / 1
Регистрация: 31.10.2010
Сообщений: 25
14.11.2010, 18:54     Ограниченый временем ввод #7
Цитата Сообщение от volovzi Посмотреть сообщение
Вполне возможно, что да, юниксовая. Винды нет, чтобы проверить.

В ответ могу сказать, что <conio.h> и "kbhit" в юниксе нет .
Упс, извиняюсь, я в никсах плохо разбираюсь
Yandex
Объявления
14.11.2010, 18:54     Ограниченый временем ввод
Ответ Создать тему
Опции темы

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