C++《面向对象程序设计课程设计》

《面向对象程序设计课程设计》课程说明

适用专业:计算机科学与技术
课程周数:5周
一、根据计算机科学与技术专业人才培养方案制订。
(一)课程设计性质
课程设计是学生对课程所学知识的综合运用,它与课堂听讲、上机实验、课外练习、自学研究相辅相成,构成一个完整的课程教学体系。
(二)主要先修课程和后续课程

  1. 先修课程:《C语言程序设计》
  2. 后续课程:《Java程序设计》、《软件工程》等
    二、课程设计目的及基本要求
    本课程全面系统的学习面向对象程序设计的基本概念,基本语法和编程方法。正确理解掌握C++面向对象程序设计的基本特性:类,对象,继承与派生,多态,虚函数,模板,流类库等。遵循软件过程的各个环节进行系统分析、设计、实现、集成、测试,并相应给出软件规格说明书等制品,了解当前常用的软件开发工具(Dev、VisualC++),要求熟练掌握基于Win32 Console Application的程序设计,培养解决实际问题的能力。
    三、课程设计可选题目

1、通讯录管理

问题描述:编写一个简单的通讯录管理程序。通讯录记录有姓名,地址(省、市(县)、街道),电话号码,邮政编码等四项。
基本要求:程序应提供的基本管理功能有:
1)添加:即增加一个人的记录到通信录中
2)显示:即在屏幕上显示所有通信录中的人员信息,应能分屏显示。
3)存储:即将通讯录信息保存在一个文件中。
4)装入:即将文件中的信息读入程序。
5)查询:可根据姓名查找某人的相关信息,若找到显示其姓名、地址、电话号码和邮政编码。
6)修改:可修改一个人的除姓名外其它信息。
测试数据:程序应输入不少于10个人员的通讯录信息,应考虑到人员可以同名的情况。
实现提示:程序可用一个单向链表来管理人员信息,每个人员的姓名,地址,电话号码和邮政编码用一个类Cperson来实现,作为链表的值指针指向这些Cperson类对象,通过链表的遍历可以操作这些数据。
选做内容:为了加快数据定位查找的速度,采用常用优先的方法对链表的各个节点进行排序,即一旦操作了一个人员的数据,他的数据就将被调用到链表的链首。这样经过有限次操作,经常查阅的人员的信息就将排在链表的前端。虽然不能说链首的节点一定是最常用的,但常用的节点一定会排在较靠前的部分,链表查找时所要走的平均距离一定较短。

源码传送门

传送门:https://pan.baidu.com/s/1ei89QKXd2cPIYtuQUa-7WQ?pwd=1111

2、商品销售统计

问题描述:编写商品销售统计程序,商品的信息有:商品的名称,计量单位(重量或件),单价。所有商品的信息事先已存入计算机,屏幕上显示所有商品的名称,选择商品名,输入商品计量单位(如重量,件数等),根据单价算出总价。客户一次购物可能购买多种商品,程序应计算出客户应付的钱款数。
基本要求:程序分为两个部分:第一部分用于输入商品的信息并允许修改和删除;第二部分实现销售统计。程序运行时由用户选择进入哪一部分功能,并能在运行时在两部分之间切换。第二部分运行时,首先显示所有商品名称及代码(商品数目较多时,应考虑分屏显示),用户输入商品代码及商品重量或件数,用户一次操作可输入若干商品的购买信息,然后输入一个特殊的代码(如-1)表示本次购物结束。此时。程序计算出应付钱款数并显示。
测试数据:程序应输入不少于10种商品的信息,并进行模拟运行。
实现提示:本程序的商品信息管理可采用与课程设计题目二类似的数据结构,既定义一个商品类,每种商品作为商品类的实例(对象)存储在链表节点中。
选做内容:程序在营业结束时统计每种商品的销售量,销售金额及总营业额。因此第二部分应有营业结束的选择,当用户选择此项时屏幕上显示当天营业的每种商品的销售量,销售金额及总营业额。注意,商品类的数据成员应增加有商品的销售量和销售金额。总营业额是所有商品的营业额之和,可用静态数据成员实现。或可由原商品类派生出一个特殊的类,增加上面的数据成员及相应的成员函数。

源码传送门

传送门:https://pan.baidu.com/s/1ei89QKXd2cPIYtuQUa-7WQ?pwd=1111

3、足球联赛积分

问题描述:足球联赛采用主客场双循环赛制,胜一场得3分,平局各得1分,负一场得0分,联赛排名以积分多者在前,当两队(或多队)积分相同时,则净胜球(即进球数与失球数之差)多者在前,若净胜球相同,则进球数多者在前,若仍相同,则抽签或踢附加赛决定名次(这在联赛结束后进行,联赛未结束则两队名次并列,本程序不做这方面要求)。试编一程序统计最近一轮比赛后,各队积分及排名。
基本要求:设积分表结构如下:队名(不超过15个字符),已比赛的场数,赢的场数,平的场数,负的场数,进球数,失球数,积分。积分表放在正文文件中。最近一轮的结果从键盘输入,其形式为:主队名(可用代码),客队名(可用代码),主队得分(即进球数),客队得分(即进球数)。程序应根据此轮结果修改各队的积分和名次,所得的最新记分表仍在原积分文件中并同时在屏幕上显示。
测试数据:可选择我国当年的甲A或甲B联赛的数据输入,并检查与报章公布的数据是否一致。
实现提示:定义一个球队类,每个球队是均是此类的对象。由于联赛中参赛的队伍数是固定的,因此可用对象数组来实现(当然也可以用链表结构)。每输入两个队的比赛成绩,则相应的队的有关数据(比赛场数,赢的场数,平的场数,负的场数,进球数,失球数,积分等)即可进行修改,比赛成绩录入完成,调用联赛排序方法(对象数组作为参数)排出名次并输出。
选做内容:篮球联赛(如NBA)往往采用胜率来决定名次,胜率就是取胜的场数比赛场数之比。若胜率相同,再由净胜球及进球数来决定名次,通过继承性完成上述要求。

源码传送门

传送门:https://pan.baidu.com/s/1ei89QKXd2cPIYtuQUa-7WQ?pwd=1111

4、银行账户管理程序

问题描述:设计一个银行账户管理程序,账户的信息有账号(唯一)、姓名、余额、身份证号码、单位、电话号码、地址等,允许用户进行如下操作:开户、销户、存款、取款、转账、查询,一个用户可以有多个户头,账户的数值没有上限。
基本要求:程序运行时,可以由用户选择进行何种操作,开户操作要求输入用户信息后自动获取账号,用户销户后账号被回收,并且该账号可以继续分配给其它账户,不允许用户透支,根据姓名或账号可以进行用户的信息查询,所有的账户信息应存放到一个文件中,可以随时的访问和更新。
测试数据:程序应输入不少于10人的账户信息,应考虑到人员同名的情况。
实现提示:可定义一个账户类存放账户信息以及执行相应的操作,可以用一个链表类来管理账户。
选作内容:在上述程序的基础上,添加联名账户(一个联名账户有两个拥有者)的管理。

源码传送门

传送门:https://pan.baidu.com/s/1ei89QKXd2cPIYtuQUa-7WQ?pwd=1111

5、设计一个Database类

问题描述:设计一个Database类。Database类是一个表的集合,而表又由行和列组成。例如,下面的雇员信息表包含三个记录,每个记录有四个字段( Employee、Name、Department和Boss)。
雇员 姓名 部门 部门经理
111-11-1234 Cruz ACC Warder
213-44-5649 Johnston MIS Michaels
321-88-7895 Tom FIN Bearskin
基本要求:能够完成对数据库的基本操作;包括创建数据库,实现对数据库里面的表的添加,删除;以及能够完成对表结构的修改(如添加或删除字段),以及对表中的记录进行添加和删除;能够完成对使用适当的查询语言从一个或多个表中查找相关信息。
测试数据:可以选取高校人员(教师、学生、职工等)数据库作为测试数据
实现提示:Database 类的公有接口包含如下数据成员:
• 创建一个表。
• 通过增加或删除字段修改表结构。
• 删除一个表。
• 在表中增加一个记录。
• 从表中删除记录。
• 用适当的查询语言从一个或多个表中查找信息。
选做内容:高校人员信息通常保存在文件里面,可以从文件里面读取人员信息;然后完成上面操作。

源码传送门

传送门:https://pan.baidu.com/s/1ei89QKXd2cPIYtuQUa-7WQ?pwd=1111

6、水电煤气管理系统

