关于时间的程序
我是真知道不假思索的作业贴看见很不爽,但是这个题目真的是无能为力。我还没到那层次,但是这个题目对我有很重要。所以,帮帮忙吧。以后我多活跃,报答大家吧。谢谢。2.编写一个竞赛用的时钟程序,分别实现 以下内容: a)按任一键开始计时; b)按S键开始计时,按E键停止计时; c)设计一个倒计时的时钟程序,按S键开始 计时,按E键停止计时,或当时间到 00:00:00时结束。
程序代码:#include<stdio.h>
#include<ctime>
#include<conio.h>
void main()
{
char mode;
int t,flag=1,flag1=1,hour,moment,second,flag2;
long t0;
while(flag)
{
flag=1;
flag1=1;
printf("请选择模式\n");
printf("a)按任一键开始计时;\n");
printf("b)按S键开始计时,按E键停止计时;\n");
printf("c)倒计时时钟,按S键开始计时,按E键停止计时,或当时间到 00:00:00时结束.\n");
printf("d)退出\n");
scanf("%c",&mode);
system("CLS");
switch(mode)
{
case 'a':
{
printf("按任一键开始计时;\n");
}
break;
case 'b':
{
printf("按S键开始计时,按E键停止计时;\n");
while(flag1)
{
if(_kbhit()!=0)//查询按键消息
{
switch(getch())
{
case 'S':
case 's':
t0=time(NULL);
while(1)
{
if(_kbhit()!=0)//查询按键消息
{
flag2=getch();
if(flag2=='e'|flag2=='E')
{
flag1=0;
break;
}
}
t=time(NULL)-t0;
hour=(t/3600)%24;
moment=(t%3600)/60;
second=(t%3600)%60;
printf("%d:%d:%d",hour,moment,second);
system("CLS");
}
break;
case 'E':
case 'e': flag1=0;break;
default: ;
}
}
}
}
break;
case 'c':
{
printf("倒计时时钟,按S键开始计时,按E键停止计时,或当时间到 00:00:00时结束.\n");
system("CLS");
}
break;
case 'd':
flag=0;
break;
default :
printf("无此模式!!!");
}
}
}
只实现了第二个功能,基本问题已经解决,剩下的需要你自己完善和改进