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

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

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

Ищу готовую задачку с таймером - C++

22.06.2012, 18:43. Просмотров 569. Ответов 6
Метки нет (Все метки)

Ждущий таймер.

Консольное приложение типа «Будильник» с функциями «Соня». Время срабатывания и период напоминания вводятся в командной строке при запуске программы.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.06.2012, 18:43
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ищу готовую задачку с таймером (C++):

помогите с таймером - C++
облазил несколько форумов нигде не нашол таймера работающего в Borland C++ все зделаны в Visual C++ помогите написать таймер с интервалом...

посоветуйте задачку ) - C++
Доброго времени суток!) Посоветуйте какую нить задачку на лето) желательно что то бы понять все плюсы использования ООП. и еще было...

Подправить задачку. - C++
Помогите, пожалуйста, у меня есть условие задачи: дана последовательность упорядоченных по возрастанию чисел а1...а15, и число n не...

Взгляните на задачку С++ - C++
С клавиатуры последовательно вводятся числа типа short. Составить программу, которая выводит сначала положительные числа в порядке их...

Решить задачку - C++
Когда встречаю эпсилон возникают проблемы, не пойму что это и как мудрить , знаю что надо использовать float и int все ) Умножить, сложить...

Исправить задачку - C++
Здравствуйте, уважаемые пользователи! Пожалуйста подкорректируйте решение. Задача такова: "Получить все шестизначные счастливые номера....

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Avazart
Эксперт С++
7148 / 5325 / 276
Регистрация: 10.12.2010
Сообщений: 23,566
Записей в блоге: 17
22.06.2012, 19:46 #2
А почему именно консольный?
zulkis
682 / 609 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
22.06.2012, 23:26 #3
Цитата Сообщение от Avazart Посмотреть сообщение
А почему именно консольный?
Видимо неудобно человеку GUI делать
Avazart
Эксперт С++
7148 / 5325 / 276
Регистрация: 10.12.2010
Сообщений: 23,566
Записей в блоге: 17
22.06.2012, 23:31 #4
Видимо неудобно человеку GUI делать


Насчет темы: то легче самому написать... сомневаюсь что есть именно консольные примеры
zulkis
682 / 609 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
22.06.2012, 23:35 #5
Еще тема классно поставлена. Не вопрос, не просьба, а утверждение. Удачи с поисками.

А насчет самой программы, да, согласен, проще самому написать, особенно если программа, насколько я могу судить, для "сдачи в универе".
Eurobel
6 / 6 / 1
Регистрация: 16.12.2011
Сообщений: 14
23.06.2012, 12:38  [ТС] #6
Не судите меня строго, слово «решить» в заголовок темы движок форма вставить не позволяет, вот и назвал тему как смог

Вот что удалось склепать по задаче, но как сделать чтобы параметром в командной строке принималось заданное время срабатывания будильника, а не отсрочка срабатывания не знаю. Поэтому всё ещё прошу вашей помощи.

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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#include <windows.h>
#include <stdio.h>
#include <time.h>
#include <tchar.h>
#include <stdlib.h> // Для работы  функции atoi
 
char bufRus[256];   
char* Rus(const char*);
 
int main(int argc, char* argv[])
{
    const int nTimerUnitsPerSecond = 10000000;
    int n=0;
    SYSTEMTIME st;
    LARGE_INTEGER li;
    
    HANDLE hTimer = CreateWaitableTimer(NULL, FALSE, NULL); // создаем таймер
 
    time_t rawtime;
 
    time ( &rawtime );
    system("cls"); 
    printf(Rus("Консольное приложение \"Ждущий таймер\".\t Сейчас: %s"), ctime (&rawtime) );
    if (argv[1] == NULL | argv[2] == NULL)
        {
        printf(Rus("\nОдин или оба аргумента в коммандной строке отсутсвуют\n"));
        system("pause"); 
        }
    else
        {
        int k, p = 0;
        k= atoi(argv[1]); 
        p= atoi(argv[2]); 
 
        printf(Rus("\nПервый параметр %d;\t Второй параметр %d\n\n"), k, p);
        printf(Rus("\nПервое срабатывание таймера через %d секунд, затем каждые %d минут\n\n"), k, p);
 
        li.QuadPart = -(k * nTimerUnitsPerSecond);
        if(SetWaitableTimer(hTimer, &li, p*60*1000, NULL, NULL, FALSE)){
            while(TRUE)
                {
                n++;
                WaitForSingleObject(hTimer, INFINITE);
                GetLocalTime(&st);
                printf(Rus("Пора вставать!!!\tБудильник сработал %d раз в: \t%.2d:%.2d:%.2d\n"), n, st.wHour, st.wMinute, st.wSecond);
                }
        }
    }
}
 
char* Rus(const char *text)     // Функция преобразования символов
{
    CharToOemA(text, bufRus);
    return bufRus;
}
Avazart
Эксперт С++
7148 / 5325 / 276
Регистрация: 10.12.2010
Сообщений: 23,566
Записей в блоге: 17
23.06.2012, 21:18 #7
Найди ф-цию получения системного времени... и переодически сравнивай системное время с заданным....(например с интервалом 30сек...)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.06.2012, 21:18
Привет! Вот еще темы с ответами:

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

Задайте задачку) - C++
Всем доброго времени суток! Я новичок в С++ Не могу найти простого задачника по С++ Читаю Шилдт &quot;Полный справочник по С++&quot;(там...

Сравнение строк и работа с таймером - C++
Доброе время суток! Есть такая задача: Пусть имеется два файла, в каждом из которых информация разбита по 6-ти столбцам, произведите...

Нужна инфа по работе с таймером в С+ - C++
Здравствуйте. Ребята выручайте. Нужна инфа по работе с таймером в С++. Пытаюсь писать в VisualStudio. Суть моей задачи такова, что нужно...


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

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

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