问题描述:设计一个水电管理信息系统,能够对高校的水电费用进行管理,包括了登记费用,查询费用,以及住户信息管理等。在设计时要考虑到学生和教工在用水电时的不同,学生可以免费使用一定额度的水电,超过这个额度的随便以后必须自费使用,且自费部分水电费的价格标准要高于教工的收费标准(主要是节约资源)。
基本要求:
实现对用户信息的录入
实现水电煤气数据的录入
计算并查询用户应缴费用
查询未缴纳费用名单
测试数据:可选用小区物业管理部门的数据,也可采用手工输入不少于10个用户信息的数据。
实现提示:用户基本信息类,教工用户信息类,学生用户信息类,收费标准类,该类存储水电煤气标准单位的收费标准,如:煤气,1.0元/立方米;
不同类型人员水、电、煤气信息类,这些类可以包括水表,电表,煤气表ID,抄表时间,上次抄表时间,本次抄表时间,上次抄表度数,本次抄表度数,本次使用度数,费用,是否缴费标记等信息。在实现的时候考虑继承和多态技术的合理使用。
选做内容:实现用户查询系统能够找出该用户半年之内的交费记录和本次应交费的数据。

源码传送门

传送门:https://pan.baidu.com/s/1ei89QKXd2cPIYtuQUa-7WQ?pwd=1111

7、商场货品管理系统

某商场有如下的几种货品:衬衣、鞋子、帽子、裤子、冰箱、电视、立柜、壁橱、沙发。每一种货物都有详细的说明信息。
衬衣:布料、尺寸、单价、产地、库存量、所属货柜;
鞋子:皮料、尺寸、单价、产地、库存量、所属货柜;
帽子:布料、样式(平顶或尖顶)、尺寸、单价、产地、库存量、所属货柜;
裤子:布料、尺寸、单价、产地、库存量、所属货柜;
冰箱:制冷类型、样式(二门或三门)、颜色、尺寸、单价、产地、库存量、重量、所属货柜;
电视:样式(彩色或黑白)、颜色、尺寸、单价、产地、库存量、重量、所属货柜;
立柜:木料、颜色、尺寸、单价、产地、库存量、所属货柜;
壁橱:木料、颜色、尺寸、单价、产地、库存量、所属货柜;
沙发:木料、皮料、颜色、尺寸、单价、产地、库存量、所属货柜;
对这些商品的操作有:
新商品的录入,商品的进库,商品的出库,商品的调价,所属货柜的管理,库存的统计,总价格的计算,产地的统计。
要求自行设计数据结构,用类结构将上述的货品表示出来。在上一步的基础上,将上述的商品管理计算机化,完成操作要求的功能。

源码传送门

传送门:https://pan.baidu.com/s/1ei89QKXd2cPIYtuQUa-7WQ?pwd=1111

8、高校人员信息管理系统设计

