第五周项目3-时间类(2)修改
来源:互联网 发布:种子在线观看软件 编辑:程序博客网 时间:2024/05/21 16:24
修改原因:在上一篇博文中第五周项目3-时间类(2)中提交的代码存在一些问题:
(1) 老师给出的代码中,输入60或24也算作合法时间,但是在现实生活中并不存在这样的时间,所以要把代码改一下;
(2)当输入的要增加的秒,分,小时数加上原本的时,分,秒数大于60或者24的时候,只能进1位,如果数字过大,就会导致秒,分超限。在课上听了老师的讲解后意识到这一问题,并进行了改正:
错误结果:
改正后代码:
#include<iostream>using namespace std;class time{public: void set_time(); void show_time(); void add_seconds(int x); void add_minutes(int y); void add_hours(int z);private: bool is_time(int ,int ,int); int hour; int minute; int sec;};void time::add_seconds(int x){ sec+=x; if(sec>=60) { minute+=sec/60; sec=sec%60; }}void time::add_minutes(int y){ minute+=y; if(minute>=60) { hour+=minute/60; minute=minute%60; }}void time::add_hours(int z){ hour+=z; if(hour>=24) { hour=hour%24; }}void time::set_time(){ char c1,c2; cout<<"请输入时间(格式hh:mm:ss)"; while(1) { cin>>hour>>c1>>minute>>c2>>sec; if(c1!=':'||c2!=':') cout<<"格式不正确重输"<<endl; else if(!is_time(hour,minute,sec)) cout<<"时间非法,请重新输入"<<endl; else break; }}void time::show_time(){ cout<<hour<<":"<<minute<<":"<<sec<<endl;}bool time::is_time(int h,int m,int s){ if(h<0||h>=24||m>=60||m<0||s<0||s>=60) return false; return true;}int main(){ int x,y,z; time t1; t1.set_time(); cin>>z>>y>>x; t1.add_seconds(x); t1.add_minutes(y); t1.add_hours(z); t1.show_time(); return 0;}
正确的运行结果:
0 0
- 第五周项目3-时间类(2)修改
- 第五周项目3:时间类(2)
- 第五周项目3-时间类2
- 第五周项目(2)-时间类(3)
- 第五周项目3-时间类(2)
- 第五周项目3——(2)时间类
- 第五周项目3 时间类的练习(2)
- 第五周上机实践项目3(2):时间类
- 第五周项目3-时间类(2)
- 第五周 项目3-时间类(2)
- 第五周项目3:时间类(1)
- 第五周项目3-时间类
- 第五周项目3-时间类
- 第五周项目训练3 时间类
- 第五周项目三时间类2
- 第五周上机实践项目——项目3-时间类-(2)
- 第五周上机实践项目——项目3-时间类(2)
- 第五周上机实践项目 项目3--时间类(2)
- 设置一个三角形类(5)
- 第四周项目:求最大公约数
- masonry布局整理
- 最实用的Xcode快捷键
- 换分币(穷举法)
- 第五周项目3-时间类(2)修改
- x/y/z轴
- 记录MAVEN构建hadoop
- Xcode重构功能怎么用我全告诉你
- 心灵鸡汤之20160331
- anchorPoint
- 定时关机
- #每日一题#网易2016实习研发工程师笔试题
- 核心动画的结构