现在的位置: 首页 > 综合 > 正文

2013第三周上机任务【项目一 时间类】

2013年06月25日 ⁄ 综合 ⁄ 共 1105字 ⁄ 字号 评论关闭
/* 
* Copyright (c) 2013, 烟台大学计算机学院                     
* All rights reserved.                     
* 文件名称:test.cpp                     
* 作者:樊露露                    
* 完成日期:2013 年 3 月 16 日                     
* 版本号:v1.0                   
*                     
* 输入描述:无                     
* 问题描述:                  
* 程序输出:
* 问题分析:                    
* 算法设计:略                     
*/         
#include <iostream>
using namespace std;
class Time{
	public:
		void set_time();
		void show_time();
		inline void add_a_sec();//增加1秒钟
		inline void add_a_minute();//增加1分钟
		inline void add_a_hour();//增加1小时
	private:
		bool is_time(int ,int ,int );
		int hour;
		int minute;
		int sec;
};
inline void Time::add_a_sec(){
	sec+=1;
	if(sec>59){
		sec=0;
		add_a_minute();
	}
    return;
}
inline void Time::add_a_minute(){
	minute+=1;
	if(minute>59){
		minute=0;
		add_a_hour();
	}
	return;
}
inline void Time::add_a_hour(){
	hour+=1;
	if(hour>23)
		hour=0;
	return;
}
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;
	else
		return true;
}
int main(){
	Time t1;
	Time &t2=t1;
	t1.set_time();
	cout<<"增加1小时1分钟1秒后"<<endl;
	t1.add_a_sec();
	t1.add_a_minute();
	t1.add_a_hour();
	t2.show_time();
	return 0;
}

抱歉!评论已关闭.