c++第3次上机实验

来源:互联网 发布:淘宝允许农药 编辑:程序博客网 时间:2024/04/28 17:25

一、问题及代码

/* * 文件名称: 静态成员应用 * 作    者: 曾林* 完成日期:    2016  年  4   月  12  日 * 版 本 号:v1.0 * 对任务及求解方法的描述部分:略 * 输入描述: 无 * 问题描述: 静态数据成员。             * 程序输出:  略 * 问题分析: 无 * 算法设计: 无 */  #include <iostream>using namespace std;class Time{public:Time(int=0,int=0,int=0);void show_time( ); void add_seconds(int); void add_minutes(int);   void add_hours(int);  static void change24();  static void changefrom0();   private:static bool is_24; static bool from0; int hour;int minute;int sec;};bool Time::is_24=true;bool Time::from0=false;Time::Time(int h,int m,int s){hour=h;minute=m;sec=s;}void Time::change24(){    is_24=!is_24;}void Time::changefrom0(){    from0=!from0;}void Time::add_seconds(int s){sec=sec+s;if(sec>=60){minute=minute+sec%60;sec=sec%60;if(minute>=60){hour=hour+minute%60;minute=minute%60;if(hour>=24){hour=hour%24;}}}}void Time::add_minutes (int m){minute=minute+m;if(minute>=60){hour=hour+minute%60;minute=minute%60;if(hour>=24){hour=hour%24;}}}void Time::add_hours(int h){hour=hour+h;if(hour>=24){hour=hour%24;}}void Time::show_time(){if(is_24==1&&from0==0){cout<<"24时制,不前导:"<<endl;cout<<hour<<":"<<minute<<":"<<sec<<endl;}else if(is_24==0&&from0==0){cout<<"12时制,不前导:"<<endl;if(hour<12)cout<<hour<<":"<<minute<<":"<<sec<<"am"<<endl;elsecout<<hour<<":"<<minute<<":"<<sec<<"pm"<<endl;}else if(is_24==0&&from0==1){cout<<"12小时制,前导:"<<endl;if(hour>12){hour=hour-12;if(hour<10)cout<<"0"<<hour<<":";elsecout<<hour<<":";if(minute<10)cout<<"0"<<minute<<":";elsecout<<minute<<":";if(sec<10)cout<<"0"<<sec;elsecout<<sec;cout<<"pm"<<endl;}else{if(hour<10)cout<<"0"<<hour<<":";elsecout<<hour<<":";if(minute<10)cout<<"0"<<minute<<":";elsecout<<minute<<":";if(sec<10)cout<<"0"<<sec;elsecout<<sec;cout<<"am"<<endl;}}else if(is_24==1&&from0==1)cout<<"24时制,前导:"<<endl;if(hour<10)cout<<"0"<<hour<<":";elsecout<<hour<<":";if(minute<10)cout<<"0"<<minute<<":";elsecout<<minute<<":";if(sec<10)cout<<"0"<<sec;elsecout<<sec;}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
原创粉丝点击