第三周任务3:时间类
来源:互联网 发布:世纪通信软件 编辑:程序博客网 时间:2024/04/30 08:36
/** Copyright (c) 2012, 烟台大学计算机学院 * All rights reserved. * 作 者:李慧慧* 完成日期:2013年 3月19日 * 版 本 号:v1.0 * 输入描述: 在类声明中声明成员函数* 问题描述:略* 程序输出:改动后的时间* 算法设计:*/#include <iostream>using namespace std;class Time{public:inline void add_a_sec();//增加1秒钟inline void add_a_minute();//增加1分钟inline void add_an_hour();//增加1小时void add_seconds(int);//增加n秒钟void add_minutes(int);//增加n分钟void add_hours(int);//增加n小时void set_time( ); void show_time( ); private: bool is_time(int, int, int);int hour;int minute;int sec;};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>24 || m<0 ||m>60 || s<0 ||s>60)return false;return true;}//增加1秒钟inline void Time::add_a_sec(){++sec;if(sec==60)sec=0; add_a_minute();}//增加1分钟inline void Time::add_a_minute(){++minute;if(minute==60){ minute=0; add_an_hour();} }//增加1小时inline void Time::add_an_hour(){++hour;if(hour==24)hour=0;}//增加n秒钟void Time::add_seconds(int n){sec=sec+n;if(sec>59){add_minutes(sec/60); sec%=60;}}//增加n分钟void Time::add_minutes(int n){minute=minute+n;if(minute>59){add_hours(minute/60); minute%=60;}}//增加n小时void Time::add_hours(int n){hour=hour+n;if(hour>23)hour%=24;}int main( ){Time t1; Time &t2=t1;t1.set_time(); cout<<"现在的时间是:"<<endl;t2.show_time(); t1.add_a_sec();cout<<"增加1秒钟后:";t2.show_time();t1.add_a_minute();cout<<"增加1分钟后:";t2.show_time();t1.add_an_hour();cout<<"增加1小时后:";t2.show_time();t1.add_seconds(45);cout<<"增加45秒钟后:";t2.show_time();t1.add_minutes(69);cout<<"增加69分钟后:";t2.show_time();t1.add_hours(89);cout<<"增加89小时后:";t2.show_time();return 0;}
运行结果:
- 第三周任务3:时间类
- 第三周上机任务项目3-时间类
- 2013c++第三周任务-时间类
- 第三周上机任务---时间类
- 2013第三周上机任务【项目一 时间类】
- 第三周任务2:输出时间
- 第三周任务3
- 第三周任务3
- 第三周任务3
- 第三周任务3
- 第三周任务3 time类
- 第三周任务3-1
- 第三周,时间类
- 第三周任务三之用类调整时间(1)
- 第三周任务三之用类调整时间(2)
- 第三周 项目3-时间类
- 第三周项目3-时间类
- 第三周项目3-时间类
- oracle COALESCE 函数
- AVIFile
- struts2上传文件
- 在网站项目中添加“模块”
- SDUT——选夫婿2
- 第三周任务3:时间类
- struts2自定义拦截器
- 压力测试工具apache-ab讲解
- Java中Junit简单测试
- hibernate配置文件:hibernate.cfg.xml常用属性
- struts2校验方法
- TeraSort_Hadoop_排序
- Java关键字final
- struts2国际化