1)问题描述
某高校有四类员工:教师、实验员、行政人员,教师兼行政人员;共有的信息包括:编号、姓名、性别、年龄等。其中,教师还包含的信息有:所在系部、专业、职称;实验员还包含的信息由:所在实验室、职务;行政人员还包含的信息有:政治面貌、职称等。
2)功能要求
(1)添加功能:程序能够任意添加上述四类人员的记录,可提供选择界面供用户选择所要添加的人员类别,要求员工的编号要唯一,如果添加了重复编号的记录时,则提示数据添加重复并取消添加。
(2)查询功能:可根据编号、姓名等信息对已添加的记录进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。
(3)显示功能:可显示当前系统中所有记录,每条记录占据一行。
(4)编辑功能:可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。
(5)删除功能:主要实现对已添加的人员记录进行删除。如果当前系统中没有相应的人员记录,则提示“记录为空!”并返回操作;否则,输入要删除的人员的编号或姓名,根据所输入的信息删除该人员记录,如果没有找到该人员信息,则提示相应的记录不存。
(6)统计功能:能根据多种参数进行人员的统计。能统计四类人员数量以及总数,
统计男、女员工的数量。
(7)保存功能:可将当前系统中各类人员记录存入文件中,存入方式任意。
(8)读取功能:可将保存在文件中的人员信息读入到当前系统中,供用户进行使用。
3)问题的解决方案
根据系统功能要求,可以将问题解决分为以下步骤:
(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;
(2)分析系统中的各个实体及它们之间的关系;
(3)根据问题描述,设计系统的类层次;
(4)完成类层次中各个类的描述;
(5)完成类中各个成员函数的定义;
(6)完成系统的应用模块;
(7)功能调试;
(8)完成系统总结报告。

源码传送门

传送门:https://pan.baidu.com/s/1ei89QKXd2cPIYtuQUa-7WQ?pwd=1111

9、公司员工信息管理系统设计

1)问题描述
某公司需要存储雇员的编号、姓名、性别、所在部门,级别,并进行工资的计算。其中,雇员分为经理、技术人员、销售人员和销售经理。
设计一程序能够对公司人员进行管理,应用到继承、抽象类、虚函数、虚基类、多态和文件的输入/输出等内容。
2)功能要求
(1)添加功能:程序能够任意添加上述四类人员的记录,可提供选择界面供用户选择所要添加的人员类别,要求员工的编号要唯一,如果添加了重复编号的记录时,则提示数据添加重复并取消添加。
(2)查询功能:可根据编号、姓名等信息对已添加的记录进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息;
(3)显示功能:可显示当前系统中所有记录,每条记录占据一行。
(4)编辑功能:可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。
(5)删除功能:主要实现对已添加的人员记录进行删除。如果当前系统中没有相应的人员记录,则提示“记录为空!”并返回操作;否则,输入要删除的人员的编号或姓名,根据所输入的信息删除该人员记录,如果没有找到该人员信息,则提示相应的记录不存。
(6)统计功能:能根据多种参数进行人员的统计。例如,统计四类人员数量以及总数,
或者统计男、女员工的数量等信息。
(7)保存功能:可将当前系统中各类人员记录存入文件中,存入方式任意。
(8)读取功能:可将保存在文件中的人员信息读入到当前系统中,供用户进行使用。
3)问题的解决方案
根据系统功能要求,可以将问题解决分为以下步骤:
(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;
(2)分析系统中的各个实体及它们之间的关系;
(3)根据问题描述,设计系统的类层次;
(4)完成类层次中各个类的描述;
(5)完成类中各个成员函数的定义;
(6)完成系统的应用模块;
(7)功能调试;
(8)完成系统总结报告。

源码传送门

传送门:https://pan.baidu.com/s/1ei89QKXd2cPIYtuQUa-7WQ?pwd=1111

10、媒体库管理系统设计

1)问题描述
图书馆中的资料很多,如果能分类对其资料流通进行管理,将会带来很多方便,因此需要有一个媒体库管理系统。
图书馆共有三大类物品资料:图书、视频光盘、图画。
这三类物品共同具有的属性有:编号、标题、作者、评级(未评级,一般,成人,儿童)等。其中图书类增加出版社、ISBN号、页数等信息;视频光盘类增加出品者的名字、出品年份和视频时长等信息;图画类增加出品国籍、作品的长和宽(以厘米计,整数)等信息。
2)功能要求
(1)添加物品:主要完成图书馆三类物品信息的添加,要求编号唯一。当添加了重复的编号时,则提示数据添加重复并取消添加;当物品库已满,则提示不能再添加新的数据。
(2)查询物品
可按照三种方式来查询物品,分别为:
按标题查询:输入标题,输出所查询的信息,若不存在该记录,则提示“该标题不存在!”;
按编号查询:输入编号,输出所查询的信息,若不存在该记录,则提示“该编号不存在!”;
按类别查询:输入类别,输出所查询的信息,若不存在记录,则提示“该类别没有物品!”;
(3)显示物品库:输出当前物品库中所有物品信息,每条记录占据一行。
(4)编辑物品:可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。
(5)删除物品:主要完成图书馆物品信息的删除。如果当前物品库为空,则提示“物品库为空!”,并返回操作;否则,输入要删除的编号,根据编号删除该物品的记录,如果该编号不在物品库中,则提示“该编号不存在”。
(6)统计信息
输出当前物品库中总物品数,以及按物品类别,统计出当前物品中各类别的物品数并显示。
(7)物品存盘:将当前程序中的物品信息存入文件中。
(8)读出物品:从文件中将物品信息读入程序。
3)问题的解决方案
根据系统功能要求,可以将问题解决分为以下步骤:
(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;
(2)分析系统中的各个实体及它们之间的关系;
(3)根据问题描述,设计系统的类层次;
(4)完成类层次中各个类的描述;
(5)完成类中各个成员函数的定义;
(6)完成系统的应用模块;
(7)功能调试;
(8)完成系统总结报告。

源码传送门

传送门:https://pan.baidu.com/s/1ei89QKXd2cPIYtuQUa-7WQ?pwd=1111

11、车辆管理系统设计

1)问题描述
车辆管理系统主要负责各种车辆的常规信息管理工作。
系统中的车辆主要有大客车、小轿车和卡车。每种车辆有车辆编号、车牌号、车辆制造公司、车辆购买时间、车辆型号(大客车、小轿车和卡车)、总公里数、耗油量/公里、基本维护费用、养路费、累计总费用等信息。大客车还有载客量(最大载客数)信息,小轿车还有箱数(两厢或三厢)信息,卡车还有载重量等信息。
每台车辆当月总费用=油价*耗油量/公里+基本维护费用。
基本维护费用:客车:2000元/月,小轿车:1000元/月,卡车:1500元/月
2)功能要求
(1)添加车辆:主要完成车辆信息的添加,要求编号唯一。当添加了重复的编号时,则提示数据添加重复并取消添加;当车辆信息库已满,则提示不能再添加新的数据。
(2)查询车辆:
可按照三种方式来查询物品,分别为:
按车辆制造公司查询:输入车辆制造公司,输出所查询的信息,若不存在该记录,则提示“该车辆制造公司不存在!”;
按编号查询:输入编号,输出所查询的信息,若不存在该记录,则提示“该编号不存在!”;
按类别查询:输入类别,输出所查询的信息,若不存在记录,则提示“该类别没有车辆!”;
(3)显示车辆信息库:输出当前车辆信息库中所有车辆信息,每条记录占据一行。
(4)编辑功能:可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。
(5)删除车辆:主要完成车辆信息的删除。如果当前车辆信息库为空,则提示“车辆信息库为空!”,并返回操作;否则,输入要删除的编号,根据编号删除该车辆的记录,如果该编号不在车辆信息库库中,则提示“该编号不存在”。
(6)统计信息
输出当前车辆信息库中总物品数,以及按车辆类别,统计出当前车辆信息库中各类别的物品数并显示。
(7)车辆信息存盘:将当前程序中的车辆信息存入文件中。
(8)读出车辆信息:从文件中将车辆信息读入程序。
3)问题的解决方案
根据系统功能要求,可以将问题解决分为以下步骤:
(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;
(2)分析系统中的各个实体及它们之间的关系;
(3)根据问题描述,设计系统的类层次;
(4)完成类层次中各个类的描述;
(5)完成类中各个成员函数的定义;
(6)完成系统的应用模块;
(7)功能调试;
(8)完成系统总结报告。

源码传送门

传送门:https://pan.baidu.com/s/1ei89QKXd2cPIYtuQUa-7WQ?pwd=1111

12、学生选修课程系统设计

1)问题描述
高校中学生信息包括:学号、姓名、性别、年龄、系别、班级、联系方式等信息。
课程信息包括:课程代码、课程名称、课程性质、总学时、学分、开课学期、选修人数等信息。学生可对课程信息进行查询,选修符合要求的课程。
根据课程信息和学生信息完成对课程的选修,需要专门的一个管理类来完成选修工作。
2)功能要求
(1)添加功能:程序能够任意添加课程和学生记录,可提供选择界面供用户选择所要添加的类别,要求编号要唯一,如果添加了重复编号的记录时,则提示数据添加重复并取消添加。
(2)查询功能:可根据编号、姓名等信息对已添加的学生和课程记录进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。
(3)显示功能:可显示当前系统中所有学生和课程的记录,每条记录占据一行。
(4)编辑功能:可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。
(5)删除功能:主要实现对已添加的学生和课程记录进行删除。如果当前系统中没有相应的记录,则提示“记录为空!”并返回操作。
(6)统计功能:能根据多种参数进行统计。能统计学生人数、课程的门数、选修某门课程的学生的相关信息。
(7)保存功能:可将当前系统中各类记录存入文件中,存入方式任意。
(8)读取功能:可将保存在文件中的信息读入到当前系统中,供用户进行使用。
3)问题的解决方案
根据系统功能要求,可以将问题解决分为以下步骤:
(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;
(2)分析系统中的各个实体及它们之间的关系;
(3)根据问题描述,设计系统的类层次;
(4)完成类层次中各个类的描述;
(5)完成类中各个成员函数的定义;
(6)完成系统的应用模块;
(7)功能调试;
(8)完成系统总结报告。

源码传送门

传送门:https://pan.baidu.com/s/1ei89QKXd2cPIYtuQUa-7WQ?pwd=1111

13、学生成绩管理系统设计

1)问题描述
学生信息包括:学号、姓名、性别、年龄、班级等信息。
小学生除了包括学生所有信息外,还包括英语、数学和语文成绩。
中学生除了包括小学生所有信息外,还包括地理、历史成绩。
大学生除了包括学生所有信息外,还包括专业、英语、程序设计和高等数学等课程。
设计一程序能够对学生成绩进行管理,应用到继承、抽象类、虚函数、虚基类、多态和文件的输入/输出等内容。
2)功能要求
(1)添加功能:程序能够添加不同学生的记录,提供选择界面供用户选择所要添加的类别,要求学号要唯一,如果添加了重复学号的记录时,则提示数据添加重复并取消添加。
(2)查询功能:可根据学号、姓名等信息对已添加的学生记录进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。
(3)显示功能:可显示当前系统中所有学生的记录,每条记录占据一行。
(4)编辑功能:可根据查询结果对相应的记录进行修改,修改时注意学号的唯一性。
(5)删除功能:主要实现对已添加的学生记录进行删除。如果当前系统中没有相应的记录,则提示“记录为空!”并返回操作。
(6)统计功能:能根据多种参数进行统计。能统计学生人数、总分、单科的平均分等。
(7)保存功能:可将当前系统中各类记录存入文件中,存入方式任意。
(8)读取功能:可将保存在文件中的信息读入到当前系统中,供用户进行使用。
(9)排序功能:可按总分和单科成绩排名次。
3)问题的解决方案
根据系统功能要求,可以将问题解决分为以下步骤:
(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;
(2)分析系统中的各个实体及它们之间的关系;
(3)根据问题描述,设计系统的类层次;
(4)完成类层次中各个类的描述;
(5)完成类中各个成员函数的定义;
(6)完成系统的应用模块;
(7)功能调试;
(8)完成系统总结报告。

源码传送门

传送门:https://pan.baidu.com/s/1ei89QKXd2cPIYtuQUa-7WQ?pwd=1111

14、学生信息管理系统设计

1)问题描述
学生信息包括:学号、姓名、性别、年龄、班级等信息。
小学生除了包括学生所有信息外,还包括英语、数学和语文成绩。
中学生除了包括小学生所有信息外,还包括地理、历史成绩、家庭住址等信息。
大学生除了包括学生所有信息外,还包括专业、家庭地址、联系方式等信息。
2)功能要求
(1)添加功能:程序能够添加不同学生的记录,提供选择界面供用户选择所要添加的类别,要求学号要唯一,如果添加了重复学号的记录时,则提示数据添加重复并取消添加。
(2)查询功能:可根据学号、姓名等信息对已添加的学生记录进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。
(3)显示功能:可显示当前系统中所有学生的记录,每条记录占据一行。
(4)编辑功能:可根据查询结果对相应的记录进行修改,修改时注意学号的唯一性。
(5)删除功能:主要实现对已添加的学生记录进行删除。如果当前系统中没有相应的记录,则提示“记录为空!”并返回操作。
(6)统计功能:能根据多种参数进行统计。能统计学生人数、按性别统计、按年龄统计等。
(7)保存功能:可将当前系统中各类记录存入文件中,存入方式任意。
(8)读取功能:可将保存在文件中的信息读入到当前系统中,供用户进行使用。
3)问题的解决方案
根据系统功能要求,可以将问题解决分为以下步骤:
(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;
(2)分析系统中的各个实体及它们之间的关系;
(3)根据问题描述,设计系统的类层次;
(4)完成类层次中各个类的描述;
(5)完成类中各个成员函数的定义;
(6)完成系统的应用模块;
(7)功能调试;
(8)完成系统总结报告。

源码传送门

传送门:https://pan.baidu.com/s/1ei89QKXd2cPIYtuQUa-7WQ?pwd=1111

15、高校水电费管理系统设计

1)问题描述
住宿学生信息包括:学号、姓名、性别、年龄、班级、用电量、用水量等信息。
教工信息包括职工号、姓名、性别、年龄、工作部门、用电量、用水量等信息。
能计算出学生和教工每月所要交的电费和水费。
定义一个人员类,实现学生和教工共同的信息和行为。
2)功能要求
(1)添加功能:程序能够添加不同学生和教工的记录,提供选择界面供用户选择所要添加的类别,要求编号号要唯一,如果添加了重复编号的记录时,则提示数据添加重复并取消添加。
(2)查询功能:可根据姓名、用水量、用电量信息对已添加的学生或教工记录进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。
(3)显示功能:可显示当前系统中所有学生和教工的记录,每条记录占据一行。
(4)编辑功能:可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。
(5)删除功能:主要实现对已添加的学生或教工记录进行删除。如果当前系统中没有相应的记录,则提示“记录为空!”并返回操作。
(6)统计功能:能根据多种参数进行统计。能统计学生和教工的用水用电量、所要交纳的电费和水费、未交纳水电费的人员信息等。
(7)保存功能:可将当前系统中各类记录存入文件中,存入方式任意。
(8)读取功能:可将保存在文件中的信息读入到当前系统中,供用户进行使用。
(9)计算电费和水费。学生每月都有一定额度的水电是免费使用的,超过的部分需要交费。
3)问题的解决方案
根据系统功能要求,可以将问题解决分为以下步骤:
(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;
(2)分析系统中的各个实体及它们之间的关系;
(3)根据问题描述,设计系统的类层次;
(4)完成类层次中各个类的描述;
(5)完成类中各个成员函数的定义;
(6)完成系统的应用模块;
(7)功能调试;
(8)完成系统总结报告。

源码传送门

传送门:https://pan.baidu.com/s/1ei89QKXd2cPIYtuQUa-7WQ?pwd=1111

16、职工工作量统计系统设计

1)问题描述
职工包括姓名、职工号、性别、年龄、所在部门、联系方式等信息。
工作量包括职工号、完成的产品数量等信息。
该设计系统能够对职工的工作量进行统计,并排出名次。注意,一个职工的工作量是可以多次输入的。
2)功能要求
(1)添加功能:程序能够添加职工的记录和工作量,可提供选择界面供用户选择所要添加的类别,要求职工的编号要唯一,如果添加了重复职工号的职工记录时,则提示数据添加重复并取消添加。
(2)查询功能:可根据职工号、姓名等信息对已添加的职工记录进行查询。还可以按职工号对工作量进行查询。如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。
(3)显示功能:可显示当前系统中所有职工记录和工作量统计信息,每条记录占据一行。
(4)编辑功能:可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。
(5)删除功能:主要实现对已添加的人员记录进行删除和工作量进行删除。如果当前系统中没有相应的人员记录,则提示“记录为空!”并返回操作;否则,输入要删除的人员的编号,根据所输入的信息删除该人员记录,如果没有找到该人员信息,则提示相应的记录不存在。
(6)统计功能:对职工可按工作量进行统计,并排名次。
(7)保存功能:可将当前系统中各类人员记录存入文件中,存入方式任意。
(8)读取功能:可将保存在文件中的人员信息读入到当前系统中,供用户进行使用。
3)问题的解决方案
根据系统功能要求,可以将问题解决分为以下步骤:
(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;
(2)分析系统中的各个实体及它们之间的关系;
(3)根据问题描述,设计系统的类层次;
(4)完成类层次中各个类的描述;
(5)完成类中各个成员函数的定义;
(6)完成系统的应用模块;
(7)功能调试;
(8)完成系统总结报告。

源码传送门

传送门:https://pan.baidu.com/s/1ei89QKXd2cPIYtuQUa-7WQ?pwd=1111

17、学生考勤管理系统设计

1)问题描述
学生信息包括:学号、姓名、性别、年龄、班级等信息。
考勤信息包括:缺课日期、第几节课、课程名称、学生姓名、缺课类型(迟到、早退、请假和旷课)。
2)功能要求
(1)添加功能:程序能够添加学生的记录和缺课记录,提供选择界面供用户选择所要添加的类别。添加学生记录时,要求学号要唯一,如果添加了重复学号的记录时,则提示数据添加重复并取消添加。
(2)查询功能:可根据学号、姓名等信息对已添加的学生记录进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。还可以按课程名、学生姓名对缺课记录进行查询。
(3)显示功能:可显示当前系统中所有学生的记录和缺课记录,每条记录占据一行。
(4)编辑功能:可根据查询结果对相应的记录进行修改,修改时注意学号的唯一性。
(5)删除功能:主要实现对已添加的学生记录进行删除。如果当前系统中没有相应的记录,则提示“记录为空!”并返回操作。
(6)统计功能:能根据多种参数进行统计。能按课程名统计出学生旷课的信息、还可以按姓名统计出任一学生的旷课情况。需要排序。
(7)保存功能:可将当前系统中各类记录存入文件中,存入方式任意。
(8)读取功能:可将保存在文件中的信息读入到当前系统中,供用户进行使用。
3)问题的解决方案
根据系统功能要求,可以将问题解决分为以下步骤:
(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;
(2)分析系统中的各个实体及它们之间的关系;
(3)根据问题描述,设计系统的类层次;
(4)完成类层次中各个类的描述;
(5)完成类中各个成员函数的定义;
(6)完成系统的应用模块;
(7)功能调试;
(8)完成系统总结报告。

源码传送门

传送门:https://pan.baidu.com/s/1ei89QKXd2cPIYtuQUa-7WQ?pwd=1111

18、单项选择题标准化考试系统设计

1)问题描述
设计一个单项选择题标准化考试系统,该系统要求能自动组卷和评分。
2)功能要求
(1)用文件保存试题库。(每个试题包括题干、4个备选答案、标准答案)。
(2)试题录入:可随时增加试题到试题库中。
(3)试题抽取:每次从试题库中可以随机抽出N道题(N由键盘输入)。
(4)答题:用户可实现输入自己的答案。
(5)自动判卷:系统可根据用户答案与标准答案的对比实现判卷并给出成绩。
(6)退出。
3)问题的解决方案
根据系统功能要求,可以将问题解决分为以下步骤:
(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;
(2)分析系统中的各个实体及它们之间的关系;
(3)根据问题描述,设计系统的类层次;
(4)完成类层次中各个类的描述;
(5)完成类中各个成员函数的定义;
(6)完成系统的应用模块;
(7)功能调试;
(8)完成系统总结报告。

源码传送门

传送门:https://pan.baidu.com/s/1ei89QKXd2cPIYtuQUa-7WQ?pwd=1111

19、课程设计选题管理系统设计

1)问题描述
课程设计题目包括:编号、名称、关键词、实现技术、人员数(由几个人来完成)等信息。
学生信息包括:学号、姓名、性别、年龄、班级、专业等信息。
2)功能要求
(1)添加功能:程序能够添加学生的记录和课程设计题目记录,提供选择界面供用户选择所要添加的类别。添加记录时,要求学号和编号要唯一。如果添加了重复记录,则提示数据添加重复并取消添加。
(2)查询功能:可根据学号、姓名、编号、名称等信息对已添加的学生和课程设计题目进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。
(3)显示功能:可显示当前系统中所有学生的信息和课程设计题目信息,每条记录占据一行。
(4)编辑功能:可根据查询结果对相应的记录进行修改,修改时注意学号的唯一性。
(5)删除功能:主要实现对已添加的学生和课程设计题目记录进行删除。如果当前系统中没有相应的记录,则提示“记录为空!”并返回操作。
(6)统计功能:能根据多种参数进行统计。能按课程设计题目名称统计出学生选择该题目的人员的信息。
(7)保存功能:可将当前系统中各类记录存入文件中,存入方式任意。
(8)读取功能:可将保存在文件中的信息读入到当前系统中,供用户进行使用。
3)问题的解决方案
根据系统功能要求,可以将问题解决分为以下步骤:
(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;
(2)分析系统中的各个实体及它们之间的关系;
(3)根据问题描述,设计系统的类层次;
(4)完成类层次中各个类的描述;
(5)完成类中各个成员函数的定义;
(6)完成系统的应用模块;
(7)功能调试;
(8)完成系统总结报告。

源码传送门

传送门:https://pan.baidu.com/s/1ei89QKXd2cPIYtuQUa-7WQ?pwd=1111

20、小型公司工资管理系统设计

1)问题描述
某公司需要存储雇员的编号、姓名、性别、所在部门,级别,并进行工资的计算。其中,雇员分为经理、技术人员、销售人员和销售经理。四类人员的月薪计算方法如下:经理拿固定月薪;技术人员按小时领取月薪;销售人员按其当月销售额的提成领取工资;销售经理既拿固定月薪也领取销售提成。
设计一程序能够对公司人员进行管理,应用到继承、抽象类、虚函数、虚基类、多态和文件的输入/输出等内容。
2)功能要求
(1)添加功能:程序能够任意添加上述四类人员的记录,可提供选择界面供用户选择所要添加的人员类别,要求员工的编号要唯一,如果添加了重复编号的记录时,则提示数据添加重复并取消添加。
(2)查询功能:可根据编号、姓名等信息对已添加的记录进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息;
(3)显示功能:可显示当前系统中所有记录,每条记录占据一行。
(4)编辑功能:可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。
(5)删除功能:主要实现对已添加的人员记录进行删除。如果当前系统中没有相应的人员记录,则提示“记录为空!”并返回操作;否则,输入要删除的人员的编号或姓名,根据所输入的信息删除该人员记录,如果没有找到该人员信息,则提示相应的记录不存。
(6)统计功能:能根据多种参数进行人员的统计。例如,统计四类人员数量以及总数,
或者统计男、女员工的数量,或者统计平均工资、最高工资、最低工资等信息。
(7)保存功能:可将当前系统中各类人员记录存入文件中,存入方式任意。
(8)读取功能:可将保存在文件中的人员信息读入到当前系统中,供用户进行使用。
3)问题的解决方案
根据系统功能要求,可以将问题解决分为以下步骤:
(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;
(2)分析系统中的各个实体及它们之间的关系;
(3)根据问题描述,设计系统的类层次;
(4)完成类层次中各个类的描述;
(5)完成类中各个成员函数的定义;
(6)完成系统的应用模块;
(7)功能调试;
(8)完成系统总结报告。

源码传送门

传送门:https://pan.baidu.com/s/1ei89QKXd2cPIYtuQUa-7WQ?pwd=1111

21、公司员工考勤管理系统设计

1)问题描述
某公司需要存储雇员的编号、姓名、性别、所在部门,级别,并进行工资的计算。其中,雇员分为经理、技术人员、销售人员和销售经理。
定义一个将小时换成天数的类。转换规则:8小时转换为一天,12小时转换为1.5天。可进行天数的加、减。
定义一个记录员工生病、休假时间的类。其中包括:员工生病没工作的天数、生病可以不工作的最多天数、员工已经带薪休假的天数、员工可以带薪休假的天数。公司规定带薪休假不能超过24小时。生病可以不工作的最多不能超过16小时。
设计一程序能够对公司人员的休假情况进行管理,应用到继承、抽象类、虚函数、虚基类、多态和文件的输入/输出等内容。
2)功能要求
(1)添加功能:程序能够任意添加上述四类人员的记录,可提供选择界面供用户选择所要添加的人员类别,要求员工的编号要唯一,如果添加了重复编号的记录时,则提示数据添加重复并取消添加。还可以添加带薪休假和生病休假的记录,每条记录中必须包含员工编号和姓名。
(2)查询功能:可根据编号、姓名等信息对已添加的员工信息和休假信息进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息;
(3)显示功能:可显示当前系统中所有记录,每条记录占据一行。
(4)编辑功能:可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。
(5)删除功能:主要实现对已添加的人员记录和休假记录进行删除。如果当前系统中没有相应的人员记录,则提示“记录为空!”并返回操作。
(6)统计功能:能根据多种参数进行人员的统计。例如,统计四类人员数量以及总数,
统计任一员工的休假天数等信息。
(7)保存功能:可将当前系统中各类人员记录和休假记录存入文件中,存入方式任意。
(8)读取功能:可将保存在文件中的信息读入到当前系统中,供用户进行使用。
3)问题的解决方案
根据系统功能要求,可以将问题解决分为以下步骤:
(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;
(2)分析系统中的各个实体及它们之间的关系;
(3)根据问题描述,设计系统的类层次;
(4)完成类层次中各个类的描述;
(5)完成类中各个成员函数的定义;
(6)完成系统的应用模块;
(7)功能调试;
(8)完成系统总结报告。

源码传送门

传送门:https://pan.baidu.com/s/1ei89QKXd2cPIYtuQUa-7WQ?pwd=1111

22、图书管理系统设计

1)问题描述
定义图书类,属性有:书名、出版社、ISBN号、作者、库存量、价格等信息和相关的对属性做操作的行为。
主要完成对图书的销售、统计和图书的简单管理。
2)功能要求
(1)销售功能。购买书籍时,输入相应的ISBN号,并在书库中查找该书的相关信息。如果有库存量,输入购买的册数,进行相应计算。如果库存量不够,给出提示信息,结束购买。
(2)图书简单管理功能。
添加功能:主要完成图书信息的添加,要求ISBN号唯一。当添加了重复的编号时,则提示数据添加重复并取消添加。
查询功能:可按书名、ISBN号、作者、出版社进行查询。若存在相应信息,输出所查询的信息,若不存在该记录,则提示“该标题不存在!”。
修改功能:可根据查询结果对相应的记录进行修改,修改时注意ISBN号的唯一性。
删除功能:主要完成图书信息的删除。输入要删除的ISBN号,根据编号删除该物品的记录,如果该编号不在物品库中,则提示“该编号不存在”。
(3)统计功能。
输出当前书库中所有图书的总数及详细信息;可按书的价格、库存量、作者、出版社进行统计,输出统计信息时,要按从大到小进行排序。
(7)图书存盘:将当前程序中的图书信息存入文件中。
(8)读出信息:从文件中将图书信息读入程序。
3)问题的解决方案
根据系统功能要求,可以将问题解决分为以下步骤:
(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;
(2)分析系统中的各个实体及它们之间的关系;
(3)根据问题描述,设计系统的类层次;
(4)完成类层次中各个类的描述;
(5)完成类中各个成员函数的定义;
(6)完成系统的应用模块;
(7)功能调试;
(8)完成系统总结报告。

源码传送门

传送门:https://pan.baidu.com/s/1ei89QKXd2cPIYtuQUa-7WQ?pwd=1111

23、停车场管理系统设计

1)问题描述
定义车辆类,属性有车牌号、颜色、车型(小汽车、小卡、中卡和大卡)、到达的时间和离开的时间等信息和相关的对属性做操作的行为。
定义一个管理类,完成对停车场的管理。停车场的具体要求:设停车场是一个可停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车停放在车场的最北端),若车场内已停满n辆汽车,则后来的汽车只能在门外的便道上等待,一旦有车开走,则排在便道上的第一辆车即可开入;每辆停放在车场的车在它离开停车场时必须按它停留的时间长短交纳费用。
2)功能要求
(1)添加功能:程序能够添加到达停车场的车辆信息,要求车辆的车牌号要唯一,如果添加了重复编号的记录时,则提示数据添加重复并取消添加。
(2)查询功能:可根据车牌号、车型等信息对已添加的停车场中的车辆信息进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息;
(3)显示功能:可显示当前系统中所有车辆的信息,每条记录占据一行。
(4)编辑功能:可根据查询结果对相应的记录进行修改,修改时注意车牌号的唯一性。
(5)删除功能:主要实现对已添加的车辆记录进行删除。如果当前系统中没有相应的人员记录,则提示“记录为空!”并返回操作。
(6)统计功能:能统计停车场中车辆的总数、按车型、按到达时间进行统计等。
(7)保存功能:可将当前系统中各类人员记录和休假记录存入文件中,存入方式任意。
(8)读取功能:可将保存在文件中的信息读入到当前系统中,供用户进行使用。
3)问题的解决方案
根据系统功能要求,可以将问题解决分为以下步骤:
(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;
(2)分析系统中的各个实体及它们之间的关系;
(3)根据问题描述,设计系统的类层次;
(4)完成类层次中各个类的描述;
(5)完成类中各个成员函数的定义;
(6)完成系统的应用模块;
(7)功能调试;
(8)完成系统总结报告。

源码传送门

传送门:https://pan.baidu.com/s/1ei89QKXd2cPIYtuQUa-7WQ?pwd=1111

24、歌手比赛系统

对一次歌手比赛的成绩进行管理,功能要求:1、输入每个选手的数据包括编号、姓名、十个评委的成绩,根据输入计算出总成绩和平均成绩(去掉最高分,去掉最低分)。2、显示主菜单如下:1)输入选手数据 2)评委打分 3)成绩排序(按平均分)4)数据查询 5)追加学生数据 6)写入数据文件7)退出系统。

