prog17.cpp

来自「C++语言程序设计题典」· C++ 代码 · 共 84 行

CPP
84
字号
#include <iostream.h>
#include <string.h>
class name
{
protected:
	char fname[4];    //姓
	char sname[6];    //名
public:
	name() {}
	name(char *);
	void changename(char *);
	void display();
};
class employee
{
protected:
	name na;            //姓名
	char street[20];    //街道地址
	char city[10];      //市
	char prov[10];      //省
	char post[7];       //邮政编码
	int no;             //记录序号
public:
	employee(char [],char [],char [],char [],char [],int);
	void changename(char str[]);
	void display();
};
name::name(char *p)
{
	int i=0;
	while (*p!=' ')
		fname[i++]=*p++;
	fname[i]='\0';
	i=0;
	p++;
	while (*p!='\0')
		sname[i++]=*p++;
	sname[i]='\0';
}
void name::changename(char *p)
{
	int i=0;
	while (*p!=' ')
		fname[i++]=*p++;
	fname[i]='\0';
	i=0;
	p++;
	while (*p!='\0')
		sname[i++]=*p++;
	sname[i]='\0';
}
void name::display()
{
	cout << fname << sname;
}
employee::employee(char n[],char s[],char c[],char p1[],char p2[],int num)
{
    changename(n);
	strcpy(street,s);
	strcpy(city,c);
	strcpy(prov,p1);
	strcpy(post,p2);
	no=num;
}
void employee::changename(char n[])
{
	na.changename(n);
}
void employee::display()
{
    cout << post << "\n\n";
    cout << "\t" << prov << city << street << "\n\n";
	cout << "\t\t";
	na.display();
	cout << " (收)" << "\n\n";
}
void main()
{
	employee obj("王 华","中华路15号","武汉市","湖北省","430070",1);
    obj.display();
    obj.changename("王 国强");
    obj.display();
}

⌨️ 快捷键说明

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