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

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

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

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

17.08.2014, 03:28. Просмотров 519. Ответов 9
Метки нет (Все метки)

Ребята, нужно написать программу. Если пользователь ничего не предпринимает в течении нескольких секунд, тогда выполняется какое-либо действие. В этой программе нужно использовать секундомер или таймер. По идее мне нужна функция, которая в определённое время засечёт время и в нужное остановит, но я такой нигде не могу найти. Если такая вообще существует, подскажите пожалуйста.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.08.2014, 03:28     Если пользователь ничего не предпринимает в течении нескольких секунд, тогда выполняется какое-либо действие
Посмотрите здесь:

else, если какой-либо If не выполняется - C++
Проблема! Почитав Самоучитель я так и не понял - каким образом мне сделать так, чтобы ELSE срабатывало в случае если какой-либо IF не...

Вот часть кода, в нем я должен сделать если я ничего не ввожу то чтоб вывело сообщение о том что пользователь не ввел данных, но у меня не выходит - C++
void Magazine::Input() { system("cls"); //locale::global(locale("")); gotoxy(25,1); const int...

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

Какое действие выполняют операторы: j1=a<<3; и j2=015>>3; - C++
Доброе время суток... Имеется кусок программы: ... int a=18; int j1, j2; ... j1=a&lt;&lt;3; cout&lt;&lt;&quot;j1=&quot;&lt;&lt;j1&lt;&lt;&quot;\n&quot;; j2=015&gt;&gt;3; ...

Найти элементы, присутствующие в нескольких экземплярах либо только в массиве А, либо только в массиве B - C++
Нужно найти элементы, присутствующие в нескольких экземплярах либо только в массиве А, либо только в массиве B и перенести в одномерный...

Присвоить заданным переменным максимальное из их значений в случае, если они неравны, либо ноль, если равны - C++
Дано две переменные целого типа: А И В. Если их значения не равны, то присвоить каждой переменной максимальное из этих значений, а если...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Brendon
Заблокирован
17.08.2014, 05:01     Если пользователь ничего не предпринимает в течении нескольких секунд, тогда выполняется какое-либо действие #2
std::chrono
Aero
0 / 0 / 0
Регистрация: 17.08.2014
Сообщений: 9
17.08.2014, 14:53  [ТС]     Если пользователь ничего не предпринимает в течении нескольких секунд, тогда выполняется какое-либо действие #3
У меня MVC++2010, он почему-то не распознаёт функции chrono, пишет что "std" не содержит члена "chrono".
Справлюсь
23 / 23 / 5
Регистрация: 24.07.2014
Сообщений: 203
17.08.2014, 15:01     Если пользователь ничего не предпринимает в течении нескольких секунд, тогда выполняется какое-либо действие #4
используйте <time.h>
-=ЮрА=-
Заблокирован
Автор FAQ
17.08.2014, 22:49     Если пользователь ничего не предпринимает в течении нескольких секунд, тогда выполняется какое-либо действие #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <windows.h>
 
int main(){
    HANDLE hEvent = CreateEvent(NULL, FALSE, FALSE, "EVT");
    while( true )
    {
          if( WaitForSingleObject(hEvent , 1000) != WAIT_OBJECT_0 )
          {
                  //Если пользователь ничего не предпринимает в течении нескольких секунд, тогда выполняется какое-либо действие.
         }
    }
    return 0;
}
- устанвоку ивенты выпонляй в каком либо потоке либо будет тебе тикающий цикл с периодом 1000 мсек
Brendon
Заблокирован
17.08.2014, 22:54     Если пользователь ничего не предпринимает в течении нескольких секунд, тогда выполняется какое-либо действие #6
Если под Windows, используй QueryPerformanceFrequency и QueryPerformanceCounter
Убежденный
Системный программист
Эксперт С++
15298 / 6930 / 1096
Регистрация: 02.05.2013
Сообщений: 11,340
Завершенные тесты: 1
17.08.2014, 23:08     Если пользователь ничего не предпринимает в течении нескольких секунд, тогда выполняется какое-либо действие #7
Простейший вариант: по таймеру проверять значение, полученное через
GetLastInputInfo. Если за энное время оно не поменялось, значит пользователь
не активен, можно предпринимать действия. Ну а как таймер сделать - тут
десятки способов, от банального Sleep в цикле со счетчиком до WM_TIMER или
использования объектов синхронизации типа event или waitable timer.
Тамика
Котовчанин
870 / 450 / 143
Регистрация: 16.02.2010
Сообщений: 2,954
Записей в блоге: 27
18.08.2014, 14:55     Если пользователь ничего не предпринимает в течении нескольких секунд, тогда выполняется какое-либо действие #8
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Я делала так.
Подключаете библиотеку
C++
1
#include <chrono>
А в коде
C++
1
2
3
4
        auto  now = std::chrono::high_resolution_clock::now();
        // код, время которого хотите засечь
        auto elapsed = std::chrono::duration_cast<std::chrono::nanoseconds>(std::chrono::high_resolution_clock::now() - now);
        std::cout << "Time : " << elapsed.count() << "ns.\n";
Aero
0 / 0 / 0
Регистрация: 17.08.2014
Сообщений: 9
18.08.2014, 17:49  [ТС]     Если пользователь ничего не предпринимает в течении нескольких секунд, тогда выполняется какое-либо действие #9
Спасибо большое за ответы

Добавлено через 1 минуту
Тамика, это то, что я очень долго искал, спасибо тебе огромное!!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.08.2014, 19:50     Если пользователь ничего не предпринимает в течении нескольких секунд, тогда выполняется какое-либо действие
Еще ссылки по теме:

Какое время будут показывать часы через р часов q минут r секунд? - C++
Текущее показание электронных часов: h часов (0 ≤ h ≤ 23) m минут (0 ≤ m ≤ 59) s секунд (0≤ k ≤ 59). Какое время будут показывать часы...

Оказывает ли исход инструкции условного перехода (if) какое-либо влияние на стек - C++
Привет народ, скажите, оказывает ли исход инструкции условного перехода (if) какое-либо влияние на стек? Спасибо.

Пользователь вводит текущее время в формате: часы:минута и если 0:00 - 5:59 программа пишет Night, если 6:00-11:59 morning - C++
Помогите написать код для этой задачи(на С++): Пользователь вводит текущее время в формате: часы:минута и если 0:00 - 5:59 программа...

Массив: Построить массив из нулей и единиц, в которой bi = 1 тогда и только тогда, когда в i-ой строке матрицы есть хотя бы отрицательный элемент - C++
Даны натуральное число n, действительная квадратная матрица порядка n. Построить последовательность b1, b2, …, bn из нулей и единиц, в...


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

Или воспользуйтесь поиском по форуму:
-=ЮрА=-
18.08.2014, 19:50     Если пользователь ничего не предпринимает в течении нескольких секунд, тогда выполняется какое-либо действие
  #10

Не по теме:

Aero, сразу бы сказал что хочешь подсчитать время выполнения кода, а не организовать задержку, для этого крмое хроно есть
QueryPerformanceCounter, GetTickcount и банальный clock http://www.cplusplus.com/reference/ctime/clock/

Yandex
Объявления
18.08.2014, 19:50     Если пользователь ничего не предпринимает в течении нескольких секунд, тогда выполняется какое-либо действие
Ответ Создать тему
Опции темы

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