源码传送门

传送门:https://pan.baidu.com/s/1ei89QKXd2cPIYtuQUa-7WQ?pwd=1111

25、机房机位模拟管理系统

20台机器,从早八点到晚八点,每两个小时一个时间段。 需要实现的功能:
(1) 查询,根据输入的时间,输出机位信息。
(2) 机位预定,根据输入的日期和时间段查询是否有空机位,若有则预约,若无则提供最近空机时间段。另:若用户要求在非空时间上机,则将用户信息插入该时间段的等待列表。
(3) 退出预定,根据输入的时间,撤消该时间的预定。
(4) 查询是否有等待信息,若有则按顺序显示联系方式,若无则显示提示信息。

源码传送门

传送门:https://pan.baidu.com/s/1ei89QKXd2cPIYtuQUa-7WQ?pwd=1111

26、库存管理系统设计

1)问题描述
超市中商品分为四类,分别是食品、化妆品、日用品和饮料。每种商品都包含商品名称、价格、库存量和品牌等信息。
定义一个管理类,主要完成对商品的销售、统计和简单管理。
2)功能要求
(1)进货功能。按要求添加相应商品的信息到库存中。添加进货日期、生产厂家、进货价等信息。
(2)出货功能。出货时,先输入商品类别,然后输入商品名称,并在库存中查找该商品的相关信息。如果有库存量,输入出货的数量、出货日期,计算销售额和利润。如果库存量不够,给出提示信息,结束出货。
(3)统计功能。
输出当前库存中所有商品的总数及详细信息;能统计每种商品一周时间内的销售额和利润;能统计每类商品的一周时间内的销售额和利润。输出统计信息时,要按从大到小进行排序。
(4)商品简单管理功能。
添加功能:主要完成商品基本信息的添加。
查询功能:可按商品类别、商品名称、生产厂家、进货日期进行查询。若存在相应信息,输出所查询的信息,若不存在该记录,则提示“该记录不存在!”。
修改功能:可根据查询结果对相应的记录进行修改。
删除功能:主要完成商品信息的删除。先输入商品类别,再输入要删除的商品名称,根据查询结果删除该物品的记录,如果该商品不在物品库中,则提示“该商品不存在”。
商品信息存盘:将当前程序中的商品信息存入文件中。
读出信息:从文件中将商品信息读入程序。
3)问题的解决方案
根据系统功能要求,可以将问题解决分为以下步骤:
(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;
(2)分析系统中的各个实体及它们之间的关系;
(3)根据问题描述,设计系统的类层次;
(4)完成类层次中各个类的描述;
(5)完成类中各个成员函数的定义;
(6)完成系统的应用模块;
(7)功能调试;
(8)完成系统总结报告。

源码传送门

传送门:https://pan.baidu.com/s/1ei89QKXd2cPIYtuQUa-7WQ?pwd=1111

27、美发店管理系统设计

1)问题描述
定义顾客类,属性有:会员卡号、姓名、性别、电话等信息和相关的对属性做操作的行为。
定义员工类:属性有:编号、姓名、性别、电话、美发项目(理发、烫发、洗发)等信息和相关的对属性做操作的行为。
定义美发类:属性有各种美发项目的收费标准和相关的对属性做操作的行为。
定义一个管理类,完成对美发店的简单管理。
2)功能要求
(1)美发功能。根据顾客所要做的美发项目、服务的雇员、消费金额等将相应信息添加到顾客类中指定顾客和员工类中指定员工信息里。
(2)简单管理功能。
添加功能:程序能够添加顾客信息和雇员信息,要求编号要唯一,如果添加了重复编号的记录时,则提示数据添加重复并取消添加。
查询功能:可根据姓名、电话、卡号等信息对已添加的顾客信息进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息;还可以根据姓名、工种编号等信息对雇员信息进行查询。
显示功能:可显示当前系统中所有顾客信息和雇员信息,每条信息占据一行。
编辑功能:可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。
删除功能:主要实现对已添加的顾客和雇员记录进行删除。如果当前系统中没有相应的人员记录,则提示“记录为空!”并返回操作。
保存功能:可将当前系统中顾客和雇员记录存入文件中,存入方式任意。
读取功能:可将保存在文件中的信息读入到当前系统中,供用户进行使用。
(3)统计功能。能统计出顾客的消费总数、雇员的收入总数。都按从大到小排序。
3)问题的解决方案
根据系统功能要求,可以将问题解决分为以下步骤:
(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;
(2)分析系统中的各个实体及它们之间的关系;
(3)根据问题描述,设计系统的类层次;
(4)完成类层次中各个类的描述;
(5)完成类中各个成员函数的定义;
(6)完成系统的应用模块;
(7)功能调试;
(8)完成系统总结报告。

源码传送门

传送门:https://pan.baidu.com/s/1ei89QKXd2cPIYtuQUa-7WQ?pwd=1111

28、酒店管理系统设计

1)问题描述:
建立酒店客房管理信息系统,采用计算机对客房信息进行管理,进一步提高酒店的经济效益和现代化水平。帮助酒店工作人员提高工作效率,实现客房管理工作流程的系统化、规范化和自动化。
(2.功能要求:
(1)本系统包括数据录入,数据修改,数据添加,数据查询,数据备份和报表生成。
(2)数据信息包括客房号,客房类型,客房价格,折扣情况,客房状态,入住客人信息(姓名,性别,身份证号,入住时间,预计入住期等),客房负责人等。
(3)查询应可以提供多种查询方式,如按房号查询,按月份查询,按价格查询,按客房状态查询等。
(4)客房入住日报表,客房入住月表等。
3)问题的解决方案:
根据系统功能要求,可以将问题解决分为以下步骤:
(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;
(2)分析系统中的各个实体及它们之间的关系;
(3)根据问题描述,设计系统的类层次;
(4)完成类层次中各个类的描述;
(5)完成类中各个成员函数的定义;
(6)完成系统的应用模块;
(7)功能调试;
(8)完成系统总结报告。

源码传送门

传送门:https://pan.baidu.com/s/1ei89QKXd2cPIYtuQUa-7WQ?pwd=1111

29、模拟ATM机存取款管理系统设计

1)问题描述:
模拟银行的自动取款机使用过程中的界面和用户交互过程。实现查询银行卡余额、取款、修改密码、退出系统等功能。
(2.功能要求:
(1)卡号、密码输入最多三次,否则直接退出系统。
(2)取款功能:取款金额受卡余额、机单笔最大取款金额及机当前剩余金额的限制。
(3)查询功能:实现查询余额功能。
(4)更改密码:实现密码更改功能,对于密码要有2次验证。
(5)锁卡功能:实现卡被锁的功能。
(6)退卡功能:实现退出系统功能。
3)问题的解决方案:
根据系统功能要求,可以将问题解决分为以下步骤:
(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;
(2)分析系统中的各个实体及它们之间的关系;
(3)根据问题描述,设计系统的类层次;
(4)完成类层次中各个类的描述;
(5)完成类中各个成员函数的定义;
(6)完成系统的应用模块;
(7)功能调试;
(8)完成系统总结报告。

源码传送门

传送门:https://pan.baidu.com/s/1ei89QKXd2cPIYtuQUa-7WQ?pwd=1111

30、飞机订票管理系统设计

1)问题描述:
航空客运订票的业务包括:查询航班、客票预订和办理退票等。试设计一个航空客运订票系统,已使上述业务可以借助计算机完成。
(2.功能要求:
(1)每条航线所涉及的信息有:终点站名、航班号、飞机号、星期几飞行飞行周日(星期几)、乘员定额、余票量、已订票的客户名单(包括姓名、订票量、舱位等级)以及等候补替补的客户名单(包括姓名、所需票量);
(2)作为示意系统,全部数据可以只放在内存中;
(3)系统能实现的操作和功能如下:
录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定);
查询航线:根据旅客提出的终点站名输入下列信息:航班号、飞机号、星期几起飞,最近航班的日期和余票量。
承办订票业务:根据客户提出的要求(航班号、订票数额)查询该航班票额情况,若尚有余票,则为客户办理订票手续,输出座位号;若已满员或者余票数少于订票额,则需重新寻味客户要求,若需要,可登记排队候补;
承办退票业务:根据客户提供的情况(日期、航班),为客户办理退票手续,然后查询该航班是否有人排队等候补,首先询问排在第一的客户,若所有退票额能满足他的要求,则为他办理订票手续否则依次询问其他排队候补的客户。
修改航班信息:当航班信息改变可以修改航班数据文件。
(选作)为客户订票要求不能满足时,系统可向客户提供到达同一目的地的其他航线情况。
3)问题的解决方案:
根据系统功能要求,可以将问题解决分为以下步骤:
(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;
(2)分析系统中的各个实体及它们之间的关系;
(3)根据问题描述,设计系统的类层次;
(4)完成类层次中各个类的描述;
(5)完成类中各个成员函数的定义;
(6)完成系统的应用模块;
(7)功能调试;
(8)完成系统总结报告。

源码传送门

传送门:https://pan.baidu.com/s/1ei89QKXd2cPIYtuQUa-7WQ?pwd=1111

31、酒店点菜管理系统设计

1)问题描述:
为了适应现代信息时代点餐的需求,采用新信息技术,研究设计了一个计算机点餐系统。能够完成权限管理、点餐管理、订单管理、结账管理、菜谱评分等功能。
2)功能要求:
一款具有如下功能的可以提供消息传送和人机交互的实用性服务系统,具有如下功能:
(1)权限管理:包括用户的注册、登录、用户信息管理。
(2)点餐功能:包括餐单的增加、修改、删除、查看。
(3)订单管理:包括生成订单、修改、删除、查找。
(4)结账管理:统计消费的总额。
(5)查看历史:查看消费历史。
(6)菜谱评分:对各菜谱中经常点取的菜肴进行评分。
3)问题的解决方案:
根据系统功能要求,可以将问题解决分为以下步骤:
(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;
(2)分析系统中的各个实体及它们之间的关系;
(3)根据问题描述,设计系统的类层次;
(4)完成类层次中各个类的描述;
(5)完成类中各个成员函数的定义;
(6)完成系统的应用模块;
(7)功能调试;
(8)完成系统总结报告。

源码传送门

传送门:https://pan.baidu.com/s/1ei89QKXd2cPIYtuQUa-7WQ?pwd=1111

32、杂志订阅管理系统设计

1)问题描述
使用计算机对杂志进行管理,该杂志最多拥有订阅用户不超过50人,每个订户的信息包括:编号,姓名,性别,电话号码,杂志单位,订阅数,订阅期限(某年某月) 。
2)功能要求:
(1)增加新订户,即将新订户的全部信息输入到文件中。
(2)查询功能:可根据订户姓名、性别、单位对已添加的记录进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。
(3)显示功能:可显示当前系统中所有记录,每条记录占据一行。
(4)编辑功能:可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。
(5)删除功能:根据当天的日期对新订户全部信息进行查询,删除已到期的订户记录。删除记录时要有提示功能。
(6)统计功能:能根据多种参数进行统计。能统计性别、订阅数、订阅期限信息等。
例如:统计本期杂志订户数并打印运算结果
本期订信息
订户名 订阅数 单价 全额
李平 2 5.5 11.0
黄海 1 5.5 5.5
合计 3 1.0 16.5
(7)保存功能:可将当前系统中各类记录存入文件中,存入方式任意。
(8)读取功能:可将保存在文件中的信息读入到当前系统中,供用户进行使用。
3)问题的解决方案:
根据系统功能要求,可以将问题解决分为以下步骤:
(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;
(2)分析系统中的各个实体及它们之间的关系;
(3)根据问题描述,设计系统的类层次;
(4)完成类层次中各个类的描述;
(5)完成类中各个成员函数的定义;
(6)完成系统的应用模块;
(7)功能调试;
(8)完成系统总结报告。

源码传送门

传送门:https://pan.baidu.com/s/1ei89QKXd2cPIYtuQUa-7WQ?pwd=1111

33、诊所信息管理系统设计

1)问题描述
完成小型诊所的简单信息管理程序,掌握类的设计以及继承和派生的应用。
2)功能要求:
设计人类(Person类)和医生类(Doctor类),在此基础上,通过增加患者和账单,使它们公用于表示一家诊所的信息管理。
(1)在一条医生记录中,包括医生的专业说明(specialty),如内科医生(surgeon)、儿科医生(pediatrician) 、产科医生(obstetrician)及全科医生(general practitioner)。
(2)Doctor记录还含有诊费(office_vist_fee)。
(3)在一条患者记录中,包括该患者产生的药费(drug_fee) ,患者的诊费(即医生的诊费)。
(4)在一条账单记录中,包括一条患者对象、该患者对应得主治医生、该患者产生的诊费和药费。
(5)应用程序能够显示出诊所中每个患者的信息和对应主治医生的信息。
(6)能够统计出所有患者的总费用。
3)问题的解决方案:
根据系统功能要求,可以将问题解决分为以下步骤:
(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;
(2)分析系统中的各个实体及它们之间的关系;
(3)根据问题描述,设计系统的类层次;
(4)完成类层次中各个类的描述;
(5)完成类中各个成员函数的定义;
(6)完成系统的应用模块;
(7)功能调试;
(8)完成系统总结报告。

源码传送门

传送门:https://pan.baidu.com/s/1ei89QKXd2cPIYtuQUa-7WQ?pwd=1111

34、网吧管理系统

(1)基本内容
网吧管理系统管理信息包括会员的会员名、性别、年龄、积分等。试设计一网吧管理系统,使之能提供以下功能: 系统以菜单方式工作,密码登陆。
①会员信息的录入(增加数据)。用数组数据类型赋初值的方法把会员信息送到 各个数组中(但要注意是合法数据),然后把它们保存起来。
②会员信息的删除(删除数据)。任意输入一位会员号,将它所有的信息从组数中删除。
③会员信息的浏览(查找数据)。任意输入一位会员号,打印出他的所有数据。要求能多次查找。
④会员积分的计算(积分数据)。任意输入一位会员号,打印出会员的积分。要求能多次积分计算。
⑤会员管理系统登陆。输入密码登陆系统。
(2) 课程设计的要求与数据
①编程时,设计函数来完成每个功能,通过main函数调用各函数。
②程序中的输入输出要加提示说明。
③输出的结果要准确、清晰、美观。

源码传送门

传送门:https://pan.baidu.com/s/1ei89QKXd2cPIYtuQUa-7WQ?pwd=1111

35、企业人力资源管理系统—工资管理

1)问题描述:
《企业人力资源管理系统——工资管理》案例主要对企业员工信息和工资进行管理。将企业员工按工种的不同分为经理、销售人员、技术人员、销售经理和技术总监五类人员。该案例具备五类人员信息的添加、删除、修改、查询、浏览、保存和计算工资等功能,很好的达到了对企业员工信息和工资管理的目的。
2)功能要求:
根据企业实际需求和课堂教学的需要,将案例分为5个模块。
(1)模块一:
对企业中所有员工的基本信息提取出来定义一个类。该类包括员工的编号、姓名、性别、年龄、参加工作时间、部门、职务、联系方式,奖金、扣发工资和基本工资等属性,还包括对员工基本信息的录入、显示和计算实发工资等功能。
(2)模块二:
实现统计员工总数功能;实现插入和提取运算符的重载。
(3)模块三:
根据企业中员工的工作性质的不同,将所有员工分为经理、销售人员、技术人员等三类。其中,经理又可分为销售经理和技术总监两类。
经理类除了包含员工的基本信息外,还包括级别和职务津贴两个属性,还包括对经理信息的录入、显示和计算实发工资等功能。经理类是从员工类派生的。实发工资等于基本工资+奖金-扣发工资+职务津贴。
销售人员类除了包含员工的基本信息外,还包括销售额和提成比例两个属性,还包括对销售人员信息的录入、显示和计算实发工资等功能。销售人员类是从员工类派生的。实发工资等于基本工资+奖金-扣发工资+销售额提成比例。
技术人员除了包含员工的基本信息外,还包括工作时数和每小时金额两个属性,还包括对技术人员信息的录入、显示和计算实发工资等功能。技术人员类也是从员工类派生的。实发工资等于基本工资+奖金-扣发工资+工作时数
每小时金额。每小时金额随工作时数的不同而取不同的值。
销售经理即包含经理的信息,也包含销售人员的信息。所以销售经理是由经理类和销售人员类派生的。它具备信息的录入、显示和计算实发工资等功能。实发工资等于基本工资+奖金-扣发工资+销售额提成比例+职务津贴。
技术总监即包含经理的信息,也包含技术人员的信息。所以技术总监是由经理类和技术人员类派生的。它具备信息的录入、显示和计算实发工资等功能。实发工资等于基本工资+奖金-扣发工资+工作时数
每小时金额+职务津贴。
(4)模块四:
定义管理类实现对不同的员工的管理。
(5)模块五:
从文件中读取员工信息和将修改后的员工信息保存到文件中。
(6)学生在完成本次课程设计的基本要求后,从便于用户使用和功能完整性的角度考虑进一步完善程序。
3)问题的解决方案:
根据系统功能要求,可以将问题解决分为以下步骤:
(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;
(2)分析系统中的各个实体及它们之间的关系;
(3)根据问题描述,设计系统的类层次;
(4)完成类层次中各个类的描述;
(5)完成类中各个成员函数的定义;
(6)完成系统的应用模块;
(7)功能调试;
(8)完成系统总结报告。

源码传送门

传送门:https://pan.baidu.com/s/1ei89QKXd2cPIYtuQUa-7WQ?pwd=1111

36、火车票管理系统

一车站每天有n个发车班次,每个班次都有一班次号1)2、3…n),固定的发车时间,固定的路线(起始站、终点站),大致的行车时间,固定的额定载客量。如
班次 发车时间 起点站 终点站 行车时间 额定载量 已定票人数
1 8:00 郫县 广汉 2 45 30
2 6:30 郫县 成都 0.5 40 40
3 7:00 郫县 成都 0.5 40 20
4 10:00 郫县 成都 0.5 40 2

