第一周项目 3 时间类
来源:互联网 发布:像素画软件 编辑:程序博客网 时间:2024/05/17 21:41
/* *Copyright (c) 2015,烟台大学计算机学院 *All rights reserved. *文件名称 : main.cpp *作 者 :韩娟 *完成日期 :2015年3月18日 *版 本 号 :v1.0 *问题描述 :要求:(1)请在原类基础上,在类内增加下列成员函数(将是内置成员函数) add_a_sec() //增加1秒钟 add_a_minute() //增加1分钟 add_an_hour() //增加1小时 在main()数中,调用新增加的成员函数,以测试扩充后的功能。(2)再增加三个成员函数,要求在类内声明,类外定义。 add_seconds(int) //增加n秒钟 add_minutes(int) //增加n分钟 add_hours(int) //增加n小时提示:?要考虑增加后超出取值范围的情形;?增加n秒后,秒数可能会超过60,调整秒数,并可以调用增加分钟数的成员函数,使时间合法;同理,增加分钟数也有类似问题。 *输入描述 :时间 *程序输出 :按要求输出 */#include <iostream>using namespace std;class Time{public: void set_time( ); void show_time( ); void add_a_sec(); void add_a_minute(); void add_an_hour(); void add_second(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)"; 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=sec+1; if(sec>59) { sec=0; add_a_minute(); }}void Time::add_a_minute(){ minute=minute+1; if(minute>59) { minute=0; add_an_hour(); }}void Time::add_an_hour(){ hour=hour+1; if(hour>23) { hour=0; }}void Time::add_second(int s){ sec=sec+s; if(sec>59) { add_minutes(sec/60); sec=sec%60; }}void Time::add_minutes(int m){ minute=minute+m; if(minute>59) { add_hours(minute/60); minute=minute%60; }}void Time::add_hours(int h){ hour=hour+h; if(hour>23) { hour=hour%24; }}int main( ){ int a,b,c; Time t1; t1.set_time( ); cout<<"现在时间是:"; t1.show_time( ); t1.add_a_sec(); cout<<"增加一秒:"; t1.show_time(); t1.add_a_minute(); cout<<"增加一分钟 :"; t1.show_time(); t1.add_an_hour(); cout<<"增加一小时 :"; t1.show_time(); cout<<"增加的秒数:"; cin>>a; t1.add_second(a); cout<<"增加之后变为:"; t1.show_time(); cout<<"增加的分钟数:"; cin>>b; t1.add_minutes(b); cout<<"增加之后变为:"; t1.show_time(); cout<<"增加的小时数:"; cin>>c; t1.add_hours(c); cout<<"增加之后变为:"; t1.show_time(); return 0;}
知识点总结 :
写这个的时候要注意到时分秒的变换,不然很容易写错,还有就是在类内先定义后在进行描述。
学习心得 :
写完觉得还可以,继续加油
0 0
- 第一周 项目3 时间类
- 第一周项目3 时间类
- 第一周项目3:时间类
- 第一周项目 3 时间类
- 第一周 项目3 时间类 加 n
- 第一周上机实践项目3-时间类
- 第一周项目3 时间程序
- 第一周 项目三:时间类
- 第一周项目三 时间类
- 第一周 项目三时间类(增加n秒)
- 第一周项目三——时间类(改进)
- 第一周项目二:时间结构体
- 第一周项目三——时间类(增加时间)
- 第一周项目三(1):时间类(秒,分,时各加一)
- 第一周项目三(2):时间类(秒,分,时各加n)
- 第一周项目三——时间类(原题)
- 第一周项目三 时间类(1)增加一秒
- 第一周项目三 时间类(2)增加多秒/分/时
- Listview专题
- 明解C语言
- app电池续航上&&下--Android自动化测试学历历程
- 运算输入数字的绝对值。
- JQuery中$.ajax()方法参数详解
- 第一周项目 3 时间类
- idea中的快捷键
- 深入 char * ,char ** ,char a[ ] ,char *a[] 内核
- How to Accept/Reject the Transfer of a Device
- 第二周项目三.2
- 大学生学习
- MyEclipse应用服务器之部署项目到Tomcat服务器
- 总结MySQL 的C语言接口使用
- Windows和Linux下的字节对齐