第四周实验报告任务2

//mytime.h
class Time
{
public:
	void set_time( );   
	void show_time( );
    inline void add_a_sec();  //增加1秒钟  
    inline void add_a_minute(); //增加1分钟  
    inline void add_an_hour(); //增加1小时
	inline void add_n_sec(int );//增加n秒
	inline void add_n_minute(int );//增加n分
    inline void add_n_hour(int );//增加n小时
private: 
	bool is_time(int, int, int);
	int hour;
	int minute;
	int sec;
};
void Time::add_a_sec()  
{  
    if(sec==59)  
    {  
        sec=0;  
        add_a_minute();  
    }  
    else  
        sec++;  
}  
void Time::add_a_minute()  
{  
    if (minute==59)  
    {          
        minute=0;  
        add_an_hour();  
    }  
    else  
        minute++;  
}  
void Time::add_an_hour()  
{  
    if(hour==23)  
    {  
        hour=0;  
    }  
    else  
        hour++;  
}  
void Time::add_n_sec(int n)
{
	if(sec+n>60)
	{
		sec=(sec+n)%60;
		add_n_minute(n/60);
	}
	else
		sec=sec+n;
}
void Time::add_n_minute(int n)
{
	
	if(minute+n>60)
	{
		minute=(minute+n)%60;
        add_n_hour(n/60);
	}
	else
		minute=minute+n;
}
void Time::add_n_hour(int n)
{
	
	if(hour+n>23)
	{
		hour=(hour+n)%24;
	}
	else
		hour=hour+n;
}
//main.cpp
#include <iostream>
#include "mytime.h"
using namespace std;
int main( )
{   
	Time t1;  
	Time &t2=t1;
	t1.set_time(); 
	t2.show_time();
	t1.add_a_sec();  
    cout<<"增加一秒后为:";  
    t2.show_time();  
    t1.add_a_minute();  
    cout<<"增加一分后为:";  
    t2.show_time();  
    t1.add_an_hour();  
    cout<<"增加一小时后为:";  
    t2.show_time();
	cout<<"增加240秒后是:";
	t1.add_n_sec(240);
	t2.show_time();
	cout<<"增加5分钟后是:";
	t1.add_n_minute(5);
	t2.show_time();
	cout<<"增加3小时候是:";
	t1.add_n_hour(3);
    t2.show_time();
	system("PAUSE");
	return 0;
}
//mytime.cpp
#include <iostream>
#include "mytime.h"
using namespace std;
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;
}


上机感言:刚开始无论如何也调不出来,也找不出到底哪错。。后来看了贺老师的博客才知道那几个内置函数不能和其他的成员函数写在一起,为了这个问题又看了看课本,对内置函数的概念的理解也深了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值