(一)功能要求:用c/c++设计一系统,能提供下列服务:
(1)录入班次信息(信息用文件保存),可不定时地增加班次数据
(2)浏览班次信息,可显示出所有班次当前状总(如果当前系统时间超过了某班次的发车时间,则显示“此班已发出”的提示信息)。
(3)查询路线:可按班次号查询 ,可按终点站查询
(4)售票和退票功能
A:当查询出已定票人数小于额定载量且当前系统时间小于发车时间时才能售票,自动更新已售票人数
B:退票时,输入退票的班次,当本班车未发出时才能退票,自动更新已售票人数
(二)其它要求:
(1) 只能使用C/C++语言,源程序要有适当的注释,使程序容易阅读
(2) 至少采用文本菜单界面(如果能采用图形菜单界面更好)
(3) 学生可自动增加新功能模块(视情况可另外加分)
(4)写出课程设计报告,具体要求见相关说明文档

源码传送门

传送门:https://pan.baidu.com/s/1ei89QKXd2cPIYtuQUa-7WQ?pwd=1111

37、物业费管理系统

(1)新住户信息的添加。(户主姓名、性别、身份证号、联系电话、楼号、单元号、房号、平米数、每平米物业价格、应缴纳物业费,备注信息)
(2)修改住户信息的功能。
(3)删除住户信息的功能。
(4)应缴物业费自动生成。每月1号,自动生成本月份的物业费。如果该住户之前的物业费未交清,则本月物业费与之前拖欠费用进行累加,为该用户应缴纳的物业费。
(5)缴费功能。根据用户缴纳金额,修改“应缴纳物业费”。
(6)统计功能。
①能够按楼号分类统计所有未交清物业费的记录。
②能够按拖欠款项多少,对所有用户信息进行从大到小排序。
(7)用菜单进行管理
(8)只有正确输入用户名密码才能使用此系统。
(9)所有内容能够保存到文件中。下次进入系统是从文件中读取原有信息。

