好了!正题开始!今天我要记录的是做的C语言课设之一闹铃程序!
题目: 用户输入设定的时间,程序记下用户所输入的时间,并且与系统的当前时间不断进行比较,直到相等为止。当然,如果用户设定的时间早于系统的时间,则闹铃马上响。
以下为源程序代码:
#include<conio.h> #include <stdio.h> #include<stdlib.h> #include<time.h> #include<string.h> int GetHour(char *s) //获取系统小时的函数 { char *p, *q; p = (char *)malloc(10); strcpy(p, s); q = p; while(*q != ':') { q++; } *q = '\0'; return atoi(p); } int GetMinute(char *s) //获取系统分钟的函数 { char *p; p = (char *)malloc(10); strcpy(p, s); while(*p != ':') { p++; } p++; return atoi(p); } void main() //主函数 { char s[10]; int hour,minute; time_t t; struct tm *timeinfo; printf("请设置闹钟响铃时间(18:30):"); gets(s); hour = GetHour(s); minute = GetMinute(s); while(1) { time(&t); timeinfo = localtime(&t); if((minute+hour*60-timeinfo->tm_min-timeinfo->tm_hour*60)<0) //设定时间小于系统时间 { if(timeinfo->tm_hour > hour) { printf("闹钟早就响了!\n\007"); printf("\a\a\a\a"); exit(0); } else if(timeinfo->tm_hour = hour && timeinfo->tm_min >= minute) { printf("闹钟早就响了!\n\007"); printf("\a\a\a\a"); exit(0); } } else //设定时间大于等于系统时间 { if(timeinfo->tm_hour < hour)continue; else if(timeinfo->tm_min < minute)continue; else { printf("滴滴滴滴滴滴滴滴!\n\007"); printf("\a\a\a\a"); exit(0); } } } }对于这个程序而言,其实还有很多改进的地方,包括声音的设置等,后期我也会具体去实现和改进。
在这里,我也把它记录在这里,方便我以后的复习!