1。 / 需求是能够倒计时到9999秒,用C语言实现 / includeat89X5h Define uchar unsigned char Define uint unsigned int uchar num_qian, num_bai, num_shi, num_ge; // 定义千位、百位、十位、单个位置。
2。 countinput hour: //下面是设置倒计时时间长度,分别输入小时、分钟、秒。
3。如果你有TC,可以尝试一下。 VC的kbhit()无法返回键名。
4。让我给你一个主意。首先定义一个变量保存初始值60,然后初始化定时器,使能定时器中断,使能所有中断。
1。包括 stdio.h 包括 windows.h int t=0; DWORD WINAPI Countdown(LPVOID lpParam){ // 输入倒计时 int sec=10; // 这里设置为10秒,测试时可以设置为2秒或者3秒,以尽快看到效果。
2。如果你有TC,可以尝试一下。 VC的kbhit()无法返回键名。
3。只需找到一个计数器代码并更改它即可,很简单。计数器使用中断是最简单的。你可以自己计算一下,一秒钟需要多少次中断?然后当达到一秒计数时,LED数码管的该段就会点亮或熄灭。这并不难。
1。用C语言实现精确计时,参考代码如下: ANSIC: ftime()struct timeb { time_t time;无符号短毫米;时区短;短 dstflag; };此外,还需要更精确的计时。对于CPU支持,具体情况请参考MSDN。
2。 printf(%2d:%2d\n,i/60,i-i/60*60);睡眠(1000); } printf(%2d:%2d\n时间到了!, 0, 0); getchar();} 可实测。
3。 countinput hour: //下面是设置倒计时时间长度,分别输入小时、分钟、秒。
4。 includestdlib.h includestdio.h main(){int a=30; for(; a=0; a--){ 系统(cls); printf(%d, a);睡眠(1000); } getch();} 这应该就是你所需要的。我通过dev-c++编译运行成功。
1。用C语言实现精确计时,参考代码如下: ANSIC: ftime()struct timeb { time_t time;无符号短毫米;时区短;短 dstflag; };此外,还需要更精确的计时。对于CPU支持,具体情况请参考MSDN。
2。 /**程序说明:很遗憾地告诉你,strptime()函数在Windows平台上不存在。以下是在Linux系统上编译运行的结果。
3。 time_t = 时间 (NULL);参考在线教程《C/C++学习指南少发》第16章,其中包含了如何使用time.h中大部分函数的说明,这正是你所需要的。
1。 /**程序说明:很遗憾地告诉你,strptime()函数在Windows平台上不存在。以下是在Linux系统上编译运行的结果。
2。并输出。如果scanf函数需要输入包含多个字符的数据,则屏幕上的数字和倒计时输出可能会混淆。如果必须实现这一点,建议使用getch函数,该函数逐个按键接受输入并自定义回显。这可能效果更好。
3。 time_t = 时间 (NULL);参考在线教程《C/C++学习指南少发》第16章,其中包含了如何使用time.h中大部分函数的说明,这正是你所需要的。
4。包括 stdio.h 包括 windows.h int t=0; DWORD WINAPI Countdown(LPVOID lpParam){ // 输入倒计时 int sec=10; // 这里设置为10秒,测试时可以设置为2秒或者3秒,以便尽快看到效果。
5。最好用定时器来计时。如果使用延迟模式,CPU效率会很低。变量必须在主函数之前定义,以便在子函数中使用。 main函数只初始化变量。