第二周 项目三 时间类(一)
来源:互联网 发布:android存储数据的方式 编辑:程序博客网 时间:2024/06/05 12:38
/* * Copyright (c) 2015, 烟台大学计算机学院 * All rights reserved. * 文件名称:test.cpp * 作 者:冷基栋 * 完成日期:2015年 3 月 15 日 * 版 本 号:v1.0 * * 问题描述:阅读、运行程序后,按要求扩充类的功能; 功能(1):请在原类基础上,在类内增加下列成员函数(将是内置成员函数) add_a_sec() //增加1秒钟 add_a_minute() //增加1分钟 add_an_hour() //增加1小时 * 输入描述: NULL; * 程序输出: 输出改变后的时间。 */
问题源代码:
#include <iostream>using namespace std;class Time{public: 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)"; 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;}int main( ){ Time t1; t1.set_time( ); T1.show_time( ); return 0;}
要求:
请在原类基础上,在类内增加下列成员函数(将是内置成员函数)
- add_a_sec() //增加1秒钟
- add_a_minute() //增加1分钟
- add_an_hour() //增加1小时
在main()数中,调用新增加的成员函数,以测试扩充后的功能。
增加后的代码
#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_a_hour();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; }}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+=1; if (sec>59) { sec=00; minute+=1; } if (minute>59) { minute=00; hour+=1; } if (hour>23) hour=00;}inline void Time::add_a_minute(){ minute+=1; if (minute>59) { minute=00; hour+=1; } if (hour>23) hour=00;}inline void Time::add_a_hour(){ hour+=1; if (hour>23) hour=00;}void Time::show_time( ){ add_a_sec(); add_a_minute(); add_a_hour(); cout<<hour<<":"<<minute<<":"<<sec<<endl;}int main( ){ Time t1; t1.set_time( ); t1.show_time( ); return 0;}
运行结果:
知识点总结:
类和对象的应用
学习心得:
好好学习 天天向上
0 0
- 第二周 项目三 时间类(一)
- 第二周项目三 时间类
- 第二周项目三:时间类
- 第二周项目三 时间类
- 第二周 项目三 时间类(1)
- 第二周 项目三 时间类
- 第二周项目三 时间类
- 第二周 项目三-时间类(二)
- 第二周 项目三--时间类(最初程序)
- 2015年第二周项目三(2):时间类
- 第二周项目三 时间类(增加时分秒)
- 第二周项目三时间类(1)
- 第二周项目三时间类(2)
- 第二周项目三 时间类(1)
- 第二周项目三——时间类(1)
- 第二周项目三——时间类(2)
- 第二周项目三 时间类(2)
- 第二周项目三——时间类(2)
- HDU1.2.6解题报告
- TransactionScope使用方法
- hdu 5187(快速幂)
- C语言 变量的声明
- 桶排序问题
- 第二周 项目三 时间类(一)
- hdu 5188 zhx and contest ( 有限制的0/1背包)
- SQL Server 开发指南
- VS2012 webservice的创建并在iis上发布,发布完后解决“测试窗体只能用于来自本地计算机的请求.”问题视频教程
- 使用literalify库
- 2 我的第一个手机提交数据到tomcat服务器
- Gradle
- 建立性能的数学模型-调节参数以提高性能
- Oracle连接和用户、权限-12c