编程小练习
来源:互联网 发布:js让一个div显示 编辑:程序博客网 时间:2024/05/17 09:08
- *Copyright(c) 2016.烟台大学计算机与控制工程学院
- *ALL rights reserved.
- *文件名称:test.cpp
- *作者:李落才
- *完成日期:2016年4月11日
- *问题描述:设计含有静态数据成员和成员函数的time类。
- *程序输出:time的不同表示方法以及加n小时,n分钟,n秒后的时间
- */
- #include <iostream>
- using namespace std;
- class Time
- {
- public:
- Time(int=0,int=0,int=0);
- void show_time( ); //根据is_24和from0,输出适合形式的时间:23:5/8:23:5 pm/08:23:05 pm
- void add_seconds(int); //增加n秒钟
- void add_minutes(int); //增加n分钟
- void add_hours(int); //增加n小时
- static void change24(); //改变静态成员is_24,在和时制之间转换
- static void changefrom0(); //改变静态成员from0,转换是否前导
- private:
- static bool is_24; //为true时,小时制,如:23:5;为flase,小时制,显示为:23:5 pm
- static bool from0; //为true时,前导,:23:5显示为:23:05
- 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::show_time( )
- {
- int h=(is_24)?hour:hour%12;
- //if(is_24)
- // h=hour;
- //else
- // h=hour%12;
- if (h<10&&from0) cout<<'0';
- cout<<h<<':';
- if(minute<10&&from0) cout<<'0';
- cout<<minute<<':';
- if(sec<10&&from0) cout<<'0';
- cout<<sec;
- if(!is_24)
- cout<<((hour>12)? " pm":" am");
- //if (hour>12)
- // cout<<" pm";
- //else
- // cout<<" am";
- cout<<endl;
- }
- void Time::add_seconds(int n) //增加n秒钟
- {
- sec+=n;
- if (sec>59)
- {
- add_minutes(sec/60);
- sec%=60;
- }
- }
- void Time::add_minutes(int n) //增加n分钟
- {
- minute+=n;
- if (minute>59)
- {
- add_hours(minute/60);
- minute%=60;
- }
- }
- void Time::add_hours(int n) //增加n小时
- {
- hour+=n;
- if (hour>23)
- hour%=24;
- }
- void Time::change24()
- {
- is_24=!is_24;
- }
- void Time::changefrom0()
- {
- from0=!from0;
- }
- int main( )
- {
- Time t1(23,14,25),t2(8,45,6);
- cout<<"24时制, 不前导:"<<endl;
- cout<<" t1是:";
- t1.show_time();
- cout<<" t2是:";
- t2.show_time();
- t1.add_hours(10);
- t2.add_hours(10);
- Time::changefrom0(); //注意此处调用静态成员
- cout<<"10小时后, 切换是否前导:"<<endl;
- cout<<" t1是:";
- t1.show_time();
- cout<<" t2是:";
- t2.show_time();
- t1.change24();
- cout<<"换一种制式:"<<endl;
- cout<<" t1是:";
- t1.show_time();
- cout<<" t2是:";
- t2.show_time();
- return 0;
- }
0 0
- 编程练习小程序
- 编程小练习
- 编程小练习(1)
- 编程小练习(2)
- 编程小练习(3)
- 编程小练习(4)
- 编程小练习(5)
- 编程小练习(6)
- VB编程小练习
- 编程小练习
- 编程小练习2
- 编程小练习3
- 编程小练习4
- 编程小练习5
- 编程小练习6
- 编程小练习6
- 编程小练习7
- 编程小练习8
- 贪吃蛇
- 原型模式
- Eclipse开发前,常用设置
- 如何在Windows下,python3.5.1下安装BeautifuSoup。
- 循环神经网络The Unreasonable Effectiveness of Recurrent Neural Networks
- 编程小练习
- picker View控件使用
- 广东工业大学2016校赛决赛Problem BSward Art Online(分组背包)
- iOS AFN 做缓存(如何简单的做缓存)
- Centos 7 密码破解
- ROC曲线-阈值评价标准
- Tomcat清除缓存
- 打破ImageNet中的线性分类器Breaking Linear Classifiers on ImageNet
- 编程小练习