第二周项目三——时间类(2)
来源:互联网 发布:淘宝店保证金怎么退回 编辑:程序博客网 时间:2024/05/29 12:30
#include <iostream>using namespace std;class Time{public: void set_time( ); void show_time( ); inline void add_a_sec(); inline void add_a_minute(); inline void add_an_hour(); void add_seconds(int); void add_minute(int); void add_hour(int);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(){ sec++; if(sec>59) { sec=0; add_a_minute(); }}inline void Time::add_a_minute(){ minute++; if(minute>59) { minute=0; add_an_hour(); }}inline void Time::add_an_hour(){ hour++; if(hour>23) hour=0;} void Time::add_seconds(int n){ sec+=n; if(sec>59) { sec=0; add_a_minute(); }}void Time::add_minute(int n){ minute+=n; if(minute>59) { minute=0; add_an_hour(); }}void Time::add_hour(int n){ hour+=n; if(hour>23) hour=0;}int main( ){ Time t1; int n1,n2,n3; t1.set_time( ); t1.show_time( ); cout<<"增加n秒"<<endl; cin>>n1; cout<<"增加"<<n1<<"秒"<<endl; cout<<"增加n秒后的时间:"<<endl; t1.add_seconds(n1); t1.show_time( ); cout<<"增加n分钟"<<endl; cin>>n2; cout<<"增加"<<n2<<"分钟"<<endl; cout<<"增加n分钟后的时间:"<<endl; t1.add_minute(n2); t1.show_time( ); cout<<"增加n小时"<<endl; cin>>n3; cout<<"增加"<<n3<<"小时"<<endl; cout<<"增加n小时后的时间:"<<endl; t1.add_hour(n3); t1.show_time(); return 0;}
运行结果:
学习总结:
各个函数轮着用,虽然有点小迷糊,但好在最后造出来了。
0 0
- 第二周项目三——时间类(2)
- 第二周项目三——时间类(2)
- 第二周项目三——时间类(1)
- 第二周项目三——时间类(1)
- 第二周项目三—时间复杂度
- 第二周 课后实践:项目三——时间类(2)
- 15第二周项目三——时间类
- 2015年第二周项目三(2):时间类
- 第二周项目三时间类(2)
- 第二周项目三 时间类(2)
- 第二周 课后实践:项目三——时间类(1)
- 15第二周项目三——时间类(总)
- 第二周项目三 时间类
- 第二周项目三:时间类
- 第二周项目三 时间类
- 第二周 项目三 时间类(1)
- 第二周 项目三 时间类
- 第二周项目三 时间类
- 黑马程序员----java基础----I/O流(二)
- java(26) - 装饰模式
- Android-数据格式解析对象JSON用法
- 高斯滤波及canny边缘检测代码实现
- 关于Java内存泄漏
- 第二周项目三——时间类(2)
- 报到
- 类中静态变量未定义导致undefined reference to static class member问题的解决方法
- Jave程序和C语言的区别
- C++之多态性与虚函数
- Android检查用户是否有网络工具类
- 第二周项目二——长方柱
- javascript 闭包
- 后台多任务多线程断点下载