#include <bits/stdc++.h>
#include <windows.h>
#include <conio.h>
using namespace std;
void Countdown(int time){
cout<<"设置你的时间(输入秒数):";
cin>>time;
cout<<"计时开始!"<<"\n";
Sleep(1000);
system("cls");
for(int i=time;i>=0;i--){
if(i==0){
cout<<"时间到!"<<"\n";
break;
}
cout<<"还剩"<<i<<"秒"<<"\n";
Sleep(1000);
system("cls");
}
}
void DCountdown(int hour,int minute,int time){
cout<<"输入小时数:";
cin>>hour;
cout<<"输入分钟数:";
cin>>minute;
cout<<"输入秒数:";
cin>>time;
cout<<"计时开始!"<<"\n";
Sleep(1000);
system("cls");
for(int i=hour;i>=0;i--){
if(i==hour){
for(int j=minute;j>=0;j--){
if(j==minute){
for(int k=time;k>=0;k--){
cout<<"还剩"<<i<<"小时"<<j<<"分钟"<<k<<"秒\n";
Sleep(1000);
system("cls");
}
}else{
for(int k=59;k>=0;k--){
cout<<"还剩"<<i<<"小时"<<j<<"分钟"<<k<<"秒\n";
Sleep(1000);
system("cls");
}
}
}
}else{
for(int j=59;j>=0;j--){
for(int k=59;k>=0;k--){
cout<<"还剩"<<i<<"小时"<<j<<"分钟"<<k<<"秒\n";
Sleep(1000);
system("cls");
}
}
}
}
}
void Countup(int time){
int i=1,hour=0,minute=0;
bool paused=false;
cout<<"计时开始!提示:按 P 暂停/继续,按 Q 退出"<<"\n";
Sleep(1000);
system("cls");
while(true){
if(_kbhit()){
char key=_getch();
key=toupper(key);
if(key=='P'){
paused=!paused;
cout<<(paused?"已暂停":"继续")<<"\n";
}else if(key=='Q'){
cout<<"已退出计时"<<"\n";
return;
}
}
if(!paused){
system("cls");
hour=i/3600;
minute=i/60;
if(cout<<"计时进行中!提示:按 P 暂停/继续,按 Q 退出\n第"<<hour<<"小时"<<minute<<"分钟"<<i%60<<"秒"<<"\n"){
i++;
Sleep(1000);
system("cls");
}
}else{
Sleep(1000);
}
}
}
void Countbegin(){
cout<<"这是gfzl信奥队成员gf25055(胡彦熙)做的一个计时器,"<<"\n";
Sleep(1000);
cout<<"目前已经做到pro版了,"<<"\n";
Sleep(1000);
cout<<"这居然还是gf25051(小黄炸弹)帮我做的,"<<"\n";
Sleep(1000);
cout<<"他也是免费给我了,"<<"\n";
Sleep(1000);
cout<<"蒜鸟蒜鸟,我也不踩他题解了,"<<"\n";
Sleep(1000);
cout<<"ultra版的还在制作中,"<<"\n";
Sleep(1000);
cout<<"可能难度太大,会找人或不做了,"<<"\n";
Sleep(1000);
cout<<"制作不易,感谢观看!"<<"\n";
Sleep(1000);
cout<<"制作人gf25055(胡彦熙)在这里再次感谢大家!"<<"\n";
}
void Countend(){
cout<<"欢迎您再次使用本计时器,再见!";
}
int main(){
system("title 计时器");
int mode,time,hour,minute;
Sleep(1000);
cout<<"欢迎您使用本次计时器!"<<"\n";
Sleep(1000);
while(true){
Sleep(1000);
cout<<"请选择你的计时模式:1.倒计时 2.高级倒计时 3.正计时 4.关于计时器 5.退出\n";
cin>>mode;
if(mode==1){
Sleep(1000);
Countdown(time);
}else if(mode==2){
Sleep(1000);
DCountdown(hour,minute,time);
}else if(mode==3){
Sleep(1000);
Countup(time);
}else if(mode==4){
Sleep(1000);
Countbegin();
}else if(mode==5){
Sleep(1000);
Countend();
break;
}
system("cls");
}
return 0;
}