第四周任务二 多文件时间

本文介绍了一个简单的C++程序,用于实现时间的增加操作。该程序定义了一个Time类,支持基本的时间设置、显示以及增加秒、分钟和小时的功能。通过一系列内联函数实现时间单位之间的转换,并确保时间始终保持有效。
 

/* (程序头部注释开始)
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:  time                           
* 作    者:      姜雅明                       
* 完成日期:     2012    年   03    月   19     日
* 版 本 号:          1.0

* 对任务及求解方法的描述部分
* 输入描述: 时间
* 问题描述: 增加n秒
* 程序输出: 增加后的时间
* 程序头部的注释结束
*/

mytime.h

#include<iostream>
using namespace std;
class Time
{
public:                          
	void set_time();
	void show_time();
	inline void add_a_sec();
	inline void add_a_minute();
	inline void add_a_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;
};
inline void Time::add_a_sec()
{
	sec++;
	if(sec>=60)
		add_a_minute();
}

inline void Time::add_a_minute()
{
	minute++;
	if(minute>=60)
		add_a_hour();
}

inline void Time::add_a_hour()
{
	hour++;
	if(hour>=24)
		hour=00;
}


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


void Time::add_seconds(int s)
{
	int m;
	sec=sec+s;
	if(sec>=60)
	{
		add_minutes(sec/60);    
		sec%=60;    
	}
}

void Time::add_minutes(int m)
{
	int h;
	minute=minute+m;
	if(minute>=60)
	{
		add_hours(minute/60);  
		minute%=60;
	}
}

void Time::add_hours(int h)
{
	hour=hour+h;
	while(hour>24)
	{
		hour=hour-24;
	}
}


main.cpp

#include<iostream>
#include"mytime.h"
using namespace std;
int main()
{
	Time t1;
	t1.set_time(); 
	cout<<"现在时间是:";
	t1.show_time();

	t1.add_a_sec();
	cout<<"增加一秒是:";
	t1.show_time();

	t1.add_a_minute();
	cout<<"增加一分钟是:";
	t1.show_time();

	t1.add_a_hour();
	cout<<"增加一小时是:";
	t1.show_time();

	t1.add_seconds(10);
	cout<<"增加10秒钟是:";
	t1.show_time();

	t1.add_minutes(10);
	cout<<"增加10分钟是:";
	t1.show_time();

	t1.add_hours(10);
	cout<<"增加10小时是:";
	t1.show_time();

	system("PAUSE");
	return 0;
}


 

 

首先介绍一下XDS100v2的功能:XDS100V2 仿真器是XDS100 仿真器的第个版本,支持 TI 的各种芯片调试。支持USB2.0 高速接口,通过14PIN 的接口进行仿真调试,支持Code Composer Studio(CCS)V4 和更高的版本。可用于 Windows 2000、XP、Vista 等操作系统。XDS100v2 Features-All of the XDS100 General Features-支持USB2.0 高速接口-Support targets with 14-pin TI JTAG connector or 20-pin TI JTAG connector as used by Texas Instruments embedded processors.-支持多种处理器: TMS320C28x, TMS320C54x, TMS320C55x, TMS320C64x+, TMS320C674x, TMS320C66x, ARM 9, ARM Cortex R4, ARM Cortex A8, ARM Cortex A9 and Cortex M3 (requires CCSv4.2.2 or later).-Supports cable-break detection-支持断电检测-Support for multiple FTDI devices-支持自适应时钟-LED light to indicate active USB connection-支持Code Composer Studio v4 和更高版本 (不支持 Code Composer Studio v3.3)从介绍看出,v2功能还是挺强大的,对于入门学习来说是一个很好的选择~这是我的板子,跟TI的公版没大的区别,改动了供电部分,使用了廉价的1117-3.3,FT2232H的晶振改成了直插的,USB口改成了方形。整个仿真器主要芯片有FT2232H、赛灵思CPLD XC2C32A 、EEPROM IS93C46D这个是必须自己买的。FT2232H是一个接口芯片,它可以实现USB到两个串行UART、FIFO、Bit-Bang IO接口,并且还可以配成MPSSE,I2C,JTAG及SPI总线。外挂EEPROM,用于IO配置及储存USB VID和PID。TPD2E001——用于高速数据接口的低电容 2 通道 +/-15KV ESD 保护阵列,用来保护USB信号TPD4E002——具有 +/-15kV ESD 保护的四路低电容阵列,用来保护JTAG信号OPA2363——具有关断状态的 1.8V、高 CMR、RRIO 运算放大器这3个芯片都是TI自己家的,有条件可以向TI申请。其他的就是些电阻电容接插件了。需要注意的是FTDI的芯片比较贵,市场也有假货;生产93C46的厂家很多,而且93C46好像有几个版本还不一样,我买过CSI93C46S焊上去用不成,后来换了AT93C46就好了,尽量买后缀为D的版本。TPD2E001、TPD4E002个头比较小,焊的时候需要注意一下~我画的原理图和PCB也都在附件里。板子焊好之后,插上USB,应该会提示发现新硬件,会多出来两个虚拟串口。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值