定义一个时钟类Clock,设计成员函数SetAlarm(int hour,int minute,int second)设置响铃时间时间;用run()成员函数模拟时钟运行,当运行到响铃时间时提示响铃。
当前时间设置为2时8分58秒,闹铃时间设置为3时40分5秒,时钟运行时显示每一秒的时间。
代码如下:
#include<iostream>
using namespace std;
class Clock{
private:
int Hour,Minute,Second,hour,minute,second;
public:
Clock(int Hour=0,int Minute=0,int Second=0){ //构造函数
this->Hour=Hour,this->Minute=Minute,this->Second=Second;
}
~Clock(){} //析构函数
void SetClock(){ //设置现在时间(手动输入)
cout<<"请输入一个时间:"<<endl;
cin>>Hour>>Minute>>Second;
}
void SetAlarm(int hour,int minute,int second){ //设置闹铃时间(主函数)
this->hour=hour,this->minute=minute,this->second=second;
}
void run(){
for(;(Hour!=hour)||(Minute!=minute)||(Second!=second);Second++){
if(Second==59){ //秒的进位
Second=0;
Minute++;
if(Minute==59){ //分的进位
Minute=0;
Hour++;
if(Hour==24){ //时的循环
Hour=0;
}
}
}
cout<<Hour<<"时"<<Minute<<"分"<<Second<<"秒"<<endl; //输出每一秒的时间
}
cout<<"Dlinglinglingling~Dlinglinglingling~ 时间到"<<Hour<<"时"<<Minute<<"分"<<Second<<"秒"<<endl; //响铃提示设置
}
};
int main(){
Clock C1;
C1.SetClock(); //设置现在时间
C1.SetAlarm(3,40,5); //闹铃设置为3时40分5秒
C1.run(); //时钟运行
return 0;
}