首页 > 教学资源 > 课件
第二次上机作业
编辑:清香如梦 识别码:72-676505 课件 发布时间: 2023-09-05 12:22:13 来源:网络

第二次上机作业

一、面向对象编程

【题目】小型公司技术人员信息管理程序

【要求】1.先定义日期类:

class Date

{

int year,month,day;

public:

Date(int y=2020,int m=1,int d=1);

void print();

friend bool isretire(Technician & x, Date & today);//判断技术人员是否该退休,60周岁退休

};

再按以下描述和要求建立一个类Technician;

在类外定义实现所有成员函数和友元函数。执行主函数对其测试。

Technician//技术人员类

私有成员

int num;//临时技术人员编号

char *name;//姓名

Date birthday;//生日

float hourrate;//每小时酬金

float workhours;//本月工作时数

float money;//月薪

公有成员

static int emploNo;//技术人员人数,基数200

Technician(int nu =0, char *b=“**”,int y=2020,int m=1,int d=1, float hr=160);

Technician(Technician &);//拷贝构造函数,技术人员人数加一(此同构造函数)

void alter(int nu , char *b,int y,int m,int d, float hr);//修改员工信息

~ Technician();//析构函数,释放分配的内存,技术人员人数减一

float pay();//计算月薪函数。月薪按小时计算,月薪为每小时数酬金乘以本月工作时数

friend bool isretire(Technician & x, Date & today);//判断技术人员是否该退休,60周岁退休

void display();//显示人员信息函数.显示信息包括编号、姓名、生日、月薪。

static void company_num();//显示公司技术人员人数

2.头文件包含语句为:

#include

#include

3.需在类定义外面对静态成员做定义性说明并赋初值:

int Technician:: emploNo =200;

要求:每增加一人,技术人员人数要加1,每减少一人,技术人员人数要减1。

二、商店商品管理模拟程序

【要求】按以下描述和要求建立两个类goods和store :

class goods{ //商品类

friend class store;

private:

int id;//商品代号

float price;//价格

int num;//库存数量

void AddNum(int x){num+=x;} //增加库存数量x个

};

class store{ //商店类

private:

goods s[10];//存放商品信息,最多可有10种商品

int n;//数组中已写入数据的元素个数(商品种类数)

public:

store(){n=0;} //商品表构造函数

void newgd(int a,float b,int c);//在数组s中添加一种新商品

//(为goods类对象的数据成员赋值)

void list();//屏幕打印库存商品清单和商品种类数

int MaxPrice();//找出价格最高的商品,输出其代号、价格和数量,//返回该商品在数组s中的位置

};

请完成以上未定义函数体的成员函数。

(1)在主程序中定义一个store对象G。

(2)调用成员函数newgd()输入不少于5种的商品数据,存入数组s中作为测试数据。

(3)调用成员函数list()打印商品清单.(4)调用成员函数MaxPrice()出价格最高的商品。

每个成员函数至少被使用一次。通过多次的函数调用来测试你的程序功能是否达到要求。

第二次上机作业
TOP