Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2350818
  • 博文数量: 816
  • 博客积分: 10000
  • 博客等级: 上将
  • 技术积分: 5010
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-17 17:57
文章分类

全部博文(816)

文章存档

2011年(1)

2008年(815)

分类:

2008-12-17 18:02:31

//此程序用于管理人员信息
#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---------------------

阅读(1107) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~