关于一个C++的问题 /*定义一个时钟类CLOCK,设计成员函数SETALARM(int hour,int minut,int second)设置

/*定义一个时钟类CLOCK,设计成员函数SETALARM(inthour,intminut,intsecond)设置响铃时间;用RUN()成员函数模拟时钟运行,当运行到... /*定义一个时钟类CLOCK,设计成员函数SETALARM(int hour,int minut,int second)设置
响铃时间;用RUN()成员函数模拟时钟运行,当运行到相铃时间时提示响铃*/
/*我自己编的在下面但是有问题 在那个RUN()函数那里出现了问题 ,总体没有错误,估计是run()函数的循环 有点点问题 得到的结果是 10:36:61 而我设置的闹铃时间是10:35:12 不知道怎么回事 求高人帮忙改一改 并解释一下 谢谢诶*/

#include<iostream>
using namespace std;
class CLOCK{
private:
int chour;int cminute;int csecond;int hour;int minute;int second;
public:
CLOCK(int = 0,int = 0,int = 0);
void SETALARM(int ,int ,int );
void RUN();
void SHOWTIME();
};
CLOCK::CLOCK(int chour,int cminute,int csecond)
{
this->chour=chour;
this->cminute=cminute;
this->csecond=csecond;
}
void CLOCK::SETALARM(const int hour,const int minute,const int second)
{
this->hour=hour;
this->minute=minute;
this->second=second;
}
void CLOCK::RUN()
{
for(;chour<=hour;chour++)
{
for(;cminute<=60;cminute++)
{
for(;csecond<=60;csecond++);
}
}
for(cminute=0;cminute<=minute;cminute++)
{
for(csecond=0;csecond<=60;csecond++);
}
for(;csecond<=second;csecond++)
if(chour==hour&&cminute==minute&&csecond==second)
cout<<"the time to!!!get up!!the time is:"<<hour<<":"<<minute<<":"<<second<<endl;
}
void CLOCK::SHOWTIME()
{
cout<<chour<<":"<<cminute<<":"<<csecond<<endl;
}
void main()
{
CLOCK time(8,21,14);
time.SHOWTIME();
time.SETALARM(10,35,12);
time.RUN();
time.SHOWTIME();
}
展开
 我来答
phonnix
2011-05-13
知道答主
回答量:18
采纳率:0%
帮助的人:24.7万
展开全部
for(;chour< hour;chour++) //应改为<, 如果=的话,会再次执行chour++变为11点了,下同
{
for(;cminute< 60;cminute++)
{
for(;csecond< 60;csecond++);
}
}
for(cminute=0;cminute<minute;cminute++)
{
for(csecond=0;csecond<60;csecond++);
}
for(csecond=0;csecond<=second;csecond++)
//你应该初始化csecond, 因为分钟到了后,秒从0开始;
if(chour==hour&&cminute==minute&&csecond==second)
cout<<"the time to!!!get up!!the time is:"<<hour<<":"<<minute<<":"<<second<<endl;
追问
呃  不对呀~~  我改了 但是IF语句的那个cout不显示啊··   就是说  时间走了之后 没有走到与闹钟的时分秒对应·· 所以就没有显示  我想知道要怎么改才能让它走到对应到闹钟的时分秒··
追答
可以输出啊,for(csecond=0;csecond<=second;csecond++)  里的等号加上没?
潇柒般指爱0R
2018-04-22
知道答主
回答量:2
采纳率:0%
帮助的人:1474
展开全部
你可以在秒到了以后对他清0;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式