第七周上机任务项目1-静态成员应用
2013-04-12 16:47
417 查看
01./* 02.* 程序的版权和版本声明部分 03.* Copyright (c)2013, 烟台大学计算机学院学生 04.* All rightsreserved. 05.* 文件名称:time .cpp 06.* 作 者:赵冠哲 07.* 完成日期:2013年4月12日 08.* 版本号: v1.0 09.* 输入描述: 10.* 问题描述: 11.*/ #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); //增加n秒钟 void add_minutes(int); //增加n分钟 void add_hours(int); //增加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; }; Time::Time(int h,int m,int s) { hour=h,minute=m,sec=s; } bool Time::is_24=true; bool Time::from0=false; void Time::show_time() { if(is_24) { if(from0) { cout <<(hour<10?"0":"")<<hour<<':'<<(minute<10?"0":"")<<minute<<':'<<(sec<10?"0":"")<<sec<< endl; } else { cout<<hour<<":"<<minute<<":"<<sec<<endl; } } else { if(from0) { cout<<(hour<10||(hour-12>=0&&hour-12<10)?"0":"")<<(hour>12?hour-12:hour)<<':'<<(minute<10?"0":"")<<minute<<':'<<(sec<10?"0":"")<<sec<<' '<<(hour>11?"pm":"am")<<endl; } else { cout <<(hour>12?hour-12:hour)<<':'<<minute<<':'<<sec<<' '<<(hour>11?"pm":"am")<<endl; } } } void Time::add_seconds(int s) { s=s+sec; sec=s%60; add_minutes(s/60); } void Time::add_minutes(int m) { m=m+minute; minute=m&60; add_hours(m/60); } void Time::add_hours(int h) { h=hour+h; hour=h%24; } void Time::change24() { is_24=!is_24; if(is_24)cout<<"已经切换24小时制"<<endl; else cout<<"已经切换12小时制"<<endl; } void Time::changefrom0() { from0=!from0; if(from0) cout<<"已经切换前导0输出"<<endl; else cout<<"已经切换未前导0输出"<<endl; } int main() { Time t1(23,44,42),t2(4,45,9); cout<<"24小时制,不前导0"<<endl; cout<<" t1是"; t1.show_time(); cout<<" t2是"; t2.show_time(); t1.add_hours(10); t2.add_hours(10); Time::changefrom0(); cout<<"10小时后,切换前导0"<<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; }
运行结果:
相关文章推荐
- 2013第七周上机任务【项目1-静态成员应用时间类】
- 第七周上机任务 静态成员应用
- c++第七周任务-静态成员应用
- 第七周项目一----静态成员的应用
- 第六周上机项目4-静态成员应用
- 第六周上机实践项目——项目4-静态成员的应用
- 第七周上机任务项目2-成员函数、友元函数和一般函数的区别
- 第五轴上机项目4静态成员应用
- 第六周上机实践项目-项目4-静态成员应用
- 第五周上机实践项目4——静态成员应用
- 第五周上机实践项目4-静态成员应用
- 第五周上机项目4 静态成员应用
- 第七周项目1:静态成员应用
- 第六周上机实践项目 项目4- 静态成员应用
- 第七周项目1-静态成员应用
- 第七周 项目一 静态成员应用
- 第七周--项目1-静态成员应用
- 第七周上机任务1--构建含有静态数据成员和成员函数的Time 类
- 第七周 项目一:静态成员应用
- 第七周项目一——静态成员应用