时间类

来源:互联网 发布:centos yum 源更新 编辑:程序博客网 时间:2024/05/13 08:38
/**Corpyright (c)2013,烟台大学计算机学院*All right reseved.*作者:z张梦佳*完成日期:2014年4月1日*版本号:v1.0*输入描述:*问题描述:时间类!*程序输出:*问题分析:*算法设计:*/#include <iostream>using namespace std;class Time{public:    Time(int a=0,int b=0,int c=0){    hour=a;    minute=b;    sec=c;}void show_time( ); //根据is_24和from0,输出适合形式-20:23:5/8:23:5 pm/08:23:05 pmvoid add_seconds(int); //增加n秒钟void add_minutes(int); //增加n分钟void add_hours(int); //增加n小时void change24();  //改变静态成员is_24,在12和24时制之间转换void changefrom0();   //改变静态成员from0,切换是否前导0 private:    bool is_24; //为true时,24小时制,如20:23:5;为flase,12小时制,显示为8:23:5 pm    bool from0; //为true时,前导0,8:23:5显示为08:23:05int hour;int minute;int sec;};//下面写出静态成员的初始化及各成员函数的定义……void Time::show_time( ){    if(is_24==true&&from0==true)    {        if(hour<10)            cout<<"0"<<hour<<":";        else            cout<<hour<<":";        if(minute<10)            cout<<"0"<<minute<<":";        else            cout<<minute<<":";        if(sec<10)            cout<<"0"<<sec<<endl;        else            cout<<sec<<endl;    }    else if(is_24==false&&from0==true)    {        if(hour>12)        {            if(hour<22)                cout<<"0"<<hour-12<<":";            else                cout<<hour-12<<":";        }        else        {            if(hour<10)                cout<<"0"<<hour<<":";            else                cout<<hour<<":";        }        if(minute<10)            cout<<"0"<<minute<<":";        else            cout<<minute<<":";        if(sec<10)            cout<<"0"<<sec<<" pm"<<endl;        else            cout<<sec<<" pm"<<endl;    }    else if(is_24==true&&from0==false)    {        cout<<hour<<minute<<sec<<endl;    }    else    {        if(hour>12)            cout<<hour-12<<minute<<sec<<endl;        else            cout<<hour<<minute<<sec<<endl;    }}void Time::add_seconds(int s){    double s1,s2;    sec=sec+s;    s1=sec/60-1;    sec=sec%60;    minute=minute+s1;    s2=minute/60;    minute=minute%60-1;    hour=hour+s2;    hour=hour%24;    show_time( );}void Time::add_minutes(int s1){    cout<<"请输入要增加的分钟数!"<<endl;    double s2;    minute=minute+s1;    s2=minute/60;    minute=minute%60-1;    hour=hour+s2;    hour=hour%24;    show_time( );}void Time::add_hours(int s2){    hour=hour+s2;    hour=hour%24;    show_time( );}void Time::change24(){    int a;    cout<<"1.  24小时制,如20:23:5;2. 12小时制,显示为8:23:5 pm !"<<endl;    cin>>a;    if(a==1)        is_24=true;    else if(a==2)        is_24=false;    else        cout<<"输入错误!"<<endl;}void Time::changefrom0(){    int a;    cout<<"1. 前导0,8:23:5显示为08:23:05 ! 2.  不到;不到零!"<<endl;    cin>>a;    if(a==1)        is_24=true;    else if(a==2)        is_24=false;    else        cout<<"输入错误!"<<endl;}int main (){    int s1,s2,s3;    Time t1;    t1.changefrom0();    t1.change24();    cout<<"请输入要增加的秒数!"<<endl;    cin>>s1;    t1.add_seconds(s1);    cout<<"请输入要增加的分钟数!"<<endl;    cin>>s2;    t1.add_minutes(s2);    cout<<"请输入要增加的小时数!"<<endl;    cin>>s3;    t1.add_hours(s3);    return 0;}



感悟

贺老师

static去掉才管用!

0 0
原创粉丝点击