第十週實驗報告(任務2)

程序頭部註釋開始
* 程序的版權和版本聲明部分
* Copyright (c) 2011, 煙臺大學計算機學院學生
* All rights reserved.
* 文件名稱: 個人信息
相關處理 
* 作    者:     郭廣建                       
* 完成日期:  2012年    04  月  23   日
* 版 本 號:  1.0

源程序:

#include <iostream>

#include <string.h>

#include <iomanip>       //setw:設置輸出數據的寬度,使用時應#include <iomanip.h>

using namespace std;

class CPerson 
{
protected:
	char *m_szName;

	char *m_szId;

	int m_nSex;            //0:women,1:man

	int m_nAge;
public:
	CPerson(char *name,char *id,int sex,int age);

	void Show1();

	~CPerson();           //需要釋放建立對象時動態分配的內存
};

class CEmployee:public CPerson
{
private:
	char *m_szDepartment;

	float m_Salary;
public:
	CEmployee(char *name,char *id,int sex,int age,char *department,float salary);

	void Show2();

	~CEmployee();
};
CPerson::CPerson(char *name,char *id,int sex,int age)
{
	m_szName = name;

	m_szId = id;

	m_nSex = sex;

	m_nAge = age;
}
void CPerson::Show1()
{
	cout << setw(5) << "姓名" << "身份證號" << "性別" << "年齡" <<endl;

	cout << setw(5) << m_szName << m_szId << (m_nSex==1? "man":"woman") << m_nAge <<endl;
}

CPerson::~CPerson(){}

CEmployee::CEmployee(char *name,char *id,int sex,int age,char *department,float salary):CPerson(name, id, sex, age)
{
    m_szDepartment = department;

	m_Salary = salary;
}

void CEmployee::Show2()
{
	cout <<setiosflags(ios::left) <<setw(10) << "姓名"  << setw(10) <<"身份證號" << setw(10) << "性別" << setw(10) <<"年齡"<<  setw(10) <<"部門" << setw(10)<<"薪水" <<endl;

	cout << setiosflags(ios::left) <<setw(10) << m_szName << setw(10) << m_szId << setw(10) << (m_nSex==1? "man":"woman") << setw(10) << m_nAge << setw(10) << m_szDepartment << setw(10) << m_Salary<<endl;
}

CEmployee::~CEmployee(){}

int main()
{
	char name[10],id[19],department[10];

	int sex,age;

	float salary;

	cout<<"input employee's name,id,sex(0:women,1:man),age,department,salary:\n";

	cin>>name>>id>>sex>>age>>department>>salary;

	CEmployee employee1(name,id,sex,age,department,salary);

	employee1.Show2();

	system("pause");

	return 0;
}


 

運行結果:

input employee's name,id,sex(0:women,1:man),age,department,salary:

guo 4313 1 22 s314 10000

姓名      身份證號  性別      年齡      部門      薪水

guo        4313       man        22         s314     10000

請按任意鍵繼續. . .

經驗積累:

1.進一步熟悉類的派生的有關知識,

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章