c++第三次实验-1

来源:互联网 发布:mpp文件打开软件 编辑:程序博客网 时间:2024/05/18 16:36

一、问题及代码

/** 文件名称: 静态成员应用* 作    者:* 完成日期:    2016  年  4   月  11  日* 版 本 号:v1.0* 对任务及求解方法的描述部分:略* 输入描述: 无* 问题描述: 设计含有静态数据成员和成员函数的Time类。            静态数据成员是类中所有的对象共有的数据,            在下面的设计中,时钟要采用12小时制,还是要使用24小时制            ,显示时,不足两位的数字前是否前导0,都是“影响全局”的设置,适合作为类中的静态数据成员* 程序输出:  略* 问题分析: 无* 算法设计: 无*/#include<iostream>using namespace std;class Time{public:    Time(int=0,int=0,int=0);    void show_time(); //根据is_24和from0,输出适合形式-20:23:5/8:23:5 pm/08:23:05 pm    void add_seconds(int s); //增加n秒钟    void add_minutes(int m); //增加n分钟    void add_hours(int h); //增加n小时    static void change24();  //改变静态成员is_24,在12和24时制之间转换    static void changefrom0();   //改变静态成员from0,切换是否前导0 private:    static bool is_24; //为true时,24小时制,如20:23:5;为flase,12小时制,显示为8:23:5 pm    static bool from0; //为true时,前导0,8:23:5显示为08:23:05    int hour;    int minute;    int sec;};bool Time::is_24=1;bool Time::from0=1;Time::Time(int h,int m,int s){    hour=h;    minute=m;    sec=s;}void Time::add_seconds(int s){    sec+=s;    if(sec>=60)    {        minute+=sec/60;        sec%=60;        if(minute>=60)        {            hour+=minute/60;            minute%=60;            if(hour>=24)            {                hour=hour%24;            }        }    }}void Time::add_minutes(int m){    minute+=m;    if(minute>=60)    {        hour+=minute/60;        minute%=60;        if(hour>=24)        {            hour=hour%24;        }    }}void Time::add_hours(int h){    hour+=h;    if(hour>=24)    {        hour=hour%24;    }}void Time::change24(){    is_24=!is_24;}void Time::changefrom0(){    from0=!from0;}void Time::show_time(){    int h=hour;    if(is_24)    {        if(from0)        {            if(hour<10)            {                cout<<"0";            }            cout<<hour<<":";            if(minute<10)            {                cout<<"0";            }            cout<<minute<<":";            if(sec<10)            {                cout<<"0";            }            cout<<sec;            cout<<endl;        }    }    if(!is_24)    {        if(from0)        {            if(hour>12)            {                hour-=12;            }            if(hour<10)            {                cout<<"0";            }            cout<<hour<<":";            if(minute<10)            {                cout<<"0";            }            cout<<minute<<":";            if(sec<10)            {                cout<<"0";            }            cout<<sec;        }        cout<<endl;    }    if(is_24)    {        if(!from0)        {            cout<<hour<<":"<<minute<<":"<<sec<<endl;        }    }    if(!is_24)    {        if(!from0)        {            if(hour>12)            {                hour-=12;            }            cout<<hour<<":"<<minute<<":"<<sec<<endl;        }    }    if(!is_24)    {        if(h<12)           cout<<"am";        else            cout<<"pm";    }}int main(){    Time t1(23,14,25);    Time t2(8,45,6);    cout<<"24小时制,不前导:"<<endl;    t1.changefrom0();    t1.show_time();    t2.show_time();    cout<<"十小时后切换是否前导:"<<endl;    t1.changefrom0();    t1.add_hours(10);    t2.add_hours(10);    t1.show_time();    t2.show_time();    cout<<"换一种制式:"<<endl;    t1.change24();    t1.show_time();    cout<<endl;    t2.show_time();    return 0;}


二、运行结果:


三、心得体会:

本次的实验中懂得了静态变量的使用方法,还懂得了bool型变量的初定义,还使我

有了一些新的编程感受,收获很大。

四、知识点总结:

要充分理解静态变量的使用及本质,静态变量是 “一改全改”,要注意。

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 邮政储蓄银行买东西多扣钱了怎么办 快递送错地方了怎么办 菜鸟驿站超过5天怎么办 消费者买到不合格产品怎么办 如果买到不合格的产品怎么办 买到不合格的种子怎么办 买到不合格的空调怎么办 买到不合格的家具怎么办 灭火器买到不合格产品怎么办 路边买到假手机怎么办 网上买的手机屏幕碎了怎么办 天猫订单删除了怎么办 华为入职预约满怎么办 三星c5玩王者荣耀卡怎么办 三星s8背部碎了怎么办 保修期内发动机坏了怎么办 6s主板进水了怎么办 新买的狗晚上叫怎么办 官网手机坏了怎么办 小米商城买手机不发货怎么办 小米商城分期额度不够怎么办 京东买家未退款怎么办 京东自营不退款怎么办 苏宁易购的无门槛15元怎么办 小米5shome键失灵怎么办 苹果电量用的快怎么办 苹果5s掉电快怎么办 小米5s返回键失灵怎么办 苹果5s漏电是怎么办 苹果6s手机漏电怎么办 5s返回键失灵怎么办 苹果5s返回键失灵怎么办 小米5返回键失灵怎么办 小米手机返回键失灵怎么办 萍果6splus关机键失灵怎么办 苹果5s很快没电怎么办 天猫分期付款没有花呗怎么办 淘宝花呗分期额度不够怎么办 支付宝余额支付超限怎么办 想分期花呗不够怎么办 来分期提现不了怎么办