修正后的时间类
2016-04-03 22:20
519 查看
问题及代码:
运行结果:
/*copyright 烟台大学计算机与控制工程学院 *问题及代码: *文件名称:时间类 *作者:马艳艳 完成日期:2016.4.3 * *问题描述:通过时间 类完成要求 *输入描述:要增加的时间和时间 程序输出:增加后的时间 提示:这是完善后的。多亏贵人相助啊哈哈*/ #include <iostream> using namespace std; class Time { public: Time (int a,int b,int c); void set_time(); void show_time(); void add_a_sec(int); void add_a_minute(int); void add_an_hour(int); private: bool is_time(int,int,int); int hour; int minute; int sec; }; Time::Time(int a,int b,int c) { hour=a; minute=b; sec=c; } void Time::set_time() { char c1,c2; cout<<"请输入时间(格式hh:mm:ss)"<<endl; 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>60 || m<0 || m>60 || s<0 || s>60) return false; else return true; } void Time::add_a_sec(int n) { if((sec+n)>=60) { sec=(sec+n)%60; add_a_minute(n/60); } else sec+=n; } void Time::add_a_minute(int n) { if((minute+n)>=60) { minute=(minute+n)%60; add_an_hour(n/60); } else minute+=n; } void Time::add_an_hour(int n) { if((hour+n)>=24) { hour=(hour+n)%24; add_an_hour(n/24); } else hour+=n; } int main() { Time t1(0,0,0); int n; cout<<"请输入要增加的时间n"<<endl; cin>>n; t1.set_time(); //t1.show_time(); t1.add_a_sec(n); t1.add_a_minute(n); t1.add_an_hour(n); t1.show_time(); return 0; }
运行结果:
相关文章推荐
- Hive与HBase的区别
- block,inline和inline-block概念和区别
- 封装
- 确定两个字符串通过重新排序是否可以相同的算法
- Linux内核设计第六周 ——进程的描述和创建
- cf19B. Checkout Assistant 【01 背包】
- 安卓打开File Explorer里面不显示内容
- socket server 长连接服务端
- 安卓打开File Explorer里面不显示内容
- lintcode:Unique Binary Search Trees II
- Android设计模式应用--状态模式
- android的消息机制
- Android中的Spinner控件)
- cpu_bitmap结构体解析
- Unity3d-Shader-UV移动
- 配置tomcat的compressableMimeType指定gzip的类型
- gdb调试带参数程序
- 【jdk1.8】PriorityQueue源码分析
- 蛇形数组实现
- Activiti 删除流程定义