15第二周项目三——时间类(总)
来源:互联网 发布:mac note 编辑:程序博客网 时间:2024/05/19 23:57
/*
* Copyright (c) 2015, 烟台大学计算机学院
* All rights reserved.
* 文件名称:test.cpp
* 作 者:李晓凯
* 完成日期:2015年 3 月 18 日
* 版 本 号:v1.0
*
* 问题描述:
要求:
(1)请在原类基础上,在类内增加下列成员函数(将是内置成员函数)
•add_a_sec() //增加1秒钟
•add_a_minute() //增加1分钟
•add_an_hour() //增加1小时
在main()数中,调用新增加的成员函数,以测试扩充后的功能。
(2)在增加三个成员函数,要求在类内声明,类外定义。
•add_sec() //增加s秒钟
•add_minute() //增加m分钟
•add_hour() //增加h小时
* 输入描述:输入时间时、分、秒。
* 程序输出:分别输出增加1秒、1分、1小时后的时间
*/
#include <iostream>using namespace std;class Time{public: void set_time( ); void show_time( ); void add_a_sec(); void add_a_minute(); void add_a_hour(); void add_secs(int ); void add_minutes(int ); void add_hours(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)"<<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;}void Time::add_a_sec(){ sec++; if(sec>59) { sec=0; add_a_minute(); }}void Time::add_a_minute(){ minute++; if(minute>59) { minute=0; add_a_hour(); }}void Time::add_a_hour(){ hour++; if(hour>23) hour=0;}void Time::add_secs(int s){ sec+=s; if(sec>59) { add_minutes(sec/60); sec%=60; }}void Time::add_minutes(int m){ minute+=m; if(minute>59) { add_hours(minute/60); minute%=60; }}void Time::add_hours(int h){ hour+=h; if(hour>23) hour%=24;}int main( ){ Time t1; Time &t2=t1; int s,m,h; t1.set_time( ); cout<<"现在的时间是:"<<endl; t1.show_time( ); t1.add_a_sec(); cout<<"增加1秒后的时间是:"<<endl; t1.show_time(); t1.add_a_minute(); cout<<"增加1分钟后的时间是:"<<endl; t1.show_time(); t1.add_a_hour(); cout<<"增加1小时后的时间是:"<<endl; t1.show_time(); cout<<"请输入增加的秒数:"<<endl; cin>>s; t1.add_secs(s); cout<<"此时的时间是:"<<endl; t1.show_time(); cout<<"请输入增加的分钟数:"<<endl; cin>>m; t1.add_minutes(m); cout<<"此时的时间是:"<<endl; t1.show_time(); cout<<"请输入增加的小时数:"<<endl; cin>>h; t1.add_hours(h); cout<<"此时的时间是:"<<endl; t1.show_time(); return 0;}
0 0
- 15第二周项目三——时间类(总)
- 15第二周项目三——时间类
- 第二周项目三——时间类(1)
- 第二周项目三——时间类(2)
- 第二周项目三——时间类(2)
- 第二周项目三——时间类(1)
- 第二周项目三—时间复杂度
- 第二周 课后实践:项目三——时间类(1)
- 第二周 课后实践:项目三——时间类(2)
- 第二周项目三 时间类
- 第二周项目三:时间类
- 第二周项目三 时间类
- 第二周 项目三 时间类(1)
- 第二周 项目三 时间类
- 第二周项目三 时间类
- 第二周 项目三 时间类(一)
- 第二周 项目三-时间类(二)
- 第二周 项目三--时间类(最初程序)
- Matlab将视频分成连续帧
- 对指定文件夹下的文件批量重命名
- HDU 1061 Rightmost Digit
- 【蓝桥杯】 PREV-1 核桃的数量
- Statement和PreparedStatement之间的区别
- 15第二周项目三——时间类(总)
- delaunay
- 为什么构造函数不能是虚函数
- java语言编程之TextField总结
- iOS应用安全Part3:理解Objective-C运行时
- JAVA 堆栈 堆 方法区 静态区 final static 内存分配 详解
- 设置csh环境下的指令别名
- Google公布实现Go 1.5自举的计划
- 难度0 字母小游戏