2012综合实验四-参考答案

2019-07-31 09:31

综合实验四 面向对象的程序设计

[实验目的]

1. 2. 3. 4. 5. 6.

掌握类和对象的定义

掌握面向对象的程序设计方法 掌握类的继承与派生 掌握基类和虚函数的用法 掌握运算符重载的方法 掌握I/O流类的操作

[实验环境]

1. 软件需求:Visual C++ 6.0

2. 硬件需求: Pentium III 450以上的CPU处理器,64MB以上的内存,200MB的自由硬盘空

[实验内容]

1.

设计员工类Employee(静态数据成员)分 a) 题目描述

定义一个描述员工(Employee)基本情况的类,数据成员包括编号(num)、姓名(name)、性别(sex)、工资(wage)、人数(count)、总工资(totalWage)。其中姓名定义为长度为18的字符数组,性别定义为长度为3的字符数组,其它数据类型为整型,总工资和人数为静态数据成员,函数成员包括构造函数、显示基本函数(ShowBase)和显示静态数据函数(ShowStatic),其中构造函数由已知参数编号(nu),姓名(nm)、性别(sx)和工资(wg)构造对象,显示基本数据函数用于显示学生的编号、姓名、性别和工资,显示静态数据函数为静态成员函数,用于显示人数和总工资;要求所有数据成员为protected访问权限,所有成员函数为public访问权限,在主函数中定义若干个员工对象,分别显示员工基本信息,以及显示员工人数和总工资。 b) 输入描述

第一行要求输入一个小于10的数字n,表示即将录入的员工数量,换行后从键盘录入每个员工的数据,依次是编号,姓名,性别,工资,每个员工占一行 c) 输出描述

第一行显示“人数:”,第二行显示“总工资:”,后面分别显示每个员工的信息,每个员工之间空一行 d) 样例输入

2

1008 张三 男 2500

1009 李四 女 2600 e) 样例输出

人数:2

总工资:5100元

个人基本信息: 编号:1008 姓名:张三 性别:男 工资:2500

个人基本信息: 编号:1009 姓名:李四 性别:女 工资:2600

参考程序:

/******************************************************** 2012 IMIS C++ Practice 4 (Object oriented programming) Task 1

Programmed by YE Huanzhuo Lakeside Nov.28, 2012

********************************************************/ #include #include using namespace std;

class Employee {

protected: int num; char name[18]; char sex[3]; int wage; static int count; static int totalWage;

public: Employee(int nu, char * nm, char * sx, int wg); ~Employee(); void ShowBase(); static void ShowStatic(); };

int Employee::count=0;

int Employee::totalWage=0;

Employee::Employee(int nu, char * nm, char * sx, int wg) { num=nu; strcpy(name, nm); strcpy(sex, sx); wage=wg; count++; totalWage+=wg; }

Employee::~Employee() { count--; totalWage-=wage; }

void Employee::ShowBase() { cout<<\个人基本信息:\\n\ cout<<\编号:\ cout<<\姓名:\ cout<<\性别:\ cout<<\工资:\}

void Employee::ShowStatic() { cout<<\人数:\ cout<<\总工资:\元\}

int main() { int n, i, nu, wg; char nm[18], sx[3]; cin>>n; Employee **a=new Employee* [n]; for(i=0; i>nu>>nm>>sx>>wg; a[i]=new Employee(nu, nm, sx, wg);

}

}

Employee::ShowStatic(); for(i=0; iShowBase(); delete a[i]; if(i!=n-1) cout<

delete [] a; return 0;

2. 日期类Date的设计(构造函数)

a) 题目描述

定义一个日期类Date,能提供和设置由年、月、日组成的日期。编写程序,提供类的构造函数用于根据输入初始化日期类Date的对象;提供函数用于输出日期类对象的日期,按照如下格式输出:yyyy-mm-dd b) 输入描述

初始化日期类Date对象的数据,分别是年、月、日。程序有多个测试用例。 c) 输出描述

按照指定格式输出的日期。 d) 样例输入

2010 12 30 2012 18 30 2012 6 10 e) 样例输出

2010-12-30 ERROR DATE 2012-06-10

参考程序:

/******************************************************** 2012 IMIS C++ Practice 4 (Object oriented programming) Task 2

Programmed by YE Huanzhuo Lakeside Nov.28, 2012

********************************************************/ #include #include

using namespace std;

class Date { int year; int month; int day; public: Date(int y, int m, int d); void show(); };

Date::Date(int y, int m, int d) { year=y; month=m; day=d; }

void Date::show() { cout<

int main() { int y, m, d, leap, md[]={0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; while(cin>>y>>m>>d) { if(y>=0&&y<=9999&&m>=1&&m<=12) { leap=y%4==0&&y0!=0||y@0==0; if((m==2&&d<=md[m]+leap)||(m!=2&&d<=md[m])) { Date D(y, m, d); D.show(); } else cout<<\ } else cout<<\ }


2012综合实验四-参考答案.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:“小学生学习对联,提高语文素养” 实验报告

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: