c++作业建立一个时间类要求键盘输入时间从屏幕输出时间

如题所述

//功能虽然简单但是符合你的输入和输出要求,你可自行修改。
//CusTime.h
#include <iostream>
using namespace std;
class CusTime
{
public:
int Year;//
int Month;
int Day;
int Hour;
int Minute;
int Seconds;
CusTime();
void isLegal();//检验时间是否合法
friend ostream & operator << (ostream &out, const CusTime ct);//输出函数
friend istream & operator >> (istream &in, CusTime& ct);//输入函数
};

//CusTime.cpp
#include<iostream>
#include"student.h"
using namespace std;

CusTime::CusTime()
{
Year = 1997;
Month = 1;
Day = 1;
Hour = 1;
Minute = 1;
Seconds = 1;
}

void CusTime::isLegal()
{
int months[12] = {31,28,31,30,31,30,31,31,30,31,30,31};
Month %=12;
if(Month == 2 && (Year/4 ==0 && Year/100 ==0) || (Year/400==0))
{
++months[1];
}
Day %= months[Month-1];
Hour %= 24;
Minute %=60;
Seconds %=60;
}

ostream & operator << (ostream &out, const CusTime ct)//输出函数
{
out<<ct.Year<<"-"<<ct.Month<<"-"<<ct.Day<<"  "<<ct.Hour<<":"<<ct.Minute<<":"<<ct.Seconds<<endl;
return out;
}


istream & operator >> (istream &in,CusTime& ct)//输入函数
{
in >> ct.Year>>ct.Month>>ct.Day>>ct.Hour>>ct.Minute>>ct.Seconds;
ct.isLegal();
return in;
}

//main.cpp
#include<iostream>
#include "CusTime.h"
using namespace std;
int main()
{
CusTime ct;
cout<<"输出时间(每个输入空格隔开):"<<endl;
cin>>ct;
cout<<ct;
}

温馨提示:答案为网友推荐,仅供参考
相似回答