第二周 项目3-时间类(2)

来源:互联网 发布:三菱plc模拟量编程 编辑:程序博客网 时间:2024/05/22 14:22
/*  * Copyright (c) 2014, 烟台大学计算机学院  * All rights reserved.  * 文件名称:test.cpp  * 作    者:呼亚萍  * 完成日期:2015年 3月 18日  * 版 本 号:v1.0  *  * 问题描述:阅读、运行程序后,按要求扩充类的功能 * 程序输入:相应的程序 * 程序输出:在原类基础上,在类内增加成员函数 */#include <iostream>using namespace std;class Time{public:    void set_time();    void show_time();    void add_a_sec();    void add_a_minute();    void add_a_hour();    void add_seconds(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;}bool Time::is_time(int h,int m,int s){    if(h<0||h>24||m>60||m<0||s>60||s<0)        return false;    else        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_a_hour();    }}inline void Time::add_a_hour(){    hour++;    if(hour>23)    {        hour=0;    }}void Time::add_seconds(int n){    sec+=n;    if(sec>59)    {        add_minutes(sec/60);//位置不能与后一句调换,因为如果调换后,sec将取值取余后的sec        sec=sec%60;    }}void Time::add_minutes(int n){    minute+=n;    if(minute>59)    {        add_hours(minute/60);//位置不能与后一句调换,因为如果调换后,minute将取值取余后的minute        minute=minute%60;    }}void Time::add_hours(int n){    hour+=n;    if(hour>23)    {        hour=hour%24;    }}int main(){    Time t1;    t1.set_time();    cout<<"增加一秒后时间为:"<<endl;    t1.add_a_sec();    t1.show_time();    cout<<endl;    cout<<"增加一分钟后时间为:"<<endl;    t1.add_a_minute();    t1.show_time();    cout<<endl;    cout<<"增加一小时后时间为:"<<endl;    t1.add_a_hour();    t1.show_time();    cout<<endl;    cout<<"增加127秒后时间为:"<<endl;    t1.add_seconds(127);    t1.show_time();    cout<<endl;    cout<<"增加18分钟后时间为:"<<endl;    t1.add_minutes(18);    t1.show_time();    cout<<endl;    cout<<"增加25小时后时间为:"<<endl;    t1.add_hours(25);    t1.show_time();    cout<<endl;    return 0;}


运算结果:

知识点总结:

定义函数,类的应用于理解

学习心得:

多加练习,发现新问题!

0 0
原创粉丝点击