求C++大神指导。。
#include<iostream>usingnamespacestd;classClock{public:Clock(inth,intm,ints){hour=(h>2...
# 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:h)
Asecond=(s>59?0:s)
}
void ShowTime()
{
cout<<”Now:”<<hour<<”:”<<minute<<”:”<<second<<endl;
}
void run()
{
second=second+1;
if(second>59)
{
second=0;
minute=minute+1;
}
if(minute>59)
{
minute=0;
hour=hour+1;
}
if(hour>24)
{
hour=0;
}
if(hour==Ahour && minute == Aminute&&second==Asecond)
{
cout<<”Plink!plink!plink!...”<<endl;
}
}
private:
int hour;
int minute;
int second;
int Ahour;
int Aminute;
int Asecond;
};
int main()
{
Clock D1(7,59,57);
D1.ShowTime();
D1.SetAlarm(8,0,0);
for(inti=0;i<3600*24*3+100;i++)
D1.run();
D1.ShowTime();
return 0;
}
运行结果:
Now: 7:59:57
Plink!plink!plink!...
Plink!plink!plink!...
Plink!plink!plink!...
Now: 5:1:37
里面那句for(inti=0;i<3600*24*3+100;i++)
D1.run();
是干什么的??
原题:定义一时钟类Clock,设计成员函数SetAlarm(int hour,int
minute,intsecond)设置响铃时间;用run()成员函数模拟时钟运行,当运行到响铃时间时提示响铃 展开
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:h)
Asecond=(s>59?0:s)
}
void ShowTime()
{
cout<<”Now:”<<hour<<”:”<<minute<<”:”<<second<<endl;
}
void run()
{
second=second+1;
if(second>59)
{
second=0;
minute=minute+1;
}
if(minute>59)
{
minute=0;
hour=hour+1;
}
if(hour>24)
{
hour=0;
}
if(hour==Ahour && minute == Aminute&&second==Asecond)
{
cout<<”Plink!plink!plink!...”<<endl;
}
}
private:
int hour;
int minute;
int second;
int Ahour;
int Aminute;
int Asecond;
};
int main()
{
Clock D1(7,59,57);
D1.ShowTime();
D1.SetAlarm(8,0,0);
for(inti=0;i<3600*24*3+100;i++)
D1.run();
D1.ShowTime();
return 0;
}
运行结果:
Now: 7:59:57
Plink!plink!plink!...
Plink!plink!plink!...
Plink!plink!plink!...
Now: 5:1:37
里面那句for(inti=0;i<3600*24*3+100;i++)
D1.run();
是干什么的??
原题:定义一时钟类Clock,设计成员函数SetAlarm(int hour,int
minute,intsecond)设置响铃时间;用run()成员函数模拟时钟运行,当运行到响铃时间时提示响铃 展开
2个回答
展开全部
for 语句循环啊
定义整型i=0
如果i小于等3600*24*3+100执行for中语句
D1.run调用自定义函数void run() 呃
你要问的问题在时候详细点 还有要题和注释 你的思想
这是最基本的啊 下次都加上 才能让别人给你详细解答的
定义整型i=0
如果i小于等3600*24*3+100执行for中语句
D1.run调用自定义函数void run() 呃
你要问的问题在时候详细点 还有要题和注释 你的思想
这是最基本的啊 下次都加上 才能让别人给你详细解答的
追问
就是看不懂为什么是3600*24*3+100??
追答
我看了半天 你程序写错了
第一处:void SetAlarm(int h,int m,int s)
{
Ahour=(h>23?0:h)
Aminute=(m>59?0:h)
Asecond=(s>59?0:s)
}
中的 Aminute=(m>59?0:h)
应该是 Aminute=(m>59?0:m)
第二处: void run()中
if(hour>24)
{
hour=0;
}
小时转换你也写错了
是if(hour>23)
hour=0;
这就到时每天多一小时
成了25小时了
for(inti=0;i<3600*24*3+100;i++)
D1.run();
for定义的是循环次数
D1.run定义也是从秒开始
3600是60秒*60分钟,也就是一小时的秒数
3600*24是一天的秒数
正好循环一天的周期
至于加100 的意思是 一分半
你把我之前给你找出的错误改了
输出结果就是
Now: 7:59:57
你输入时间j加上100秒
至于你怎么想的我真心很纠结
自己多复习复习吧
多动手练练
其实很简单的
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询