第2周项目初见对象--时间类(2)
来源:互联网 发布:linux apt-get卸载 编辑:程序博客网 时间:2024/05/29 13:03
/* * Copyright (c) 2015, 烟台大学计算机学院 * All rights reserved. * 文件名称:test.cpp * 作 者:姜甜甜 * 完成日期:2015年 3 月 17日 * 版 本 号:v1.0 * * 问题描述:阅读、运行程序后,按要求扩充类的功能; 功能(2):请在原类基础上,在类内增加下列成员函数(将是内置成员函数) add_seconds(int) //增加n秒钟 add_minutes(int) //增加n分钟 add_hours(int) //增加n小时 * 输入描述: 输入要增加的秒数,分钟,小时; * 程序输出: 输出改变后的时间。
#include <iostream>using namespace std;class Time{public: void set_time( ); void show_time( ); void addsec(int); void addminute(int); void addhour(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::addsec(int n){ sec+=n; if(sec>59) { addminute(sec/60); sec=sec%60; }}void Time::addminute(int n){ minute+=n; if(minute>59) { addhour(minute/60); minute%=60; }}void Time::addhour(int n){ hour+=n; if(hour>23) { hour=0; }}int main( ){ int a,b,c; Time t1; t1.set_time( ); cout<<"现在时间是:"; t1.show_time( ); cin>>a; cout<<"增加"<<a<<"秒钟后:"; t1.addsec(a); t1.show_time( ); cin>>b; cout<<"增加"<<b<<"分钟后:"; t1.addminute(b); t1.show_time( ); cin>>c; cout<<"增加"<<c<<"小时后:"; t1.addhour(c); t1.show_time( ); return 0;}
0 0
- 第2周项目初见对象--时间类(2)
- 第2周项目初见对象--时间类(1)
- 第2周项目初见类和对象-旱冰场造价
- 第2周项目--初见对象程序阅读
- 第2周项目--初见对象程序阅读
- 第2周初见对象--长方体
- 第2周项目3时间类
- 第2周项目3时间类
- 第2周项目3-时间类
- 第2周项目时间类
- 第2周项目3-时间类
- 第12周项目2-时间类
- 第2周 项目3—时间类(2)
- 第2周项目3-时间类(2)
- 第2周 项目3—时间类(1)
- 第2周项目3-时间类(1)
- 第1周项目5-时间类(2)
- 第5周-项目3-时间类(2)
- linux修改字体
- 用循环语句输出菱形图形
- win7下IE8浏览器oracle ebs 11i打不开FORM的解决方案
- 如何理解数据库理论中的第一二三四五六七八范式?
- Java聊天室
- 第2周项目初见对象--时间类(2)
- POJ3411 Paid Roads DFS
- 创建rpm包
- JavaBean使用实例——注册验证
- BZOJ 2466 中山市选2009 树 高斯消元+暴力
- reiserfs分区配置
- 对于理解spring非常重要的一段话
- Python内存管理机制
- gem5 设置checkpiont以及从checkpoint处开始执行