|
发表于 2009-11-3 02:26:41
|
显示全部楼层
IP:江苏扬州
#include<iostream>
#include<iomanip>
#include<string>
using namespace std;
class Date
{
short year; //年
short month; //月
short day; //日
public:
Date(){}
Date(int y,int m,int d):year(y),month(m),day(d){}
void show(){cout<<year<<'.'<<month<<'.'<<day;}
};
class Staff
{
char staffNo[5]; //职工号
char name[10]; //姓名
char sex; //性别,用M表示男、用F表示女
Date birthDay; //出生日期
public:
Staff(){}
Staff(const char st_no[],const char st_name[],char st_sex,
const Date &st_date):birthDay(st_date),sex(st_sex)
{
//将st-no中的最多4个字符的字符串复制到staffNo中
strncpy(staffNo,st_no,5);
//将st-name中的最多9个字符串复制到name中
strncpy(name,st_name,10);
}
void show()
{
cout<<endl
<<setw(8)<<staffNo
<<setw(13)<<name
<<setw(3)<<sex;
birthDay.show();
}
};
int main()
{
int yr,mh,dy;
char no[6],na[11],sx;
Staff *p[2];
for (int i=0;i<1;i++)
{
cout.setf(ios::left,ios::adjustfield);
cout<<"请输入年月日:";
cin>>yr>>mh>>dy;
cin.ignore(80,'\n');
cout<<endl<<"请输入职工号:";
cin>>setw(5)>>no;
cin.ignore(80,'\n');
cout<<endl<<"请输入姓名:";
cin>>setw(10)>>na;
cin.ignore(80,'\n');
cout<<endl<<"请输入性别(M/F):";
cin>>setw(1)>>sx;
cout<<endl;
Date birth(yr,mh,dy);
p[i]=new Staff(no,na,sx,birth);
}
for(int i=0;i<1;i++)
{
p[i]->show();
delete p[i];
}
system("pause");
return 0;
} |
|