第二周项目三 时间类
来源:互联网 发布:凯通杯java模拟题 编辑:程序博客网 时间:2024/05/29 11:44
问题及代码:
/** Copyright (c) 2014, 烟台大学计算机学院* All rights reserved.* 文件名称:test.cpp* 作 者:宋健* 版 本 号:v1.0* 日 期:3月18日* 问题描述:通过改变时间对象改变作用* 输入描述:* 程序输出:*/#include <iostream>using namespace std;class Time{public: void set_time(); void show_time( ); void add_a_sec() { sec=sec+1; if (sec>=60) { add_a_minute(); sec=0; } } void add_a_minute() { ++minute; if(minute>=60) { add_an_hour(); minute=0; } } void add_an_hour() { hour=hour+1; if(hour>=24) hour=hour-24; } void add_seconds(int); void add_minutes(int); void add_hours(int);private: bool is_time(int, int, int); //这个成员函数设置为私有的,是合适的,请品味 int hour; int minute; int sec; int n;};void Time::add_seconds(int n){ sec=sec+n; if(sec>=60) { add_minutes(sec/60); sec=(sec+60)%60; }}void Time::add_minutes(int n){ minute=minute+n; if(minute>=60) { add_hours(minute/60); minute=(minute+60)%60; }}void Time::add_hours(int n){ hour=hour+n; if(hour>=24) { hour=hour%24; }}void Time::set_time( ){ char c1,c2; cout<<"请输入时间(格式hh:mm:ss)"; while(1) { cin>>hour>>c1>>minute>>c2>>sec; if(c1!=':'||c2!=':') cout<<"格式不正确,请重新输入"<<endl; else if (!is_time(hour,minute,sec)) cout<<"时间非法,请重新输入"<<endl; else break; }}void Time::show_time( ){ cout<<hour<<":"<<minute<<":"<<sec<<endl;}bool Time::is_time(int h,int m, int s){ if (h<0 ||h>24 || m<0 ||m>60 || s<0 ||s>60) return false; return true;}int main( ){int n; Time t1; t1.set_time( ); t1.show_time( ); t1.add_a_sec(); cout<<"增加1s后的时间为:"; t1.show_time(); t1.add_a_minute(); cout<<"增加1min后的时间为:"; t1.show_time(); t1.add_an_hour(); cout<<"增加1hour后的时间为:"; t1.show_time(); cout<<"请输入增加的时间N:"; cin>>n; t1.add_seconds(n); cout<<"增加n s后的时间为:"; t1.show_time(); t1.add_minutes(n); cout<<"增加n min后的时间为:"; t1.show_time(); t1.add_hours(n); cout<<"增加n h后的时间为:"; t1.show_time(); return 0;}
运行结果:
知识点总结:
要看清楚题目要求啊,细心,自己想想解决问题中需要注意的细节,还有别把问题想的太麻烦
0 0
- 第二周项目三 时间类
- 第二周项目三:时间类
- 第二周项目三 时间类
- 第二周 项目三 时间类(1)
- 第二周 项目三 时间类
- 第二周项目三 时间类
- 第二周 项目三 时间类(一)
- 第二周 项目三-时间类(二)
- 第二周 项目三--时间类(最初程序)
- 2015年第二周项目三:时间类
- 2015年第二周项目三(2):时间类
- 第二周项目三 时间类(增加时分秒)
- 第二周项目三时间类(1)
- 第二周项目三时间类(2)
- 15第二周项目三——时间类
- 第二周项目三 时间类(1)
- 第二周项目三——时间类(1)
- 第二周项目三——时间类(2)
- ShaderToy
- C语言优先级列表
- thinkphp增删改查范例
- Jquery-easyui的默认图标的使用,以及如何添加自己想要的图标
- android 开发笔记(1)
- 第二周项目三 时间类
- 第二周 阅读程序 (3)
- 第一周项目4:图书馆的书
- 膇莀薁蚅腿蒆莈羇肂聿薆螆
- 肂芆莅薆螂聿芁薅袄芄膇薄
- Android中Logcat日志信息过滤技巧
- 蒂蚃聿膁蒈螂罿膄薃羁芁肆
- 薅蚄羅肁莈薀羄芃薃罿羃莅
- css background-image 自适应宽高