//此程序用于管理人员信息
#include
#include
#define N 50
class cdate//引用第4题的cdate类,用于定义和处理person类中成员出生日期
{
public:
cdate(int year=1900,int month=1,int day=1);//构造函数
cdate(cdate &p);//拷贝函数
void display(){cout< void set(int Y,int M,int D);//设置日期
void next();//求当前日期之后一天的日期
private:
int y,int m,int d;
};
cdate::cdate(int year,int month,int day)
{
bool rn;
y=year;
rn=((y%4==0&&y%100!=0)||(y%400==0));
if(month>0&&month<13)
{
m=month;
if(m==1||m==3||m==5||m==7||m==8||m==10||m==12)
{
if(day>0&&day<32)
d=day;
else
{
y=1900;m=1;d=1;
}
}
else if(m==4||m==6||m==9||m==11)
{
if(day>0&&day<31)
d=day;
else
{
y=1900;m=1;d=1;
}
}
else if(m==2)
{
if(rn)
{
if(day>0&&day<30)
d=day;
else
{
y=1900;m=1;d=1;
}
}
else
{
if(day>0&&day<29)
d=day;
else
{
y=1900;m=1;d=1;
}
}
}
else
{
y=1900;m=1;d=1;
}
}
else
{
y=1900;m=1;d=1;
}
}
void cdate::set(int Y,int M,int D)
{
bool rn;
y=Y;
rn=((y%4==0&&y%100!=0)||(y%400==0));
if(M>0&&M<13)
{
m=M;
if(m==1||m==3||m==5||m==7||m==8||m==10||m==12)
{
if(D>0&&D<32)
d=D;
else
{
y=1900;m=1;d=1;
}
}
else if(m==4||m==6||m==9||m==11)
{
if(D>0&&D<31)
d=D;
else
{
y=1900;m=1;d=1;
}
}
else if(m==2)
{
if(rn)
{
if(D>0&&D<30)
d=D;
else
{
y=1900;m=1;d=1;
}
}
else
{
if(D>0&&D<29)
d=D;
else
{
y=1900;m=1;d=1;
}
}
}
else
{
y=1900;m=1;d=1;
}
}
else
{
y=1900;m=1;d=1;
}
}
void cdate::next()
{
bool rn;
rn=((y%4==0&&y%100!=0)||(y%400==0));
d+=1;
if(m==1||m==3||m==5||m==7||m==8||m==10||m==12)
{
if(d==32)
{
m+=1;
d=1;
if(m==13)
y+=1;
m=1;
}
}
else if(m==4||m==6||m==9||m==11)
{
if(d==31)
{
m+=1;
d=1;
}
}
else
{
if(rn)
{
if(d==30)
{
m+=1;
d=1;
}
}
else
{
if(d==29)
{
m+=1;
d=1;
}
}
}
}
class person
{
public: //外部接口
person(); //构造函数
person(person &p); //拷贝构造函数
void in(); //数据输入
void out(); //数据输出
int getnum(){return num;}//得到num的值,用于查询参照
~person(); //析构函数
private: //私有数据
int num;
char name[10];
char sex[3];
cdate born;
char id[18];
};
person::person()
{}
void person::in()
{
int y,m,d;
cout<<"请输入成员编号:";
cin>>num;
cout<<"请输入成员姓名:";
cin>>name;
cout<<"请输入成员性别:";
cin>>sex;
cout<<"请输入成员出生日期:"< cout<<"年:";
cin>>y;
cout<<"月:";
cin>>m;
cout<<"日:";
cin>>d;
born.set(y,m,d);
cout<<"请输入成员身份证号(18位):";
cin>>id;
}
void person::out()
{
cout<<"成员的编号是:"< cout<<"成员的姓名是:"< cout<<"成员的性别是:"< cout<<"成员的出生日期是:";
born.display();
cout<<"成员的身份证号是:"<}
person::~person()
{}
--------------------next---------------------
阅读(1099) | 评论(0) | 转发(0) |