用C++定义一个时间类time,编程实现下列功能。

2025-04-27 14:34:39
推荐回答(2个)
回答1:

class CTime
{
private :
int hour;
int min;
int sec;

public :
void set(int h, int m, int s);
void set();
void display();
};

void CTime::set(int h, int m, int s)
{
hour = h;
min = m;
sec = s;
}

void CTime::set()
{
int h,m,s;
cout<<"Input hour:\t";
cin>>h;
cout< cout<<"Input min:\t";
cin>>m;
cout< cout<<"Input sec:\t";
cin>>s;
cout< set(h,m,s);
}

void CTime::display()
{
if(hour>12)
{
cout<<"It is "< }
else
{
cout<<"It is "< }
}

int main()
{
CTime time1,time2; time1.set(); time1.displey();
return 0;
}

回答2:

#include
using namespace std;class Time
{
public:
Time();
virtual ~Time();
void Set(int nHour, int nMinute, int nSecond);
inline void Set(){
cout << "Enter Hours, Minutes and Seconds:";
cin>>m_nHour>>m_nMinute>>m_nSecond;
this->IsVaild();
}
void Display();
bool IsVaild();
private:
int m_nHour;
int m_nMinute;
int m_nSecond;
};Time::Time(){}Time::~Time(){}bool Time::IsVaild(){
bool fOk = true;
if(m_nSecond >= 24) {m_nSecond = 23; fOk = false;}
if(m_nMinute >= 60) {m_nMinute = 59; fOk = false;}
if(m_nSecond >= 60) {m_nSecond = 59; fOk = false;}
return fOk;
}void Time::Set(int nHour, int nMinute, int nSecond){
m_nHour = nHour; m_nMinute = nMinute; m_nSecond = nSecond;
this->IsVaild();
}void Time::Display(){
char *szBuffer[] = { "AM", "PM" };
cout<<"It's "<< ((m_nHour > 12) ? (m_nHour + ~12 + 1) : (m_nHour))
<<":"< 12)]<}int main()
{
Time time1, time2;
cout<<"time1: ";
time1.Set();
cout<<"time2: ";
time2.Set();
cout< cout<<"Result: ";
cout<<"time1: ";
time1.Display();
cout<<"time2: ";
time2.Display();
return 0;
}