源码传送门

传送门:https://pan.baidu.com/s/1ei89QKXd2cPIYtuQUa-7WQ?pwd=1111

38、会员卡计费系统

(1)新会员登记。(将会员个人信息及此会员的会员卡信息进行录入。)
(2)会员信息修改。
(3)会员续费。(会员出示会员卡后,管理人员根据卡号查找到该会员的信息并显示。此时可以进行续费,续费后,提示成功,并显示更新后的信息。)
(4)会员消费结算。(会员出示会员卡后,管理人员根据卡号查找到该会员的信息,结算本次费用。提示成功,并显示更新后的信息。)累计消费满1000元,及自动升级为VIP会员。之后每次消费给予9折优惠。
(5)会员退卡。(收回会员卡,并将余额退还,删除该会员信息。)
(6)会员卡挂失。(为该会员补办新卡,并将旧卡余额转至新卡。)
(7)用菜单进行管理
(8)统计功能。
①能够按每个会员的缴费总额进行排序。在排序的最后一行显示所有会员的缴费总额,以及消费总额。
②能够按累计消费总额进行排序。在排序的最后一行显示所有会员的缴费总额,以及消费总额。
(9)只有正确输入用户名密码才能使用此系统。
(10)所有内容能够保存到文件中。下次进入系统是从文件中读取原有信息。
其他备选题目:

