📄 秒表.cpp
字号:
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#define BEGIN 13 //开始
#define PAUSE 122 //暂停
#define RESET 120 //复位
#define REGISTER 32 //记录
#define ESC 27 //退出
int x=33,y=12; //定位输出
void yc(long t) //延迟
{long i;
for(i=0;i<t;i++);
}
void windows()
{
printf(" ╔═════╗\n");
printf(" ║ 秒表 ║\n");
printf(" ╚═════╝\n");
printf(" ╔══════════════════════════════╗\n");
printf(" ║操作说明: ║\n");
printf(" ║按ENTER键开始计时 ║\n");
printf(" ║按Z键暂停或继续 ║\n");
printf(" ║按X键复位 ║\n");
printf(" ║按空格键执行多重记录 ║\n");
printf(" ║按ESC键退出 ║\n");
printf(" ╚══════════════════════════════╝\n");
printf(" ╔═════╗\n");
printf(" ║ ║\n");
printf(" ╚═════╝\n");
}
void windows_()
{
gotoxy(x-2,y+1);
printf("║ ║");
gotoxy(x-2,y+2);
printf("╚═════╝");
y++;
}
int main()
{
int k=0;
int m=0,i=0,j=0,m_=0,i_=0,j_=0;
windows();
for(;k!=BEGIN;)
{
kbhit();
k=getch();
}
GO:
switch(k) //按键判断
{
case REGISTER:
windows_();
m_=m;
i_=i;
j_=j;
break;
case PAUSE:
m_=m;
i_=i;
j_=j;
k=0;
for(;(k!=PAUSE)&&(k!=ESC);)
{
kbhit();
k=getch();
}
if(k==ESC)
{
gotoxy(5,16);
return(0);
}
break;
case RESET:
system("cls");
x=33,y=12;
windows();
break;
case ESC:
gotoxy(5,16);
return(0);
}
for(m=0;;m++)
for(i=0;;i++)
{
if(i==60)
break;
for(j=0;;j++)
{
if((k==PAUSE)||(k==REGISTER))
{
m=m_;
i=i_;
j=j_;
k=0;
}
k=kbhit();
if(k!=0)
k=getch();
if((k==PAUSE)||(k==ESC)||(k==REGISTER)||(k==RESET))
goto GO;
if(j==100)break;
yc(3700000);
gotoxy(x,y);
printf("%2d:%2d:%2d",m,i,j);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -