C++第二次实验

来源:互联网 发布:s7200梯形图编程实例 编辑:程序博客网 时间:2024/06/05 22:52
/*   *文件名称:Ex1-3.cpp     *作者:邓利超     *完成日期:2016年3月30日     *对任务及求解方法的描述部分:     *输入描述:无     *问题描述:1.根据要求增加类的功能 *程序输出:按要求写出程序  *问题分析:略     *算法分析:略    */     #include <iostream>using namespace std;class Time{public:    void set_time( );    void show_time( );    void add_secend_minute_hour();    void add_a_secend()    {        int q,w,e;        q=secend+1;        if(q<=59)            q=q;        else if(q=60)        {            q=0;            w=minute+1;            if(w<60)                w=w;            else if(w=60)            {                w=0;                e=1+hour;                {                    if(e<24)                        e=e;                    else if(e>=24)                    {                        e=0;                    }                }            }        }        cout<<"增加一秒后的时间为:"<<e<<":"<<w<<":"<<q<<endl;    }    void add_a_minute()    {        int r,t,y;        r=minute+1;        if(r<=59)            r=r;        else if(r=60)        {            r=0;            t=hour+1;            if(t<24)                t=t;            else if(t>=24)            {                t=0;            }            y=secend;        }        cout<<"增加一分后的时间为:"<<t<<":"<<r<<":"<<y<<endl;    }    void add_a_hour()    {        int sd,df,fg;        sd=hour+1;        if(sd<=23)            sd=sd;        else if(sd=24)        {            sd=0;        }        df=minute;        fg=secend;        cout<<"增加一小时后的时间为:"<<sd<<":"<<df<<":"<<fg<<endl;    }    void add_secend(int);    void add_minute(int);    void add_hour(int);private:    bool is_time(int, int, int);   //这个成员函数设置为私有的,是合适的,请品味    int hour;    int minute;    int secend;};void Time::set_time( ){    char c1,c2;    cout<<"请输入时间(格式hh:mm:ss)"<<endl;    while(1)    {        cin>>hour>>c1>>minute>>c2>>secend;        if(c1!=':'||c2!=':')            cout<<"格式不正确,请重新输入"<<endl;        else if (!is_time(hour,minute,secend))            cout<<"时间非法,请重新输入"<<endl;        else            break;    }}void Time::show_time( ){    cout<<hour<<":"<<minute<<":"<<secend<<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_secend(int s){    int n;    secend=secend+s;    if(secend>=60)    {        n=secend/60;        secend=secend%60;        Time::add_minute(n);    }}void Time::add_minute(int m){    int n;    minute=minute+m;    if(minute>=60)    {        n=minute/60;        minute=minute%60;        Time::add_hour(n);    }}void Time::add_hour(int h){    int n;    hour=hour+h;    if(hour>=24)    {        hour=hour%24;    }    cout<<"改变后的时间为:"<<hour<<":"<<minute<<":"<<secend<<endl;}int main( ){    Time t1;    t1.set_time( );    cout<<"现在的时间为:";    t1.show_time( );    int x;    do    {        cout<<"请选择执行程序"<<endl;        cout<<"1.时分秒各增加一个单位"<<endl;        cout<<"2.时分秒各增加任意个单位"<<endl;        cout<<"输入任意非1和2的数退出程序"<<endl;        cin>>x;        if(x==1)        {            t1.add_a_secend();            t1.add_a_minute();            t1.add_a_hour();        }        else if(x==2)        {            int s,m,h;            cout<<"请输入增加时间数:"<<endl;            cout<<"小时:";            cin>>h;            cout<<"分钟:";            cin>>m;            cout<<"秒:";            cin>>s;            t1.add_secend(s);            t1.add_minute(m);            t1.add_hour(h);        }    }    while((x!=1)||(x!=2));    return 0;}

0 0
原创粉丝点击