dateshow.h

来自「面向对象技术作业银行系统」· C头文件 代码 · 共 92 行

H
92 行
字号

#include<iostream>
#include<string>

using namespace std;

class Date{
public:
	Date(){
		year=2004;
		month=12;
		day=18;
	}
	Date(int y,int m,int d);
	virtual void print();
	int GetYear(){return year;}
	int GetMonth(){return month;}
	int GetDay(){return day;}
private:
	int year;
	int month;
	int day;
};
Date::Date(int y,int m,int d){
	if(y>9999||y<1000){
		cout<<"Invalid param of year(1000-9999):exiting.\n";
		exit(-1);
	}
	else if(m<1||m>12){
		cout<<"Invalid param of month(1-12):exiting.\n";
		exit(-1);
	}
	else if(d<1||d>31||(m==2&&d>29)){
		cout<<"Invalid param of day:exiting.\n";
		exit(-1);
	}
	year=y;
	month=m;
	day=d;
}
void Date::print(){
	cout<<"class Date:\n";
	cout<<"Date:"<<month<<"-"<<day<<"-"<<year<<endl;
}

class ShortE:public Date{
public:
	ShortE(){}
	ShortE(int y,int m,int d):Date(y,m,d){}
	virtual void print();
};
void ShortE::print(){
	cout<<"class ShortE:\n";
	cout<<"Date:"<<GetDay()<<"-" \
		<<GetMonth()<<"-"<<GetYear()<<endl;
}

class MediumDate:public Date{
public:
	MediumDate(){}
	MediumDate(int y,int m,int d):Date(y,m,d){}
	virtual void print();
};
void MediumDate::print(){
	cout<<"class Medium:\n";
	string month[12]=
	{
		"Jan","Feb","Mar","Apr","May","Jun",
		"Jul","Aug","Sep","Oct","Nov","Dec"
	};
	cout<<month[GetMonth()-1]<<"," \
		<<GetDay()<<","<<GetYear()<<endl;
}

class LongDate:public Date{
public:
	LongDate(){}
	LongDate(int y,int m,int d):Date(y,m,d){		
	}
	virtual void print();
};
void LongDate::print(){
	cout<<"class LongDate:\n";
	string month[12]=
	{
		"January","February","March","April",
		"May","June","July","August",
		"September","October","November","December"
	};
	cout<<month[GetMonth()-1]<<"," \
		<<GetDay()<<","<<GetYear()<<endl;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?