第五周项目(2)-时间类(1)【典型错误的更正】

来源:互联网 发布:小燕子和知画同时生产 编辑:程序博客网 时间:2024/06/05 00:31


/*
*copyright (c) 2016,烟台大学计算机学院
*All rights reserved.
*文件名称:hellow.cpp
*作者:田甜
*完成日期:2016年3月31日
*版本号:v1.0
*
*问题描述:构造时间类

*输入描述:输入时分秒并使其分别+1,注意23:59:59
*程序输出:变化后的时间
*/

问题及代码:

#include <iostream>using namespace std;class Time{public:    void set_time();    void show_time();    void add_a_sec()    {        if(isTime(sec,minute,hour))        sec++;        if(sec>=60)        {            sec=0;            minute++;        }    }    void add_a_min()    {       if(isTime(sec,minute,hour))        minute++;        if(minute>=60)        {            minute=0;            hour++;        }    }    void add_a_hour()    {        if(isTime(sec,minute,hour))        hour++;        if(hour>=24)            hour=0;    }private:    bool isTime(int a,int b,int c);    int sec,minute,hour;};bool Time::isTime(int a,int b,int c)    {        if(a<0||a>=60||b<0||b>=60||c<0||c>=60)            return false;        return true;    }void Time::set_time(){    char c1,c2;    cout<<"请输入时间(格式:hh:mm:ss):";    while(1)    {        cin>>hour>>c1>>minute>>c2>>sec;        if(c1!=':'||c2!=':')            cout<<"格式错误,重新输入。"<<endl;        if(!isTime(hour,minute,sec))            cout<<"时间非法,重新输入。"<<endl;        else break;    }}void Time::show_time(){    cout<<hour<<":"<<minute<<":"<<sec<<endl;}int main(){    Time t1;    t1.set_time();    t1.add_a_sec();    t1.add_a_min();    t1.add_a_hour();    t1.show_time();    return 0;}

运行结果:


0 0
原创粉丝点击