项目4--静态成员应用 时间
来源:互联网 发布:mac重命名文件夹快捷键 编辑:程序博客网 时间:2024/05/04 04:48
/**程序的版权和版本声明部分:*Copyright(c)2013,烟台大学计算机学院学生*All rights reserved.*文件名称:*作者:尚振伟*完成日期:2014年4月3日*版本号:v0.1*对任务及求解方法的描述部分:*输入描述:无*问题描述:*程序输入:*程序输出:*问题分析:*算法设计:*我的程序:*/#include <iostream>using namespace std;class Time{public: Time(int=0,int=0,int=0); bool is_time1(int,int,int); void set_time(); 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,切换是否前导0private: 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=true;bool Time::from0=false;Time::Time(int h,int m,int s){ hour=h; minute=m; sec=s;}void Time::add_seconds(int a){ sec+=a; while(sec>=60) { sec-=60; minute+=1; } while(minute>=60) { minute-=60; hour+=1; } while(hour>=24) { hour-=24; }}void Time::add_minutes(int a){ minute+=a; while(minute>=60) { minute-=60; hour+=1; } while(hour>=24) { hour-=24; }}void Time::add_hours(int a){ hour+=a; while(hour>=24) { hour-=24; }}void Time::show_time(){ int h; 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) { if (hour>12) cout<<" pm"; else cout<<" am"; } cout<<endl;}void Time::set_time(){ char c1,c2; cout<<"请输入时间(格式为时:分:秒):"<<endl; while(1) { cin>>hour>>c1>>minute>>c2>>sec; if(c1!=':'||c2!=':') cout<<"格式不正确,请重新输入:"<<endl; else if(!is_time1(hour,minute,sec)) cout<<"时间错误,请重新输入:"<<endl; else break; }}bool Time::is_time1(int h,int m,int s){ if(h<0||h>24||m<0||m>60||s<0||s>60) return false; else return true;}void Time::change24(){ is_24=!is_24;}void Time::changefrom0(){ from0=!from0;}int main( ){ Time t; int n,a,m; t.set_time(); cout<<"1 增加秒 2 增加分钟"<<endl; cout<<"3 增加小时"<<endl; cout<<"请输入你的选择:"; cin>>n; switch(n) { case 1: cout<<"请输入你要增加的秒数:"; cin>>a; t.add_seconds(a); break; case 2: cout<<"请输入你要增加的分钟数:"; cin>>a; t.add_minutes(a); break; case 3: cout<<"请输入你要增加的小时数:"; cin>>a; t.add_hours(a); break; case 0: cout<<"欢迎使用:"<<endl; break; default: cout<<"输入有误:"<<endl; break; } Time::changefrom0(); while(1) { cout<<"1 24时制, 不前导 2 12时制, 前导"<<endl; cout<<"3 12时制, 不前导 4 退出"<<endl; cout<<"请输入你的选择:"; cin>>m; while(m==4) { return 0; } switch(m) { case 1: t.changefrom0(); t.show_time(); break; case 2: t.changefrom0(); t.change24(); t.show_time(); break; case 3: t.changefrom0(); t.show_time(); break; default: break; } } return 0;}
结果展示:
心得体会:现在就一个感觉--------晕。
0 0
- 项目4--静态成员应用 时间
- 项目4-静态成员应用
- 静态成员应用 -时间
- 第7周项目一-静态成员应用 时间类
- 第六周项目四静态成员应用 时间
- 第六周项目四静态成员应用(时间类)
- 第六周 项目4 静态成员应用
- 六周 项目4 静态成员应用
- 第六周-项目4-静态成员应用
- 第五周项目4 静态成员应用
- 第五周 【项目4-静态成员应用】
- 第五周项目4-静态成员应用
- 第五周项目4-静态成员应用
- 第五周 项目4-静态成员应用
- 第五周项目4-静态成员应用
- 第五周 【项目4-静态成员应用】
- 第四周项目 4 静态成员应用
- 第五周项目4:静态成员应用
- VC数字图像处理编程(转载)
- 实模式与保护模式
- nyoj-680(摘枇杷) 贪心 + 二分
- Android App接入微信开放平台注意事项
- 结构体大小的判断
- 项目4--静态成员应用 时间
- 项目驱动—基于STM32处理器的多功能MP3播放器 项目准备开始
- 【SwipeRefreshLayout】Google官方下拉刷新组件
- 网络安全测试内容
- 超市购物管理系统
- PHP学习笔记之array_intersect_key() 函数使用
- 内存分析
- 浙大PAT 7-05. 魔法优惠券 (解题思路)
- 【转】mysql 性能优化方案