时间类

来源:互联网 发布:南风知我意七微书包网1 编辑:程序博客网 时间:2024/06/15 18:36
/** 程序的版权和版本声明部分* Copyright (c)2013, 烟台大学生命科学学院学生* All rightsreserved.* 文件名称:Time.cpp* 作    者:TGQ* 完成日期:2014年6月11日* 版 本 号: v1.0* 输入描述:时间(时、分、秒)。* 问题描述:将成员函数在类内定义(内置成员函数)增加成员函数  实现对应功能。  解决问题:实现对输入时间的简单计算*/#include <iostream>using namespace std;class Time{public:void set_time();void show_time();inline void add_a_sec();                // 增加1秒钟inline void add_a_minute();             // 增加1分钟inline void add_an_hour();              // 增加1小时void add_sec(int);                      // 增加n秒钟void add_minute(int);                   // 增加n分钟void add_hour(int);                     // 增加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;}inline void Time::add_a_sec(){++sec;if (sec > 59){sec = 0;add_a_minute();}}inline void Time::add_a_minute(){    ++minute;    if (minute > 59)    {        minute = 0;        add_an_hour();    }}inline void Time::add_an_hour(){    ++hour;    if (hour > 23)        hour = 0;}void Time::add_sec(int n){    sec += n;    if (sec > 59)    {        add_minute(sec / 60);        sec = sec % 60;    }}void Time::add_minute(int n){    minute += n;    if (minute > 59)    {        add_hour(minute / 60);        minute = minute % 60;    }}void Time::add_hour(int n){    hour += n;    if (hour > 23)        hour = hour % 24;}int main(){    Time t1;    Time &t2=t1;    t1.set_time( );    cout<<"现在时间是:";    t2.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_sec(40);                         // 增加40秒钟    cout<<"增加40秒钟后:";    t1.show_time( );    t1.add_minute(127);                     // 增加127分钟    cout<<"增加127分钟后:";    t1.show_time( );    t1.add_hour(8);                         // 增加8小时    cout<<"增加8小时后:";    t1.show_time( );    return 0;}

以后还得改进,如增加月份和年份,得考虑各个月份和闰年

0 0
原创粉丝点击