关于网友提出的“ 23:59:59加一后为什么不能是0:0:0 大神求解答”问题疑问,本网通过在网上对“ 23:59:59加一后为什么不能是0:0:0 大神求解答”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: 23:59:59加一后为什么不能是0:0:0 大神求解答
描述: #include
using namespace std;
class clock
{
private:
int hour,minute,second;
public:
clock(int h=0,int m=0,int s=0);
~clock(){}
void show();
clock& operator ++();
void settime();
};
clock::clock(int h,int m,int s)
{
hour=h;
minute=m;
sec />
}
void clock::show()
{
cout<<><><><>
}
void clock::settime()
{
char m1,m2;
cout<<"Please input time:"<<>
cin>>hour>>m1>>minute>>m2>>second;
while(hour<0||hour>24||minute<0||minute>60||second<0||second>60)
{
cout<<"Please input time again!"<<>
cin>>hour>>":">>minute>>":">>second;
}
}
clock& clock::operator ++()
{
cout<<"add a second"<<>
second++;
if(second>=60)
{
sec />
minute++;
if(minute=0)
{
minute=0;
hour++;
if(hour>=24)
hour=0;
}
}
return *this;
}
int main()
{
clock myclock;
myclock.show();
myclock.settime();
myclock.show();
myclock++.show();
return 0;
}
解决方案1:
代码功能归根结底不是别人帮自己看或讲解或注释出来的;而是被自己静下心来花足够长的时间和精力亲自动手单步或设断点或对执行到某步获得的中间结果显示或写到日志文件中一步一步分析出来的。
提醒:再牛×的老师也无法代替学生自己领悟和上厕所!
单步调试和设断点调试(VS IDE中编译连接通过以后,按F10或F11键单步执行,按Shift+F11退出当前函数;在某行按F9设断点后按F5执行停在该断点处。)是程序员必须掌握的技能之一。
为了以后不再犯蠢。
脑海中刚浮现出”大学自习室“里”两点六十“这句经典台词。
解决方案2: if(minute=0)
改成
if(minute>=60)
以上介绍了“ 23:59:59加一后为什么不能是0:0:0 大神求解答”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/3626944.html