c语言 制作 倒计时?

作者&投稿:向念 (若有异议请与网页底部的电邮联系)
这么用C语言做倒计时器??~

tdio.h>
#include <conio.h>
#include <windows.h>
#include <stdlib.h>
struct tm //定义时间结构体,包括时分秒和10毫秒
{
int hours,minutes,seconds;
int hscd;
}time,tmp,total; //time用以计时显示,tmp用以存储上一阶段时间,total记总时间
int cnt;

FILE* fout;
//每次调用update函数,相当于时间过了10ms
void update(struct tm *t)
{

(*t).hscd++; //10ms单位时间加1
cnt++;
if ((*t).hscd==100) //计时满1s,进位
{
(*t).hscd=0;
(*t).seconds++;
}
if ((*t).seconds==60) //计时满一分,进位
{
(*t).seconds=0;
(*t).minutes++;
}
if ((*t).minutes==60) //计时满一小时,进位

{
(*t).minutes=0;
(*t).hours++;
}
if((*t).hours==24) (*t).hours=0;
//delay();
Sleep(10); //Sleep是windows提供的函数,作用是暂停程序,单位毫秒,所以此处暂停10ms
}
void display(struct tm *t)
{
//此处输出计时结果,为回车不换行,既一直在同一行更新时间
printf("%d:",(*t).hours);
printf("%d:",(*t).minutes);
printf("%d:",(*t).seconds);
printf("%d",(*t).hscd);
//printf("Now, press ‘e’ key to stop the clock…");
}
void time_init() //初始化时间
{
time.hours=time.minutes=time.seconds=time.hscd=0;
}
void get_total() //计算总时间
{
total.hscd = cnt % 100;
cnt /= 100;
total.seconds = cnt % 60;
cnt /= 60;
total.minutes = cnt % 60;
cnt /= 60;
total.hours = cnt;
}
int main()
{
char m;
time_init();
cnt = 0;
fout = fopen("timeout.txt","w");
printf("按回车键开始计时!
");
while(1)
{
m = getch();
if(m != ‘’) //读入一个输入,如果是回车,那么跳出次循环
printf("输入错误,仅能输入回车键!
");
else
break;
}
printf("已经开始计时,但是你可以按回车键以分段计时!
");
while(1)
{
if(kbhit()) //此处检查是否有键盘输入
{
m=getch();
if(m == ‘’) //如果等于回车,那么计时结束,跳出循环
break;
else if(m == ‘ ‘) //如果等于空格,显示此次计时,初始化计时器
{
tmp = time; //记录上一段计时器结果
fprintf(fout,"%d:%d:%d:%d
",tmp.hours,tmp.minutes,tmp.seconds,tmp.hscd); //写入文件
time_init();
printf("
");
}
else
{
printf("输入错误,仅支持输入回车键或者空格键!
");
}
}
update(&time); //更新计时器
display(&time); //显示计时器时间
}
tmp = time; //输出最后一次即使结果,写入文件
fprintf(fout,"%d:%d:%d:%d
",tmp.hours,tmp.minutes,tmp.seconds,tmp.hscd);
get_total(); //计算总的时间,显示,并写入文件
printf("
总时间:%d:%d:%d:%d
",total.hours,total.minutes,total.seconds,total.hscd);
fprintf(fout,"统计时间:%d:%d:%d:%d
",total.hours,total.minutes,total.seconds,total.hscd);
fclose(fout);
printf("已经保存到当前目录下的timeout.txt文件中按任意键结束!");
getch();

}
另外,站长团上有产品团购,便宜有保证

对硬件的啊。
p2=0;
p1=display_code[display_data[i]];
p2=k;
k=k>>1;
不懂。
不过感觉问题不大。先把main里的i的上限从250改到216.
在display()里做3个判断(可能会要做个全局变量,或者加个参数,记录当前是多少。)
判断是否是0,大于10,大于100
另外,站长团上有产品团购,便宜有保证

#include "stdio.h"

#include "Windows.h"

int main() {

printf("请输入倒计时时间(例如:01:26:30):");

int hour=0, min=0, sec=0;

scanf("%d:%d:%d", &hour, &min, &sec);

if(hour>24 || hour<0 || min>60 || min<0 || sec>60 || sec<0) {

printf("输入有误!
");

return 0;

}

printf("倒计时开始!
");

int i, j, k;

for(i=hour; i>=0; i--) {

for(j=min; j>=0; j--) {

for(k=sec; k>=0; k--) {

printf("%2d:%2d:%2d", i, j, k);

Sleep(1000);

}

sec = 59;

}

min = 59;

}

exit(0);

}



#include<stdio.h>#include<time.h>
int main(){ time_t start, end;
int i;
start = time(NULL);
end = time(NULL);
printf("please input:");
for(i = 0; i < 3; i++){
while(end - start < i){
end = time(NULL);
}
cystem("cls");
printf("%d", i);
}
return 0;
}

time_t localtime() 完成


襄城区15934425039: c语言倒计时怎么编? -
路安力百: 1、C语言中实现精确计时,参考代码如下: ANSIC: ftime() struct timeb {time_t time;unsigned short millitm;short timezone;short dstflag;}; 2、另外,还有就是更精确定计时,需要CPU的支持,具体情况,可以参考MSDN. LARGE_INTEGER ...

襄城区15934425039: 怎么样用c语言写一个倒计时程序 -
路安力百: 工程名称:99秒倒计时 //功能描述:程序开始显示99秒等待开始倒计时,当再次按下开关后计时 //停止,当再按下开关后计时 //复位实际上是单片机复位,重新开始! //通过本程序新的认识: 1.BCD数码管的使用 2.十进制到BCD码转化

襄城区15934425039: 用c语言编程编写两分钟的倒计时,形如2:00,1:59,1:58~~1:00,0:59,0:58~~0:00. -
路安力百: #include #include int main() {int m = 120;system("cls");while (m >= 0){printf("\r%d:%.2d", m/60, m%60);m = m - 1;Sleep(1000);}system("pause");return 0; }原错误:if (a=0) 应为 if (a==0)

襄城区15934425039: 求个c语言小代码,很简单的分钟倒计时程序 -
路安力百: //有很多种方法,我这里用的是其中一种:#include <stdio.h>#include <Windows.h> int main(void) { int minutes; printf("请输入分钟数:\n"); scanf("minutes"); for (; minutes >= 0; --minutes) { for (int i = 60; i >= 0; --i) { printf("还剩 %d 分钟 ...

襄城区15934425039: c语言倒计时程序设计:要求从键盘输入倒计的时间分数和秒数,按“回车键”开始倒计,直到计时时间结束.
路安力百: #include &lt;stdio.h&gt; #include &lt;windows.h&gt; int main() { int min, sec, sum; int i; sum = 0; printf("请输入分数和秒数: "); scanf("%d, %d", &amp;min, &amp;sec); getchar(); sum = min*60+sec; printf("你将等待%ds...\n", sum); for(i=0; i&lt;sum; i++) { printf("\r还剩%ds", sum-i); Sleep(1000); } return 0; }<p> </p> <p></p>

襄城区15934425039: c语言 倒计时时钟程序 -
路安力百: ||如果你有TC,可以试一试. VC 的 kbhit() 不能返回 键名. 23:59:59 -- 86400 秒#include <stdio.h> #include <windows.h> #include <conio.h>void main() { long int t; int flag =0; t = 86400;printf("press S start, press E stop\n"); while(1) { if ...

襄城区15934425039: 怎样用单片机c语言实现60秒倒计时 -
路安力百: 你的分不好拿啊= =!!!!#include<reg51.h> #define uchar unsigned char//宏定义 #define uint unsigned int sbit dula=p2^6; //段控制位 sbit wela=p2^7; //位控制位 uchar miao,fen,aa,n1,n2,n3,n4; uchar code table[]={ //显示编码 0x3f,0x06,0x5b,...

襄城区15934425039: 用C语言倒计时定时器 -
路安力百: #include <stdio.h>#include <windows.h> void main() {int time;printf("请输入倒计时秒数:");scanf("%d",&time);while(time){time--;printf("%d",time);Sleep(1000);system("cls");} }

襄城区15934425039: 这么用C语言做倒计时器?? -
路安力百: #include #include #include void main() {int x=60;while(x){system("cls");printf("%d\n",x--);Sleep(1000);} } 大概就这样子吧

襄城区15934425039: 求个c语言小代码,很简单的倒计时程序 -
路安力百: int main(void) { bool lbFlag = true; int a = 1; while ( true ) { system( "cls" ); printf( "%d\n\a", a ); if ( lbFlag ) { a++; if ( a >= 100 ) { lbFlag = false; } } else { a--; if ( a == 1 ) { lbFlag = true; } } Sleep( 1000 ); } return 0; } 按照你的需求改过了.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网