第五周项目三时间类1
2016-05-31 15:12
369 查看
/* *copyright(c)2016,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:text.cpp *作者:闫舒 *完成日期:2016年5月31日 *版本号:Code::Blocks 12.11 * *问题描述:编写一个时间类的程序,完成对时间的计算 *输入描述:输入时间 *程序输出:输出增加一秒、分钟和小时后的时间 */ #include <iostream> using namespace std; class Time { public: void set_time( ); void show_time( ); inline void add_a_sec(); //增加1秒钟 inline void add_a_minute(); //增加1分钟 inline void add_an_hour(); //增加1小时 private: bool is_time(int, int, int); int hour; int minute; int sec; }; 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; } inline void Time::add_a_sec() //增加1秒钟 { ++sec; if (sec>59) { sec=0; add_a_minute(); } } inline void Time::add_a_minute() //增加1分钟 { ++minute; if (minute>59) { minute=0; add_an_hour(); } } inline void Time::add_an_hour() //增加1小时 { ++hour; if (hour>23) hour=0; } int main( ) { Time t1; Time &t2=t1; t1.set_time( ); cout<<"现在时间是:"; t2.show_time( ); t1.add_a_sec(); //增加1秒钟 cout<<"增加1秒钟后:"; t1.show_time( ); t1.add_a_minute(); //增加1分钟 cout<<"增加1分钟后:"; t1.show_time( ); t1.add_an_hour(); //增加1小时 cout<<"增加1小时后:"; t1.show_time( ); return 0; }
运行结果:
学习心得:
在编写这个程序时,遇到了许多问题,比如在增加秒的函数中运用增加分钟的函数是参考老师给出的形式。
相关文章推荐
- ARM-Linux-gcc4.3.2交叉编译错误问题
- 编码规范系列(一):Eclipse Code Templates设置
- 69 个经典 Spring 面试题和答案
- Lecture 1:机器学习初识
- JavaScript parseInt() 函数
- ffmpeg 命令
- JAVA缓存技术(1)
- STM32 CAN总线标识符过滤器难点解析
- Unity3D之脚本反编译点滴记录
- hdu 1575 Tr A
- 第12周课后实践(2)
- java中ReentrantLock 、 Condition、synchronized差异
- 还在考虑关键词布局?这些无关因素帮你拥有好排名!
- HTML页面每次打开的时候都清除页面缓存
- impdp 字符集&外键&OID
- L3-002. 堆栈
- ModelMap和ModelAndView的作用
- WOW
- TextView 实现复制文本功能
- Node服务端极速搭建 -- nvmhome