Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
4 / 4 / 1
Регистрация: 24.02.2014
Сообщений: 102
1

Реализовать таймер с заданным интервалом

01.03.2014, 04:37. Показов 2362. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Господа, прошу помочь в решении элементарного вопроса.
Имею следующий код (таймер). Все норм, все работает. НО я хотел бы сделать некую задержку в процессе повторения цикла с помощью функции void wait(void), дабы часики мои работали медленнее. Но в этом деле мне мешают какие то мистические силы. Вроде должно работать, но не работает. Таймер бегает как сумасшедший. Буду очень благодарен, если подскажете ошибку. Спасибо.


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
56
57
58
59
60
61
62
63
#include <stdio.h>
#include <stdlib.h>
# define DEL 600000
 
 
struct str1
{
    int sec;
    int minut;
    int hour;
 
 
} time;
 
void wait(void)
 
{
    long int t;
    for (t=1;t<DEL;++t);
    
}
void timef(struct str1 *k)
{
 
    k->sec++;
    if (k->sec==60)
    {
        k->sec=0;
        k->minut++;
 
    }
 
    if (k->minut==60)
    {
        k->minut=0;
        k->hour++;
    }
 
}
 
void output( struct str1 *m)
{
    printf("%d: %d: %d\n", m->hour, m->minut, m->sec);
    system("cls");
}
 
 
int main(void)
{
 
    time.sec=0;
    time.minut=0;
    time.hour=0;
 
    for (;;)
    {
        wait();// по моим скромным предположениям, тут должна вызываться функция вейт для исполнния которой нужно некоторе время.
        timef(&time);
        output(&time);
    }
 
    return 0;
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.03.2014, 04:37
Ответы с готовыми решениями:

Реализовать метод, вычисляющий значение функции с заданным диапазоном (интервалом для вычислений) и заданным шагом
Реализовать метод, вычисляющий значение функции с заданным диапазоном (интервалом для вычислений) и...

Таймер с интервалом 24 часа
Доброго утра, форумчане! Нужно что бы определенное событие срабатывало раз в 24 часа. И тут у...

Таймер с десятиминутным интервалом
Подскажите, как написать код для таймера, чтобы 00:00, 00:10, 00:20, 00:30 и т.д... Мозг уже...

Таймер с переменным интервалом
Здравствуйте. Таким вот образом регулирую период кликов мышей: procedure...

3
Невнимательный
2597 / 974 / 321
Регистрация: 08.02.2013
Сообщений: 5,722
Записей в блоге: 2
01.03.2014, 05:19 2
sleep() или _sleep() вроде стандартная функция

а в windows есть Sleep() //надо включать <windows.h>
нашёл ещё готовую wait()
C
1
2
3
4
5
_CRTIMP void __cdecl wait(
   unsigned int _Milliseconds
);
//Pauses the current context for a specified amount of time
// Header: agents.h
не знаю откуда взялась,) по крайней мере в MSVC2010 есть

Добавлено через 6 минут
... документация чем новее тем непроходимее
1
Заблокирован
01.03.2014, 12:19 3
Лучший ответ Сообщение было отмечено 1nquisitor как решение

Решение

Цитата Сообщение от 1nquisitor Посмотреть сообщение
Вроде должно работать, но не работает
с чего бы этому не работать? на разных процессорах будет разный показатель. Есть sleep, wait, clock.
while (clock() / TIME_PER_SEC < 1) -- секундная задержка.
0
4 / 4 / 1
Регистрация: 24.02.2014
Сообщений: 102
01.03.2014, 13:13  [ТС] 4
Спасибо, я хоть знаю в каком направлении теперь рыть.
0
01.03.2014, 13:13
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.03.2014, 13:13
Помогаю со студенческими работами здесь

Таймер с интервалом 1 миллисекунда
Доброго времени суток) помогите с кодом пожалуйста!!! Нужен обработчик событий в каждую...

Таймер в формах с интервалом в полсекунды
Есть форма с часами, нужно сделать, чтобы в какое-то конкретное время, допустим в 14:00:00 в...

Нужен таймер с непостоянным интервалом
Здравствуйте. Не могу разобраться с такой задачей: Имеется массив double, содержащий значения...

Как сделать таймер с интервалом меньше 15 мс?
C Builder XE3, хотя на других версиях думаю тоже самое. При установки интервала меньше 15 мс, он...

Цикл с заданным интервалом
Помоги организовать цикл,что бы он выполнялся через заданный промежуток времени.(Visual Studio)

Таймер крутится с интервалом в 2 секунды вместо одной
Есть таймер отсчёта, проблема заключается в том что на некоторых хостингах время отображается...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru