第五周项目3--时间类(1)
来源:互联网 发布:海康网络摄像机初始ip 编辑:程序博客网 时间:2024/05/21 07:07
问题及代码:
/* *copyright (t) 2004,烟台大学计算机学院 *All rights reserved. *文件名称:test.cpp *作者:张晴晴 *完成日期:2016年3月31日 *版本号:v1.0 *问题描述:设计一个显示时间的程序,在原类的基础上再类内增加成员函数,完成再输入的时间基础上,在秒、分、时上加1。*输入描述:时间。 *程序输出:处理后的时间。 */ #include<iostream>using namespace std;class time{public: void set_time(); void show_time(); inline void add_a_sec(); inline void add_a_mintue(); inline void add_an_hour();private: bool is_time(int ,int,int); int hour; int minute; int sec; }; inline void time::add_a_sec() { if(sec==59) { sec=0; minute+=1; } else if(sec<59) sec+=1; } inline void time::add_a_mintue() { if(minute==59) { minute=0; hour+=1; } else if(minute==60) { minute=1; hour+=1; } else if(minute<59) minute+=1; } inline void time::add_an_hour() { if(hour==23) hour=0; else if(hour==24) hour=1; else if(hour<24) hour+=1; } 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<0||m>=60||s<0||s>=60) return false; return true;}int main() { time t1; t1.set_time(); t1.add_a_sec(); t1.add_a_mintue(); t1.add_an_hour(); t1.show_time(); return 0; }
运行结果:
知识点总结:考虑增加后超出值范围的情况,注意调整秒数。
学习心得:注意函数的调用顺序,showtime放在最后才能输出处理后的时间。注意类里面的内联函数需要加inline。
0 0
- 第五周项目3:时间类(1)
- 第五周项目3-时间类(1)
- 第五周项目3时间类(1)
- 第五周项目3——(1)时间类
- 第五周项目3 时间类的练习(1)
- 第五周上机实践项目3(1):时间类
- 第五周项目3--时间类(1)
- 第五周项目3-时间类(增加1秒)
- 第五周项目3-时间类(1)
- 第五周项目3-时间类(1)
- 第五周项目3:时间类(2)
- 第五周项目3-时间类2
- 第五周项目3-时间类
- 第五周项目3-时间类
- 第五周项目训练3 时间类
- 第五周项目三时间类1
- 第五周项目(2)-时间类(3)
- 第五周上机实践项目——项目3-时间类-(1)
- 动画组
- 2010年浙江大学计算机及软件工程研究生机试真题
- 重载函数
- 多个参数的select方法调用
- UIAlertView利用runtime传值
- 第五周项目3--时间类(1)
- 牛腩视频前十集错误解析
- 获取当前的点和像素的比例
- 定义三角形类
- 重写按钮的方法,改变其图片的大小
- 项目1-三角类雏形
- 做一个心跳的动画
- 第五周训练1 三角形类5
- 求4个数的最大公约数