Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

14.11.2010, 00:51. Просмотров 431. Ответов 6
Метки нет (Все метки)

нада дать юзеру 10 сек на ввод значения Х. Еси он провтыкал 10 сек, то стандартно Х = 0.
в худшем случае дать возможность 10 секунд вводить етот Х.
в лучшем, сразу после ввода икса прога идет работать дальше.

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

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

ограниченый доступ фрэнда - C++
как в классе Б сделать так , чтоб он позволял видеть только некоторые свои переменные(допустим заключённые в пространство имён) классу А,...

Помогите с временем - C++
Использую функцию strftime/ для получения частей времени. Пытаюсь сделать это отдельной функцией и вывести, но почему-то не получается......

Операции со временем - C++
Здравствуйте, хотел бы узнать на счет времени и операций с ними. Есть задание, часть которого связана со временем, а именно: необходимо...

Работа с временем - C++
Как подсчитать сумму времени? тоесть что бы не считало просто числа,а именно время часы:минуты с разделителем ":"

Работа с временем - C++
Здравствуйте! Помогите пожалуйста с идеями. Надо написать программку которая будет напоминать о ранее записанных действиях. Как я...

Работа со временем - C++
Мне нужно заходить в if через каждые 10 миллисекунд я пытался через time(NULL) брать 2 переменные и считать их разницу но компилятор на...

6
alex_x_x
бжни
2454 / 1659 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
14.11.2010, 00:52 #2
чет не думаю, что это возможно (кроссплатформенность)
0
volovzi
268 / 170 / 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;
}
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(); 
}
0
volovzi
268 / 170 / 8
Регистрация: 14.03.2010
Сообщений: 501
14.11.2010, 11:46 #5
Цитата Сообщение от ilya~k Посмотреть сообщение
разве fork() -не линуксовая команда??
Вполне возможно, что да, юниксовая. Винды нет, чтобы проверить.

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

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

В ответ могу сказать, что <conio.h> и "kbhit" в юниксе нет .
Упс, извиняюсь, я в никсах плохо разбираюсь
0
14.11.2010, 18:54
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.11.2010, 18:54
Привет! Вот еще темы с ответами:

Операции со временем - C++
Здравствуйте. Прошу помочь в решении задачи: Время задается в формате час.минута.секунда. Реализовать следующие операции (учесть...

Работа со временем - C++
Добрый день. Есть два промежутка времени. Начальное и конечное. С помощью цикла do .. while выполняю действие, пока условие истина (если...

Управление временем - C++
Как управлять временем? Например хочу написать программу, которая каждые 5 секунд выводит сообщение &quot;Hi!&quot;. Скажи как это...

Работа с временем - C++
Доброе время суток! Допустим у я хочу ввести время начала, и время конца разговора. Нужно вывести длительность разговора. ну то что отнять...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru