2011‘C++课程设计题 下载本文

内容发布更新时间 : 2024/9/20 7:11:24星期一 下面是文章的全部内容请认真阅读。

2011年C++课程设计题(电信系教师 陈小常)

第1题 使用类的继承和派生设计公司职员的管理信息

设计要求:公司职员的管理信息程序主要实现以下功能:输入员工的姓名,输出该员工的基本信息、级别以及当月工资信息。需求如下

1. 某个小型公司,主要由总经理、技术经理和技术人员、销售经理和销售人员。要求存储所有人员的以下信息:姓名、编号、级别、当月新手、计算月薪总额并显示全部信息。

2. 人员编号从1开始,依次递增。

3. 程序对所有人员有提升级别的功能。我们假设所有人员初始级别为1级,然后进行升级,总经理升为4级,技术经理和销售经理升为3级,技术人员升为2级,销售人员为1级。

4. 月薪计算办法如下:总经理拿固定月薪10000元;技术经理那固定月薪6000元加奖金;技术人员拿固定月薪3000元加奖金;销售经理既拿固定月薪也领取销售提成,固定月薪为4000元,销售提成为所辖部门当月销售总额的5‰;销售人员的月薪按月销售额的1%提成。

第2题 用虚函数设计异质链表实现学校人员的信息管理

设计要求:学校人的信息管理程序主要实现对不同类型的人员进行统一管理,实现人员的添加、删除,浏览所有人员信息及查看某个人的信息功能。

第3题 用运算符重载实现特殊计算器

设计要求:本程序的功能是实现一个特殊的计算器,可以进行复数、有理数、矩阵和集合的特殊运算。要求程序可实现复数、有理数的加、减、乘、除,可以实现矩阵的加法、减法、和乘法运算,也可以实现集合的求交集、并集、子集的运算。用户可以通过主菜单选择不同数据类型的运算。

#include class complex {

public:

void print(); complex();

complex(float r,float i) {

real= r; image= i; }

virtual ~complex();

friend complex operator + (complex a,complex b); friend complex operator - (complex a,complex b);

friend complex operator * (complex a,complex b); friend complex operator / (complex a,complex b); private:

float image; float real; };

class rational {

public:

void print(); rational(int x=0,int y=0); virtual ~rational();

friend rational operator + (rational num1,rational num2); friend rational operator - (rational num1,rational num2); friend rational operator * (rational num1,rational num2); friend rational operator / (rational num1,rational num2);

friend bool operator ==(rational num1,rational num2);

friend double real(rational x);

private:

void optimization();

int denominator;

int numerator; };

class matrix {

public:

void Disp();

int matrix::operator ()(short row, short col);

void SetElem(short row,short col,int val);

matrix();

matrix(short r,short c)

{

rows= r;

cols= c;

elems= new int[rows*cols];

}

virtual ~matrix();

friend matrix operator +(matrix p,matrix q);

friend matrix operator -(matrix p,matrix q);

friend matrix operator *(matrix p,matrix q);

private:

int * elems;

short cols; short rows; };

#include

enum errcode {noerr,overflow};

class set {

public:

void print();

set(){card=0;}

virtual ~set();