c语言课程设计有关时间的小程序.doc_第1页
c语言课程设计有关时间的小程序.doc_第2页
c语言课程设计有关时间的小程序.doc_第3页
c语言课程设计有关时间的小程序.doc_第4页
c语言课程设计有关时间的小程序.doc_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

#include#include#pragma comment(lib, winmm.lib)#include#include#include#include#include #include void clock_1()char h10,timE10;time_t t;struct tm *timeinfo;int i,hour=0,minute=0;char cmd;printf(nttt请输入设定时间(比如:09:03):);gets(h);loop:for(i=0;hi!=0;i+)if(!isdigit(hi)&hi!=:)printf(ttt输入有误,请重新输入:);gets(h);goto loop;if(strlen(h)5)printf(ttt输入有误,请重新输入:);gets(h);goto loop;for(i=0;i2;i+)hour=10*hour+(hi-48);for(i=3;i=24|minute=60)printf(ttt输入有误,请重新输入:);gets(h);goto loop;printf(ttt当前时间:);while(1) time(&t); timeinfo=localtime(&t);strftime( timE,80,%H:%M:%S,timeinfo);printf(%s,timE);if(timeinfo-tm_hour!=hour|timeinfo-tm_min!=minute);else PlaySoundA(2.wav, NULL,SND_SYNC );return;printf(bbbbbbbb);void count_time()char start,finish,cmd;int hour=0,minute=0,second=0;unsigned long total=0;FILE *fp;time_t rawtime;char timE20;struct tm *timeinfo;fp=fopen(count_time_record.txt,a+);time(&rawtime);timeinfo=localtime(&rawtime);strftime ( timE,80,%c,timeinfo);fprintf(fp,%sn,timE);printf(nttt 按空格键开始计时n); start=getch();while(start!= )printf(ttt只能以空格符开始计时);start=getch();printf( tttt00:00:00);loop1:while(_kbhit()=0)hour=total/3600;minute=total%3600/60;second=total%60;printf(bbbbbbbb%02d:%02d:%02d,hour,minute,second);Sleep(450);total+;fprintf(fp,%02d:%02d:%02dn,hour,minute,second);printf(nttt 请选择下一个命令:nttt 1.继续计时nttt 2.结束计时);cmd=getch();cmd=getch();switch(cmd)case 1:printf(nttttt);total-;goto loop1;case 2:fclose(fp);return;unsigned long Input_time()char str20;int h=0,m=0,s=0,j1,j2,i,flag=0;printf(ttt请输入倒计时长:n);printf(ttt);gets(str);loop:for(i=0;stri!=0;i+)if(!isdigit(stri)&stri!=:)printf(ttt输入有误,请重新输入:nttt);gets(str);if(stri=:)flag+;if(flag=1)j1=i;if(flag=2)j2=i;if(flag2)printf(ttt输入有误,请重新输入:nttt);gets(str);if(flag=0)for(i=0;stri!=0;i+)if(!isdigit(stri)printf(ttt输入有误,请重新输入:nttt);gets(str);goto loop;s=10*s+(stri-48);return s;for(i=0;ij1;i+)h=h*10+(stri-48);for(i=j1+1;ij2;i+)m=m*10+(stri-48);for(i=j2+1;stri!=0;i+)s=s*10+(stri-48);return 3600*h+60*m+s;void show_calendar()int year,month,flag=0,b,c=0,xingqi,i,d;long a;FILE *fp;fp=fopen(show_calendar.txt,a+);printf(nttt查询范围:1980-2099);printf(nttt请输入年份:);scanf(%d,&year);while(year2099)printf(ttt输入错误,重新输入:);scanf(%d,&year);printf(ttt请输入月份:);scanf(%d,&month);while(month12)printf(ttt输入错误,重新输入:);scanf(%d,&month);fprintf(fp,n%d年%d月n,year,month);if(year%4=0)flag=1;switch(month)case 1:c=0;d=30;break;case 2:c=31;d=27+flag;break;case 3:c=59+flag;d=30;break;case 4:c=90+flag;d=29;break;case 5:c=120+flag;d=30;break;case 6:c=151+flag;d=29;break;case 7:c=181+flag;d=30;break;case 8:c=212+flag;d=30;break;case 9:c=243+flag;d=29;break;case 10:c=273+flag;d=30;break;case 11:c=304+flag;d=29;break;case 12:c=334+flag;d=30;break;b=(year-1980)/4;if(flag=1)a=(year-1980)*365+c+b;else a=(year-1980)*365+c+b+1;xingqi=a%7+3;printf(nttt %d年%d月n,year,month);printf(ttt Sun Mon Tue Wed Thu Fri Satn);fprintf(fp,%sn, Sun Mon Tue Wed Thu Fri Sat);switch(xingqi)case 3:printf(ttt%15d,1);fprintf(fp,%15d,1);break;case 4:printf(ttt%20d,1);fprintf(fp,%20d,1);break;case 5:printf(ttt%25d,1);fprintf(fp,%25d,1);break;case 6:printf(ttt%30d,1);fprintf(fp,%30d,1);break;case 7:printf(ttt%35d,1);fprintf(fp,%35d,1);break;case 8:printf(ttt%5d,1);fprintf(fp,%5d,1);break;case 9:printf(ttt%10d,1);fprintf(fp,%10d,1);break;for(i=xingqi;ixingqi+d;i+)if(i%7=0)printf(nttt);fprintf(fp,%sn, );printf(%5d,i-xingqi+2);fprintf(fp,%5d,i-xingqi+2);fclose(fp);void time_countdown()int hour,minute,second;unsigned long total;char cmd;printf(ttttt说明:倒计时过程中可按任意键暂停);printf(ttttttt输入格式(时:分:秒或秒)n);total=Input_time();printf(nttt*倒计时*n);printf(ttt请按空格键开始倒计时n);printf(ttt*nttt);while(cmd=getch()!= )printf(nttt只能以空格键开始倒计时ttt);while(1)if(total=0)printf(00:00:00);printf(nttt时间到!aaa);return;hour=total/3600;minute=total%3600/60;second=total%60;if(total=10)printf(%02d:%02d:%02da,hour,minute,second);else printf(%02d:%02d:%02d,hour,minute,second);Sleep(450);total-;if(_kbhit()printf(nttt请选择下一命令:);printf(nttt1.继续计时);printf(nttt2.结束计时);cmd=getch();cmd=getch();switch(cmd)case 1:;break;case 2:return;printf(ntttt);total+;printf(bbbbbbbb);int main(void)char cmd;system(color 2a);loop:printf(nnnttt*请选择以下功能*n);printf(ttt 1.计时器 n);printf(ttt 2.倒计时 n);printf(ttt 3.日历显示 n);printf(ttt 4.闹钟 n);printf(ttt 5.退出系统 n);printf(ttt*n);cmd=getch();switch(cmd)case 1:system(cls);system(color 8b);printf(nnnttt*计时器启用*);count_time();break;case 2:system(cls);system(color 7c);printf(nnnttt*倒计时功能启用*);time_countdown();break;case 3:system(cls);system(color 1b);printf(nnnttt*日历显示启用*);show_cale

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论