2013级C++第3周【项目3 - 时间类】
来源:互联网 发布:javascript与jsp 编辑:程序博客网 时间:2024/05/01 09:50
/** 程序的版权和版本声明部分* Copyright (c)2013, 在校学生* All rightsreserved.* 文件名称: 项目3.cpp* 作 者:刘旺* 完成日期:2014年3月12日* 版本号: v1.0** 输入描述:* 问题描述:请在原类基础上,增加下列成员函数,要求前三个在类内定义* (将是内置成员函数),后三个在类内声明,类外定义。* 在main()数中增加适当的调用以展示扩充类定义后的功能。* 程序输出:* 问题分析:*/#include <iostream>using namespace std;class Time{ public: void set_time( ); void show_time( ); void add_a_sec() ; //增加1秒钟 void add_a_minute() ;//增加1分钟 void add_an_hour() ;//增加1小时 void add_seconds(int n) ;//增加n秒钟 void add_minutes(int n) ;//增加n分钟 void add_hours(int n) ;//增加n小时 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;}//增加1秒钟void Time::add_a_sec(){ ++this->sec ; if(sec>=60) { ++minute ; sec = sec-60 ; } if(minute>=60) { ++hour ; minute = minute-60 ; } if(hour >= 24) { hour = hour - 24 ; }}//增加1分钟void Time::add_a_minute(){ ++minute ; if(minute>=60) { ++hour ; minute = minute-60 ; } if(hour >= 24) { hour = hour - 24 ; }}//增加1小时void Time::add_an_hour(){ ++hour ; if(hour >= 24) { hour = hour - 24 ; }}//增加n秒钟void Time::add_seconds(int n){ for(int i=1; i<=n; i++) { add_a_sec() ; }}//增加n分钟void Time::add_minutes(int n){ for(int i=1; i<=n; i++) { add_a_minute() ; }}//增加n小时void Time::add_hours(int n){ for(int i=1; i<=n; i++) { add_an_hour() ; }}int main( ){ Time t1; t1.set_time(); t1.show_time(); t1.add_a_sec() ; //增加1秒钟 cout << "增加1秒钟:" ; t1.show_time(); t1.add_a_minute() ;//增加1分钟 cout << "增加1分钟:" ; t1.show_time(); t1.add_an_hour() ;//增加1小时 cout << "增加1小时:" ; t1.show_time(); t1.add_seconds(2) ;//增加n秒钟 cout << "增加2秒钟:" ; t1.show_time(); t1.add_minutes(3) ;//增加n分钟 cout << "增加3分钟:" ; t1.show_time(); t1.add_hours(4) ;//增加n小时 cout << "增加4小时:" ; t1.show_time(); return 0;}
此程序主要要考虑到秒分钟的限制范围,注意细节,我从中也学习到了仔细认真很关键。
0 0
- 2013级C++第3周【项目3 - 时间类】
- 第2周项目3时间类
- 第2周项目3时间类
- 第2周项目3-时间类
- 第2周项目3-时间类
- 第5周项目3-时间类
- 第5周项目3-时间类
- 第5周项目3-时间类
- 第一周 项目3 时间类
- 第一周项目3 时间类
- 第一周项目3:时间类
- 第一周项目 3 时间类
- 第12项目3-日期时间类
- C++第3周项目3——时间类
- C++第3周项目3——时间类
- C++第3周(春)项目3 时间类
- 第2周 项目3—时间类(1)
- 第2周 项目3—时间类(2)
- hbase安装配置(整合到hadoop)
- Socket的阻塞模式和非阻塞模式
- eclipse创建分支遇到的问题(初稿)
- Recover Binary Search Tree
- 《云端时代杀手级应用:大数据分析》扫描版[PDF]
- 2013级C++第3周【项目3 - 时间类】
- android 生成缩略图
- LA 4452 The Ministers' Major Mess(2-SAT)
- 1324:算法2-2:有序线性表的有序合并
- Windows 7安装CentOS6.5 双系统
- Grinder
- WPF: 把引用的dll移动到自定义路径
- Linux下找不到Android设备的解决方法
- Remove Element