一个简单的时钟

来源:互联网 发布:爬虫抓取微博数据 编辑:程序博客网 时间:2024/04/28 04:42
#include "common.h"#include <process.h>extern void Clock();typedef struct _clock{UCHAR year;UCHAR month;UCHAR day;UCHAR hour;UCHAR min;UCHAR second;UCHAR week;UCHAR status;UCHAR choice;}clock_t;void ClockRun(void* arg);void ClockControl(void* arg);void ClockShow(clock_t* clock);void Clock(){clock_t clock={14,10,28};_beginthread(ClockRun,0,&clock);_beginthread(ClockControl,0,&clock);_beginthread(ClockShow,0,&clock);while(1){;}}void set_console_color(unsigned short color_index){SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), color_index);}void ClockShow(clock_t* clock){while(1){Sleep(500);if(clock->choice == 0){printf("\r%02d:%02d:%02d",clock->hour,clock->min,clock->second);}else if (clock->choice == 1){printf("\r%02d:%02d:",clock->hour,clock->min);set_console_color(13);printf("%02d",clock->second);set_console_color(15);}else if (clock->choice == 2){printf("\r%02d:",clock->hour);set_console_color(13);printf("%02d",clock->min);set_console_color(15);printf(":%02d",clock->second);}else if (clock->choice == 3){set_console_color(13);printf("\r%02d",clock->hour);set_console_color(15);printf(":%02d:%02d",clock->min,clock->second);}}}void ClockRun(void* arg){clock_t *clock = (clock_t*)arg;while(1){Sleep(1000);clock->second ++;if(clock->second >= 60){clock->second = 0;clock->min++;if (clock->min >= 60){clock->min = 0;clock->hour ++;if(clock->hour == 24){clock->hour = 0;}}}}}void UpDown(char a, clock_t* clock){if(a == 'w'){if(clock->choice == 1){++clock->second;if(clock->second >= 60){clock->second = 0;}}else if (clock->choice == 2){++(clock->min);if(clock->min >= 60){clock->min = 0;}}else if(clock->choice == 3){++clock->hour;if(clock->hour >= 24){clock->hour = 0;}}}else{if(clock->choice == 1){if (clock->second>0){clock->second --;}else {clock->second = 59;}}else if (clock->choice == 2){if(clock->min>0){clock->min --;}else {clock->min = 59;}}else if(clock->choice == 3){if(clock->hour >0){clock->hour --;}else{clock->hour = 0;}}}}void ClockControl(void* arg){char get,ctrl;clock_t *clock = (clock_t*)arg;while((get = getch()) != 'b'){if(get == 'c'){clock->choice = 1;clock->status = 1;while((ctrl = getch()) != 'q'){switch(ctrl){case 'a':if(clock->choice <3){clock->choice += 1;}else{clock->choice = 1;}break;case 'd':if(clock->choice >1){clock->choice -= 1;}else{clock->choice = 3;}break;case 's':case 'w':UpDown(ctrl,clock);break;default:break;}}clock->choice = 0;clock->status = 0;}}}

0 0
原创粉丝点击