面向对象课程设计参考题目

更新时间:2023-07-25 00:28:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

面向对象程序设计

2011-2012-02 面向对象技术课程设计参考题目 辅导教师:宋涛

一、信息管理类题目,用一个对象来存储一条记录,用对象数组或链表等数据结构存储表格,用C++实现以下简单的信息管理系统。可以使用基类封装查询、删除、插入记录等操作,可以使用类模板。

1. 公司人员管理系统。某小型公司,主要有四类人员:经理、兼职技术人员、销售经理和兼职推销员。现在需要存储这些人员的姓名、编号、级别、工作时数、销售总额等,计算月薪总额并显示全部信息。其中,人员编号在生成人员信息时同时生成,每输入一个人员信息编号加1。程序对所有人员有提升级别的功能。月薪的计算方法是:经理拿固定月薪,兼职技术人员按工作小时数领取月薪,兼职推销员的报酬按该推销员当月销售额提成,销售经理既拿固定月薪也领取销售提成。能按姓名或者编号显示、查找、增加、删除和保存各类人员的信息。

2. 客户消费积分管理系统。针对客户的消费情况进行客户管理,根据客户的消费积分对客户实行不同程度的打折优惠。要求:对客户基本信息进行存储,可以进行修改、删除、添加,可以查询;能够根据客户累积消费金额实行不同程度的打折优惠;试保存客户交易历史记录,按照近期消费金额优先,单笔大金额优先等原则进行积分计算。

3. 飞机(火车)查询订票系统。系统可以实现如下功能:输入航班号,可以查询该航班起飞时间,起飞抵达城市,飞行时间,票价,航班剩余座位数等;输入起飞抵达城市,可查询所有可抵达航班,起飞时间等情况,查询结果列表可按不同条件排序;可以订票,订票后修改航班剩余座位数,并生成订单号;可以退票,退票后修改相关数据文件;可按客户姓名或证件号查询客户订票列表等信息。

4. 图书借阅管理,假定只有会员能借书,利用单链表结构实现图书管理和会员管理,图书管理包括增加图书,查询图书,删除图书,图书借阅,还书;会员管理包括增加会员,查询会员,删除会员,借书信息。

5. 设计并实现简单的通讯录,利用数组实现通讯录管理,数组元素是结构体类型,可以把通讯录存在文件中,并有按姓名查找、按电话号码查找、修改、增加、删除、全部显示功能。

6. 高校人事管理系统,某高校,主要人员有:在职人员(行政人员、教师、一般员工)、退休人员、返聘人员和临时工。现在,需要存储这些人员的人事档案信息:编号、姓名、性别、年龄、职务、职称、政治面貌、最高学历、任职时间、来校时间。人员编号在生成人员信息时同时生成,每输入一个人员信息编号顺序加1。要求:能根据学院人事的变动情况,添加删除人员记录;能根据编号和姓名进行查询;对记录进行修改,并存储;能根据多种参数进行人员的统计(在职人数、党员人数、女工人数、高学历高职称人数)。

7. 设计并实现一个学生成绩管理查询系统,要求至少有三门课程的成绩(例如、英语、数学、计算机)能够按照要求追加学生的完整信息(姓名、学号、各门功课的成绩)、同时能够按照要求补充、修改已有学生的相关信息并能将所有信息输出;能够对学生的成绩进行计算各科平均值、求最低最高成绩等操作,能够按照姓名、成绩、学号等相关信息进行查询并见查询结果输出,并能按照不同的数据项信息进行排序并输出;能够将结果保存到磁盘文件中并能在需要的时候读出来。

面向对象程序设计

二、自定义复杂数据类型类题目,设计一个自定义数据类型,重载加减乘除等运算符,定义此数据类型相关的类型转换函数,重载输入输出流的提取和插入运算符,与字符串的类型转换以实现对象用字符串形式直接写出,以及其他功能,然后在主函数中使用这个自定义数据类型。

1. 大数类。用字符串表示一个很大的整数,定义此类型与简单整数类型的数据类型转换函数,至少实现大数的乘法运算。例如:

2312344545656787668*23242425353464=53744495493917515600445696281952。

2. 多项式类。以动态链表或其它形式保存一个多项式,重载运算符,要求能够对输入的任意次幂和系数的多项式进行加、减、乘运算,并能够对结果多项式按照一定格式输出。例如:(a3+2a2+1)+(a2+2)=(a3+3a2+3),a3表示a的3次方。

3. 矩阵类。要求能够保存矩阵,并对任意维数的矩阵进行加运算、减运算、乘运算、转置运算。此外根据自己的能力再增加其它矩阵运算(例如求矩阵的逆,特征向量、秩等)。

4. 分数类。重载运算符实现分数的四则运算,分数的自动化简,分数与简单数据类型的类型转换,分数与字符串的类型转换,分数的格式输入输出,分数和简单数据类型混合运算。

5. 复数类。重载运算符实现复数的四则运算,复数与其他数据类型的类型转换,复数与字符串的类型转换,复数的格式输入输出,复数和简单数据类型混合运算。

6. 抽象数类。设计一个抽象数基类,把上题中的分数、复数、多项式等作为派生类,设计各数据类型与字符串的类型转换,在主函数实现各种数据类型的混合运算。

三、用类来封装数据结构及其算法的题目。

1. 迷宫求解。设计一个迷宫类和一个堆栈类,利用一个堆栈对象,求解迷宫从起点到终点的一个路径,迷宫求解算法作为迷宫类的函数成员。

2. 表达式求解。设计一个表达式类和一个堆栈类,利用堆栈计算带括号的四则表达式的求解,表达式求解算法作为表达式类的函数成员。也可以加上自定义的复杂数据类型,使用户能够输入功能更强的表达式。

3. 英文密文类。定义一个密文类,用字符串保存密文,封装加密解密算法,能够对任意长度的英文字符串进行加密,加密规则为:对于每一个字母用字母表中该字母后面的第2个字母代替(或者其他方法),能将加密后的密文保存到磁盘中并能够读取文件解密出原文。

本文来源:https://www.bwwdw.com/article/8mlm.html

Top