源码传送门

传送门:https://pan.baidu.com/s/1ei89QKXd2cPIYtuQUa-7WQ?pwd=1111

39、游戏设计类题目(需使用类实现)

源码传送门

传送门:https://pan.baidu.com/s/1ei89QKXd2cPIYtuQUa-7WQ?pwd=1111

四、指导方式
集体辅导与个别辅导相结合、线上线下混合模式。
五、课程设计课程提交材料
1、程序清单:代码应具有详细注释,用来说明程序的功能、结构;
2、设计报告:报告中应包含上机时遇到的问题及解决办法,观察到的现象及其分析,对程序设计技巧的总结及分析等;程序的输出结果及对结果的分析;实验的心得体会,以及其它信息;
3、提交时,须向指导教师说明:程序的使用方法,调用方法、操作步骤等;要求输入信息的类型及格式;出错信息的含义及程序的适用范围等。
六、主要参考资料
[1] 周霭如,林伟健.C++程序设计基础(第5版)(上).北京:电子工业出版社,2016.
[2] 李春葆.数据结构教程.北京:清华大学出版社.2017.

C++《面向对象程序设计课程设计》相关推荐

  1. C++《STL全集》

    STL初识 STL的诞生 长久以来,软件界一直希望建立一种可重复利用的东西 C++的面向对象和泛型编程思想,目的就是复用性的提升 大多情况下,数据结构和算法都未能有一套标准,导致被迫从事大量重复工作 ...

  2. ❤ 挑战C站最强C++ STL标准库总结(内含大量示例)

    前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家,(ノ´▽`)ノ♪->点击这里->一个宝藏级人工智能教程网站. 最近博主为了准备七月份的百度之星的算法 ...

  3. STL库(C++11)提供的异步执行方法的方式

    在进行并发编程的时候难免会遇到异步执行时候,现代C++标准库提供了几种异步执行的方式,本文收集整理了一下,以备将来翻阅. Thread方式 Thread 是STL提供的一种快捷创建线程的方式,极大方便 ...

  4. C++ 笔记(24)— STL map 类(map实例化、插入、查找、删除)

    1. STL 映射类简介 map 和 multimap 是键-值对容器,支持根据键进行查找,区别在于,后者能够存储重复的键,而前者只能存储唯一的键. 为了实现快速查找, STL map 和 multi ...

  5. C++ 笔记(23)— STL vector 类(实例化 vector、末尾插入、指定位置插入、数组方式访问元素、指针方式访问元素、删除元素、大小与容量区别)

    1. vector 特点 vector 是一个模板类,提供了动态数组的通用功能,具有如下特点: 在数组末尾添加元素所需的时间是固定的,即在末尾插入元素的所需时间不随数组大小而异,在末尾删除元素也如此: ...

  6. C++ 笔记(22)— STL string 类(字符串赋值、访问、拼接、查找、翻转、大小写转换)

    1. 实例化和赋值 STL string #include <string> #include <iostream>int main () {using namespace s ...

  7. C++ 笔记(19)— 标准模板库(STL容器、STL迭代器、STL算法、STL容器特点、STL字符串类)

    C++ 标准库可以分为两部分: 标准函数库: 这个库是由通用的.独立的.不属于任何类的函数组成的.函数库继承自 C 语言. 面向对象类库: 这个库是类及其相关函数的集合. C++ 标准库包含了所有的 ...

  8. STL map 简介

    STL map 简介 转载于:http://www.cnblogs.com/TianFang/archive/2006/12/30/607859.html 1.目录 map简介 map的功能 使用ma ...

  9. 【STL源码剖析读书笔记】【第5章】关联式容器之hashtable

    1.hashtable在插入.删除.搜寻操作上具有"常数平均时间"的表现,不依赖输入元素的随机性. 2.hashtable通过hashfunction将元素映射到不同的位置,但当不 ...

  10. C++ stl vector介绍

    转自: STL vector用法介绍 介绍 这篇文章的目的是为了介绍std::vector,如何恰当地使用它们的成员函数等操作.本文中还讨论了条件函数和函数指针在迭代算法中使用,如在remove_if ...

最新文章

  1. Ubuntu环境下docker的安装
  2. 关于 iOS 10 中 ATS 的问题
  3. 从函数调用过程中的堆栈变化理解缓冲区溢出
  4. FreeJTS部标视频平台:JT/T808、JT/T809、JT/T796、JT/T794、JT/T1078、苏标ADAS的区别
  5. 第一行代码学习笔记第九章——使用网络技术
  6. linux下搭建git服务器
  7. 美团外卖Android平台化的复用实践
  8. 关于使用layer弹出框展现echarts不显示的问题
  9. 山西台达plc可编程控制器_(PLC)可编程控制器的编程语言你了解吗?不妨看看...
  10. HTML标记语言——文档标记设置
  11. 闪光css,css实现图片闪光效果
  12. 人工智能学习思维导图
  13. java后台生成内嵌logo的二维码图片以及添加文字
  14. 如何选择毕业设计的题目?
  15. C++课后作业 10.教材习题7_6:哺乳动物类Mammal派生出狗类Dog
  16. Flume之HDFS Sink 的参数解析及异常处理
  17. 小程序之100推荐:801~900
  18. 国家级专精特新小巨人企业是什么?
  19. 我的机器学习支线「模型复杂度」
  20. 【ps功能精通】1.简单了解PS

热门文章

  1. Electron系列教程——第二篇:第一个示例
  2. 计算机专业校企合作的论文,高校计算机专业校企合作创新研究论文
  3. 数码相机使用经验技巧
  4. 鸿蒙渊更新公告,天下3易信公众平台
  5. linux内存硬件检测工具,13种在 Linux 系统上检测 CPU 信息的工具
  6. 7-14 十六进制转十进制
  7. ipad2/3分辨率
  8. ORCAL数据库DB_LINK和触发器简单使用
  9. sem的在c语言意义,sem测试题
  10. Unity/c#鼠标右键控制相机围绕物体旋转/滚轮控制远近