飛飛(三十五)时间类,时间表
2016-05-07 11:20
183 查看
/* *Copyright (c) 2016,烟台大学计算机学院 *All rights reserved. *文件名称:test.cpp *作 者:李飞 *完成日期:2016年 5月 6日 *版 本 号:1.0 * *问题描述:时间类,时间表 *输入描述:输入时间,时分秒都加一(不完善) *程序输出:输出加后的时间 */ #include <iostream> #include <cmath> using namespace std; class Time { public: void set_time(); void show_time(); void add_a_sec(int n); void add_a_minute(int n); void add_a_hour(int n); private: int hour; int minute; int sec; bool is_time(int , int, int ); }; 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::add_a_sec(int n) { sec+=n; if(sec>60) { minute+=sec/60; } sec=sec%60; } void Time::add_a_minute(int n) { minute+=n; if(minute>60) { hour+=minute/60; } minute=minute%60; } void Time::add_a_hour(int n) { hour+=n; } void Time::show_time() { cout<<hour<<":"<<minute<<":"<<sec<<endl; } bool Time::is_time(int h,int m,int n) { if(h<0||h>24||m<0||m>60||n<0||n>60) return false; else return true; } int main() { Time t1; t1.set_time(); t1.add_a_sec(1); t1.add_a_minute(1); t1.add_a_hour(1); t1.show_time(); return 0; } <img src="http://img.blog.csdn.net/20160507111955045?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
相关文章推荐
- 软件项目风险管理介绍
- websocket 与Socket.IO介绍
- Android手机出现"已安装了存在签名冲突的同名数据包"的原因及解决办法
- nyoj 541 最强DE 战斗力(数论)
- 多线程安全问题
- 为iPhone6设计自适应布局(二)
- tp框架那里
- JS计算字符串的长度
- 二叉树的线索化
- 人活着系列之芳姐和芳姐的猪(sdut_2929)
- 设计模式之策略模式(包含与简单工厂模式的区别,实现了超市结账系统)
- hdu2084 数塔 (DP)
- uri中为什么本地文件file后面跟三个斜杠, http等协议跟两个斜杠?
- java I/O (二)——对象序列化
- Unity3D 场景平移、缩放
- 面向项目(五)—— #pragma
- 实习面经--腾讯 后台开发 v1
- Mysql中约束详解
- TCP对SACK的处理以及乱序的处理细节
- 设计模式之策略模式(包含与简单工厂模式的区别,实现了超市结账系统)