⑴ 请问c语言能不能做一个倒计时的功能
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <windows.h>
void my_menu(void)
{
system("cls");
printf("界面\n");
}
void my_operate(void)
{
printf("%c\n", getch());//注意:可以将输入值用数组等保存,这里没有保存
}
void my_time(void)
{
int i;
for (i=60; i>0; i--)
{
Sleep(999);
system("cls");
printf("倒计时:%d\n", i);
printf("\n请输入一个字符:");
if (kbhit())
{
my_operate();
}
}
my_menu();
}
int main(void)
{
my_time();
return 0;
}
⑵ 使用2个数码管设计一个60秒倒计时C语言程序,要求用定时器中断定时1秒。 仿真元件数码管为7SEG-COM-CATHODE
7SEG-COM-CATHODE为共阴管
#include<reg51.h>
#defineucharunsignedchar
#defineuintunsignedint
ucharnum=60,shi,ge;
ucharcodeTAB[]={
0x3F,/*0*/
0x06,/*1*/
0x5B,/*2*/
0x4F,/*3*/
0x66,/*4*/
0x6D,/*5*/
0x7D,/*6*/
0x07,/*7*/
0x7F,/*8*/
0x6F,/*9*/
};
voidT0INTinit()
{
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;
}
voidmain()
{
T0INTinit();
while(1)
{
shi=num/10;
ge=num%10;
P0=TAB[shi];
P2=TAB[ge];
}
}
voidT0INT()interrupt1
{
uchari;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
i++;
if(i==20)
{
i=0;
num--;
if(num==0)
num=60;
}
}
⑶ 这么用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)
{
//此处输出计时结果,\r为回车不换行,既一直在同一行更新时间
printf("%d:",(*t).hours);
printf("%d:",(*t).minutes);
printf("%d:",(*t).seconds);
printf("%d\r",(*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("按回车键开始计时!\n");
while(1)
{
m = getch();
if(m != ‘\r’) //读入一个输入,如果是回车,那么跳出次循环
printf("输入错误,仅能输入回车键!\n");
else
break;
}
printf("已经开始计时,但是你可以按回车键以分段计时!\n");
while(1)
{
if(kbhit()) //此处检查是否有键盘输入
{
m=getch();
if(m == ‘\r’) //如果等于回车,那么计时结束,跳出循环
break;
else if(m == ‘ ‘) //如果等于空格,显示此次计时,初始化计时器
{
tmp = time; //记录上一段计时器结果
fprintf(fout,"%d:%d:%d:%d\n",tmp.hours,tmp.minutes,tmp.seconds,tmp.hscd); //写入文件
time_init();
printf("\n");
}
else
{
printf("输入错误,仅支持输入回车键或者空格键!\n");
}
}
update(&time); //更新计时器
display(&time); //显示计时器时间
}
tmp = time; //输出最后一次即使结果,写入文件
fprintf(fout,"%d:%d:%d:%d\n",tmp.hours,tmp.minutes,tmp.seconds,tmp.hscd);
get_total(); //计算总的时间,显示,并写入文件
printf("\n总时间:%d:%d:%d:%d\n",total.hours,total.minutes,total.seconds,total.hscd);
fprintf(fout,"统计时间:%d:%d:%d:%d\n",total.hours,total.minutes,total.seconds,total.hscd);
fclose(fout);
printf("已经保存到当前目录下的timeout.txt文件中按任意键结束!");
getch();
}
另外,站长团上有产品团购,便宜有保证
⑷ 求C51单片机汇编语言控制两位数码管60秒倒计时的程序,最好能说明下思路
#include <at89x52.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
#define seg P0
#define sw P2
int tab[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
int dis[]={0,0};
uint X;
uchar Count=0;
uchar sec=60;
void display()
{
int a;
int m=0x01;
dis[0]=sec/10;
dis[1]=sec%10;
for(a=0;a<2;a++)
{
seg=0xff;
seg=tab[dis[a]];
sw=m;
m=_crol_(m,1);
}
}
void TINT0() interrupt 1
{
TL0=-50000%256;
TH0=-50000/256;
if(++Count==20)
{
if(sec>0)sec--;
Count=0;
}
}
void Main()
{
TMOD=0x01;
EA=1;
ET0=1;
TR0=1;
TL0=-50000%256;
TH0=-50000/256;
while(1)
{
if(sec==0)sec=60;
display();
}
}
⑸ c语言倒计时器 的编程代码
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void wait ( int seconds )
{
clock_t endwait;
endwait = clock () + seconds * CLK_TCK ;
while (clock() < endwait) {}
}
void main(){
int t,m,s;
printf("input counterdown time in seconds\n");
scanf("%d",&t);
printf("\n===================\n");
while(1)
{
wait ( 1 );
t--;
if (t==0) break;
s = t % 60;
m = t / 60;
printf("\r\t%02d:%02d",m,s);
}
exit(0);
};
⑹ 如何在c语言程序中插入一个倒计时命令
#include <stdio.h>
int main()
{
printf("hello world");
for(int i=60;i>0;i--)
{
printf("%d",i);
Sleep(1000);
}
}