第四周 任务二

原创 2012年03月21日 20:26:22

/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称:    多文件运行程序                          * 作    者:   杨森                          * 完成日期:    2012     年   3    月    20    日 * 版 本 号:    V1.0     

* 对任务及求解方法的描述部分 * 输入描述: * 问题描述: * 程序输出: * 程序头部的注释结束

头文件:
#include <iostream>
using namespace std;
class Time 
{
public:
	
	void set_time();
	
	void show_time();
	
	void add_a_sec();
	
	void add_a_minute();
	
	void add_an_hour();

	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;
};

主函数:
#include <iostream>

#include "mytime.h"

int main()
{
	Time t1;
	
	Time&t2 = t1;
	
	t1.set_time();
	
	t2.show_time();
	
	t1.add_a_sec();
	
	t1.add_a_minute();
	
	t1.add_an_hour();

	t1.add_seconds(30);

	t1.add_minutes(30);

	t1.add_hours(30);

	system("PAUSE");

	return 0;
}

类函数:
#include <iostream>

#include "mytime.h"

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;
}

void Time::add_a_sec()
{
	if ( sec < 59 )
		
		sec++;
	
	else
	{
		minute++;
		
		if( minute == 60)
		{
			hour++;
			
			minute = 0;
			
			if (hour == 24)
			{
				hour = 0;
				
				minute = 0;
				
				sec = 0;
			}
		}
		
		sec = 0;
	}
	
	cout << hour << ":" << minute << ":" << sec << endl;
}

void Time::add_a_minute()
{
	
	if (sec == 0)
	{
		sec = 59;
	}
	
	else if ( minute == 59 )
	{
		
		hour++;
		
		if(hour == 24)
		{
			hour = 0;
		}
		
		minute = 0;
	}
	else 
	{
		minute ++;
		
		sec--;
	}
	
	cout << hour << ":" << minute << ":" << sec <<endl;
}
void Time::add_an_hour()
{
	
	if ( minute == 0 )
	{
		minute = 59;
	}
	else if (hour == 24 )
	{
		hour = 0;
	}
	else
	{
		minute--;
		
		hour++;
	}	
	
	cout << hour << ":" << minute << ":" << sec << endl;
}
void Time::add_seconds(int n)
{

	sec = sec + n;

	if(sec > 60)
	{
		minute = minute + sec / 60;

		sec = sec % 60 ;

		if (minute > 60 )
		{
			hour = hour + minute / 60;

			minute = minute % 60;

			if ( hour > 24)

				hour = hour % 24;
		}
	}

	cout << hour << ":" << minute << ":" << sec << endl;
}
void Time::add_minutes(int n)
{
	minute = minute + n;

	if (minute > 60)
	{
		hour = hour + minute / 60;

		minute = minute % 60;

		if ( hour > 24 )

			hour = hour % 24;
	}
	cout << hour << ":" << minute << ":" << sec << endl;
}
void Time::add_hours (int n)
{
	hour = hour + n;

	if (hour > 24)
	{
		hour = hour % 24;
	}
	cout << hour << ":" << minute << ":" << sec << endl;
}




 


                    

相关文章推荐

第十四周实验报告(任务二)

实验目的:学会使用循环控制语句解决实际问题 实验内容:用循环控制语句编写程序,完成表达式的计算 * 程序头部注释开始(为避免提交博文中遇到的问题,将用于表明注释的斜杠删除了) * 程序的版权...

C++程序设计实验报告(七十四)---第十四周任务二

/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2012, 烟台大学计算机学院学生 * All rights reserved. * 文件名称:单链...

第四周 任务四扩展二

/*任务 4 扩充 2(选做):手工输入工资?!太让人不能忍受了。现给出包含了 500 个职工工资的文件 salary.txt,从文件中读数据,完成上面的工作。此任务可参照上一学期第 15 周任务 ...

java第四周 任务二

/* * 程序头部注释开始 * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. *...

《第十四周任务二》建立专门的链表类处理有关动态链表的操作

/* * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生  * All rights reserved. * 文件名称:C++第十四周【任务2】 ...

第十四周任务二(建立专门链表类处理有关动态链表)

/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称:链表的操作练...

第四周任务(二)

/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称: r...

第十四周任务二指针链表

/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称: 第十四周任...

十四周任务(二)

/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved.* 文件名称:    0...

十四周任务二

第14周报告2: 实验目的:学会使用循环控制语句解决实际问题 实验内容:用循环控制语句编写程序,完成表达式的计算 * 程序头部注释开始(为避免提交博文中遇到的问题,将用于表明注释的斜杠删除了...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:第四周 任务二
举报原因:
原因补充:

(最多只允许输入30个字)