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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 8, средняя оценка - 4.88
Исаев А.С.
Сообщений: n/a
#1

когда delay-я не хватает... - C++

13.06.2011, 18:02. Просмотров 1045. Ответов 4
Метки нет (Все метки)

Пацаны, проблемка. Пишу программу на С++ и нужна мне задержка во времени, но такая, чтобы во время этой задержки пользователь мог вводить данные.

Ну или переформулировав: как отложить выполнение функции во во времени на определенное количество времени.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.06.2011, 18:02
Здравствуйте! Я подобрал для вас темы с ответами на вопрос когда delay-я не хватает... (C++):

delay - C++
Подскажите, как сделать задержку по времени в ходе выполнения программы?

Delay идентификатор не определен - C++
#include <iostream> #include <conio.h> #include <cstring> #include "dos.h" using namespace std; int main() { ...

Почему не работает delay? - C++
Итак, приведу пример на небольшом примере кода простого секундомера от 0 до 30 секунд. Библиотека dos.h определяется, но переменная...

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

Когда надо использовать списки инициализации, а когда можно заменить их констуктором по умолчанию? - C++
1)Любезные,скажите когда надо исп. списки инициализации, а когда можно заменить констуктором по умолчанию? 2) правильно ли...

Когда нужно использовать &ссылки ,а когда *указатели? - C++
Желательно с примерами

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
From_Tula
40 / 40 / 2
Регистрация: 22.05.2009
Сообщений: 482
13.06.2011, 18:30 #2
честно не очень понял что именно ты хочешь, используй sleep()
0
igorrr37
1647 / 1275 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
13.06.2011, 18:43 #3
sleep+отдельный поток
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <boost/bind.hpp>
#define BOOST_THREAD_USE_LIB
#include <boost/thread.hpp>
#include <boost/date_time.hpp>
#include <string>
 
void f(std::string s){
    boost::this_thread::sleep(boost::posix_time::seconds(3));
    std::cout<<s<<std::endl;
}
 
int main (){
    boost::thread t(boost::bind(f, "function f()"));
    std::cout<<"Enter string\n";
    std::string s;
    getline(std::cin, s);
    std::cout<<"Your string: "<<s<<std::endl;
    t.join();
    return 0;
}
1
Исаев А.С.
Сообщений: n/a
13.06.2011, 18:45 #4
Цитата Сообщение от From_Tula Посмотреть сообщение
честно не очень понял что именно ты хочешь, используй sleep()
в ощих чертах нужно чтобы пользователь мог вводить данные с клавиатуры только в течении определенного времени.
OstapBender
583 / 521 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
13.06.2011, 19:02 #5
вот такое решение сделал
sleepK можно в принципе ставить любое (от него зависит то сколько надо будет ждать от нажатия клавиши до появления на экране её)

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
31
32
33
34
35
int main()
{
 
    int sec=5; // сюда сколько ждать
 
    std::string str="";
 
    int sleepK=10;
    int realsec=sec*1000/sleepK; // 1000 потому что 1000мс. = 1 с.
    int cur=0;
 
 
    while (1) {
 
        if (kbhit()) { std::cin >> str; std::cin.ignore(); break; }
 
        Sleep(sleepK);
        cur++;
 
        if (cur>=realsec) break;
 
    }
 
 
    if (str=="") std::cout << "missed\n";
    else
    std::cout << str << '\n';
 
 
 
 
 
    getchar();
    return 0;
}
ну для винды естественно.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.06.2011, 19:02
Привет! Вот еще темы с ответами:

Когда запускаю и ввожу параметры, то, в момент когда программа должна выполнять действие, пишет ошибку - C++
Недавно начали изучать c++. так как в школе не было программирования (преподу пофиг было) я в универе отстаю ;c Написал программу по...

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

Когда используется * перед указателями, а когда нет? - C++
Вообщем я запутался и не пойму, когда нужно перед указателем ставить &quot;*&quot;, а когда нет. Как я понял, &quot;*&quot; ставится перед указателем,...

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


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
13.06.2011, 19:02
Ответ Создать тему
Опции темы

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