C++设计一个时间类Time,可以设置时间,进行时间的加减运算,按一定的格式进行输出,并在主函数中使用该类.
C++编程,设计一个时间类Time,可以设置时间,进行时间的加减运算,按一定的格式进行输出,并在主函数中使用该类.请大神指教...
C++编程,设计一个时间类Time,可以设置时间,进行时间的加减运算,按一定的格式进行输出,并在主函数中使用该类.请大神指教
展开
1个回答
展开全部
#include <iostream>
#include <iomanip>
using namespace std;
class Time
{
public:
Time();
Time(int,int,int);
~Time();
void AddHour(int);
void AddMin(int);
void AddSec(int);
void AddTime(int,int,int);
void SubHour(int);
void SubMin(int);
void SubSec(int);
void SubTime(int,int,int);
void SetTime(int,int,int);
void ShowTime();
private:
int hour;
int min;
int sec;
};
Time::Time():hour(0),min(0),sec(0)
{
}
Time::Time(int hour,int min,int sec)
{
SetTime(hour,min,sec);
}
Time::~Time()
{
}
void Time::AddHour(int _hour)
{
hour += _hour;
}
void Time::AddMin(int _min)
{
int mintime = 0;
mintime = hour * 60 + min;
mintime += _min;
hour = mintime / 60;
min = mintime % 60;
}
void Time::AddSec(int _sec)
{
int secint = 0;
secint = hour * 3600 + min * 60 + sec;
secint += _sec;
hour = secint / 3600;
min = (secint - hour * 3600) / 60;
sec = secint % 60;
}
void Time::AddTime(int _hour,int _min,int _sec)
{
AddSec(_sec);
AddMin(_min);
AddHour(_hour);
}
void Time::SubHour(int _hour)
{
hour -= _hour;
}
void Time::SubMin(int _min)
{
int mintime = 0;
mintime = hour * 60 + min;
mintime -= _min;
hour = mintime / 60;
min = mintime % 60;
}
void Time::SubSec(int _sec)
{
int secint = 0;
secint = hour * 3600 + min * 60 + sec;
secint -= _sec;
hour = secint / 3600;
min = (secint - hour * 3600) / 60;
sec = secint % 60;
}
void Time::SubTime(int _hour,int _min,int _sec)
{
SubSec(_sec);
SubMin(_min);
SubHour(_hour);
}
void Time::SetTime(int _hour,int _min,int _sec)
{
hour = 0;
min = 0;
sec = 0;
AddTime(_hour,_min,_sec);
}
void Time::ShowTime()
{
cout<<setfill('0')<<setw(2)<<hour<<"时";
cout<<setfill('0')<<setw(2)<<min<<"分";
cout<<setfill('0')<<setw(2)<<sec<<"秒"<<endl;
}
int main()
{
Time myTime(12,3,8);
myTime.ShowTime();
myTime.AddHour(2);
myTime.ShowTime();
myTime.AddMin(58);
myTime.ShowTime();
myTime.AddSec(50);
myTime.ShowTime();
myTime.AddSec(13);
myTime.ShowTime();
myTime.SubHour(5);
myTime.ShowTime();
myTime.SubMin(40);
myTime.ShowTime();
myTime.SubSec(4000);
myTime.ShowTime();
myTime.AddTime(4,200,4366);
myTime.ShowTime();
myTime.SubTime(1,445,4324);
myTime.ShowTime();
myTime.SetTime(21,68,321);
myTime.ShowTime();
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询