Реализовать таймер с заданным интервалом - C (СИ)
Формулировка задачи:
Господа, прошу помочь в решении элементарного вопроса.
Имею следующий код (таймер). Все норм, все работает. НО я хотел бы сделать некую задержку в процессе повторения цикла с помощью функции void wait(void), дабы часики мои работали медленнее. Но в этом деле мне мешают какие то мистические силы. Вроде должно работать, но не работает. Таймер бегает как сумасшедший. Буду очень благодарен, если подскажете ошибку. Спасибо.
#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; }
Решение задачи: «Реализовать таймер с заданным интервалом»
textual
Листинг программы
_CRTIMP void __cdecl wait( unsigned int _Milliseconds ); //Pauses the current context for a specified amount of time // Header: agents.h
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д