#include <iostream>
using namespace std;
class Clock
{
public:
Clock(int h,int m,int s)
{
hour=(h>23?0:h);
minute=(m>59?0:m);
second(s>59?0:s);
}
void SetAlarm(int h,int m,int s)
{
Ahour=(h>23?0:h);
Aminute=(m>59?0:m);
Asecond=(s>59?0:s);}
void ShowTime()
{
cout<<"Now:"<<hour<<":"<<minute<<":"<<second<<endl;
}
void run()
{
second=second+1;
if(second>59)
{
second=0;
minute=0;
minute=minute+1;
}
if(minute>59)
{
minute=0;
hour=hour+1;
}
if(minute>23)
hour=0;
if(hour==Ahour&&minute==Aminute&&second==Asecond)
{
cout<<"當當當"<<endl;
}
}
private:
int hour;
int minute;
int seond;
int Ahour;
int Aminute;
int Asecond;
};
int main()
{Clock D1(7,59,57);
D1.ShowTime();
D1.SetAlarm(8,0,0);
for(int i=0;i<3600*24*3+100;i++)
D1.run();
D1.ShowTime();
return 0;
}
uj5u.com熱心網友回復:
為啥"當當當"連輸出四次,供參考:#include <iostream>
using namespace std;
class Clock
{
public:
Clock(int h,int m,int s)
{
hour =(h>23?0:h);
minute=(m>59?0:m);
second=(s>59?0:s);//second(s>59?0:s);
}
void SetAlarm(int h,int m,int s)
{
Ahour =(h>23?0:h);
Aminute=(m>59?0:m);
Asecond=(s>59?0:s);
}
void ShowTime()
{
cout<<"Now:"<<hour<<":"<<minute<<":"<<second<<endl;
}
void run()
{
second=second+1;
if(second>59)
{
second=0;
//minute=0;
minute=minute+1;
}
if(minute>59)
{
minute=0;
hour=hour+1;
}
if(hour>23) //if(minute>23)
hour=0;
if(hour==Ahour&&minute==Aminute&&second==Asecond)
{
cout<<"當當當"<<endl;
}
}
private:
int hour;
int minute;
int second;//int seond;
int Ahour;
int Aminute;
int Asecond;
};
int main()
{
Clock D1(7,59,57);
D1.ShowTime();
D1.SetAlarm(8,0,0);
for(int i=0;i<3600*24*3+100;i++)
D1.run();
D1.ShowTime();
return 0;
}
//Now:7:59:57
//當當當
//當當當
//當當當
//當當當
//Now:8:1:37
//請按任意鍵繼續. . .
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/270290.html
標籤:C++ 語言
