一.课程设计目的
C++课程设计是集中实践性环节之一,是学习完《C++程序设计基础》课程后的综合练习。
要求:
熟练掌握C++语言的基本知识和技能;
基本掌握面向对象程序设计的思想和方法;
能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题,从而提高动手编程解决实际问题的能力。
二. 课程设计的总体要求
设计题目选定要求:
(1)本次课程设计主要以小组为单位,每3~4个人一组选定一题目,在指定的时间内完成所选题目的设计并实现相应的功能;
(2)设计中要有明确的分工。
课程设计报告必须包含下列6个大的部分:
(1)完成系统需求分析:包括系统设计目的与意义;系统功能需求,输入输出的要求;
(2)完成系统总体设计:包括系统功能分析,系统功能模块划分与设计(系统功能模块图);
(3)完成系统详细设计:系统中各模块的具体功能实现;
(4)调试运行;(说明测试数据来源和粘贴运行界面)
(5)总结报告。(软件质量评价,课程设计过程中软件开发合作评价,课程设计过程中软件开发时间分配评价,经验与教训,总结与体会等)。
(6)附完整代码
注:不得抄袭他人程序,需要上交的资料有:
(1)小组人员名单(组长,组员)及详细的分工明细;
(2)每个小组交完整课程设计报告1份(打印稿),完整程序代
码1份(电子稿)。
(3)每个人交课程设计心得一份(手写或打印稿)。
上交资料最后日期:6月18日(第18周星期三)
三.课程设计题目
❑(1).学生成绩管理系统
❑(2).图书信息管理系统
❑(3).宾馆房间管理系统
❑(4).公司人事管理系统
❑(5).教职工信息管理系统
❑(6).商店仓库管理系统
❑(7).通信录的设计
❑(8).学生信息管理
❑(9). 学生成绩分析系统
❑(10). 宠物商店管理系统
四. 各个系统的功能要求
1.学生成绩管理系统
设计一个学生成绩管理程序,实现按班级完成对学生成绩信息的录入和修改,并用文件保存。实现按班级输出学生的成绩单;实现按学号和姓名进行查询,按平均成绩进行排序功能。
基本要求:
1)至少包含三个类:Person类(人员的基本属性),student类(继承Person),Manage类(实现对成绩信息的操作)。
2)用文本编辑器编写一个score.txt的文件(包含20个以上记录),包含数据信息有:学号(6位以上字符串,不允许重复),姓名,班级(至少有2个),课程成绩(至少3门);在运行程序时自动载入,若文件不存则创建一个空文件。平均成绩不作为类成员,只是在程序运行时产生,也不须保存。
3)菜单功能:按班录入成绩,查询个人成绩(拥有二级菜单:学号,姓名),修改成绩(按学号,课程),按班输出成绩单,按平均分排序显示。
2. 图书信息管理系统
设计一图书信息管理系统,实现以下功能:系统以菜单方式工作,图书信息录入功能(图书信息用文件保存);图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等;图书信息浏览功能(输出所有图书信息);查询和排序功能: 按书名查询(显示所有同名的书),按作者名查询(所有该作者的书);图书信息的删除与修改。
基本要求:
1)至少包含三个类:Date类(日期),Book类(图书信息),Manage类(实现对图书信息的管理)。
2)用文本编辑器编写一个book.txt的文件,文件中应包含20条以上记录,且有同姓名不同作者的书和同一作者的多部著作,包含数据信息即图书信息。在运行程序时自动载入,若文件不存则创建一个空文件。
3. 宾馆房间管理系统
设计一个程序实现对宾馆房间的基本管理,系统主要功能:
1)客房信息的录入功能;
2)客人入住登记、客人退房结算;
3)客房信息浏览功能,浏览全部客户的信息,客房信息和客户信息分别保存于不同文件;
4)客房信息查询,查询空房间情况,实现按房间号查询;
基本要求:
1)至少包含四个类:Date类(日期),客房Room类,主要包含客房信息(房号,类型,是否有客人等)及相关操作;客人Guest类,主要完成客户信息(身份证,入住时间,姓名,性别等)的相关操作;Manage类实现对客房的管理。
2)用文本编辑器编写一个room.txt的文件,文件中应包含20条以上记录(房间的初始状态),再编辑一个guest.txt的文本文件,包含10条以上客人记录。在运行程序时自动载入,若文件(必须有)则退出程序。
4.公司人事管理系统
一个小公司包含四类人员:经理,技术人员,销售人员和销售经理,各类人员的工资计算方法如下:
经理:固定月薪(8000);
技术人员:月薪按技术等级(1~8)(1600+等级*300);
销售人员:按提成(4%*销售额);
销售经理:底薪+提成(1500+0.2%*总销售额);
设计一个管理程序,实现对各类人员的信息输入,修改,和显示。
设计要求:
1)设计一个Person类:编号(自动产生),姓名,岗位,工资(可设为protected),成员函数可设一个计算月薪的纯虚函数;另外再设计四个针对四类人员的类均继承Person;添加相应的派生类数据成员和函数,经理和销售经理可以没有新的数据成员,计算月薪即可;技术人员添加技术等级数据成员,销售人员添加数据成员:销售额。还需设计一个Manage类来完成各种操作。(提示:人员数组vector,数据类型为基类指针)
2)为了设计简洁,假定经理和销售经理都只能有一个;用文本编辑器编辑一个文本文件(总数20人以上)包含各类人员的信息;并且在程序中能修改保存。
3)菜单功能:添加人员(输入),修改信息,浏览信息,按姓名查找,月薪排序。
5. 教职工信息管理系统
设计一个学校职工管理系统,要求实现如下功能:建立职工信息数据,包括职工编号、姓名、性别、工资、出生时间、岗位、参加工作时间和年龄(必须计算得到),初始模拟数据通过文本文件创建(记录不少于20个),通过程序载入。求职工(工人和教师分开)的平均年龄;查找、添加或删除一个雇员;浏览全部信息等。
设计要求:
(1)使用继承的方法构造3个类,(即雇员类——虚基类,教师类(有职称和所在系,按职称工资发工资)和工人类(有技术级和部门,按技术级发工资)——派生类),另外再设计一个管理类,实现对职工的管理;
(2)用文本编辑器编辑一个文本文件(总数20人以上)包含各类人员的信息,程序运行时进行初始化数据,使用vector数组存放对象指针。并能保存数据为磁盘文件。
(3)编写同名display()成员函数既虚函数,用来输出所有雇员的信息。要求对“<<”和“>>”运算符进行重载,实现信息的输入,输出。
(4)菜单功能:添加人员,修改人员信息,浏览人员信息,按姓名查找,平均年龄,删除人员。
6.商店仓库管理系统
系统应具有下列主要功能:输入记录功能:从键盘输入货物信息:商品代号,商品名称,数量,价格,所属类别(如家用电器、日用品等)等;修改商品数量、删除记录功能、按商品代号查询、按商品代号排序并显示等功能。
设计要求:
(1)使用继承的方法构造至少3个类,(即商品类Goods——虚基类,家用电器类和日用品类——派生类),另外再设计一个管理类,实现对商品的管理;
(2)用文本编辑器编辑一个文本文件(总数20件以上)包含各类商品信息,程序运行时进行初始化数据,使用vector数组存放对象指针。并能保存数据为磁盘文件。
(3)编写同名display()成员函数既虚函数,用来输出所有商品的信息。要求对“<<”和“>>”运算符进行重载,实现信息的输入,输出。
(4)菜单功能:添加(输入)记录,修改商品数量,浏览商品信息,按商品代号查找,删除记录。
7.通信录的设计
设计一简单的通讯录管理系统可以对通信录进行简单管理,系统的主要功能:显示所有记录,分类显示,分别按姓名和电话查询记录,添加、删除和修改联系人,保存记录等。
设计要求:
(1)定义人员(person)类,其中至少包括姓名、性别、电话、QQ号和类别(例如:亲人、同学、朋友等)。另外再设计一个通信录类,实现对各类人员的操作;
(2)用文本编辑器编辑一个文本文件(总数20人以上)包含各类人员的信息,程序运行时进行初始化数据,使用vector数组存放。并能保存数据为磁盘文件。
(3)要求对“<<”和“>>”运算符进行重载,实现信息的输入,输出。
(4)菜单功能:添加联系人,根据姓名修改记录,显示所有记录,分类显示,查找记录,删除记录,保存记录。
8.学生信息管理系统
设计一个管理系统实现对学生基本信息(至少包括姓名,学号,性别,出生日期,宿舍号,年龄(通过计算得到)的管理;具有数据的录入、显示、保存、查询(按学号或姓名查询)、修改和删除等功能。
设计要求:
(1)至少包含3个类,日期Date类(具有属性:year(年),month(月),day(日))内嵌子对象;学生Student类包含学生的基本信息和操作,输入和输出操作要求重载“>>”和“<<”运算符。另外再设计一个管理类,实现对学生数组的操作;
(2)用文本编辑器编辑一个文本文件(总数20人以上)包含学生的基本信息,程序运行时进行初始化数据,使用vector数组存放。并能保存数据为磁盘文件。
(3)菜单功能:添加记录,根据姓名修改记录,显示所有记录,查找记录,删除记录,保存文件。
9.学生成绩分析系统
设计一个对学生成绩进行分析的程序程序,实现一个班级的学生成绩进行排序、求平均分,求最高分、最低分以及个分数段的人数进行统计等功能。并实现输出分析结果。
设计要求:
(1)至少包含2个类,学生Student类包含学生的基本信息(学号id,姓名,语文,数学,英语)和操作,输入和输出操作要求重载“>>”和“<<”运算符。另外再设计一个管理类,实现对学生成绩的操作;
(2)用文本编辑器编辑一个文本文件(总数20人以上)包含学生的基本信息和成绩(要求各个分数段均有),程序运行时进行初始化数据,使用vector数组存放。计算平均成绩(作为成员函数)并随记录一起显示,分析结果只需要显示,不需保存。
(3)菜单功能:显示所有记录,根据姓名查找记录,最高成绩,最低成绩,各科的班平均成绩,不及格的学生,个分数段人数统计。(说明:用二级菜单,选择相应的课程显示;分数段为:0~59,60~69,70~79,80~,90~100)
10. 宠物商店管理系统
设计一个程序实现对小动物商店的简单管理,主要功能:宠物基本信息(编号,名称,体重,年龄,类别,价格,性格等)的输入、显示、查询等功能;宠物的交易、状态及顾客(宠物主人)的记录查询和修改。
设计要求:
(1)至少包含4个类,日期Date类记录交易日期,宠物PetAnimals类包含宠物的基本信息和基本操作,输入和输出操作要求重载“>>”和“<<”运算符。顾客Customer类记录顾客的信息,另外再设计一个管理类,实现对宠物情况的操作;
(2)用文本编辑器编辑一个文本文件(总数20个以上小动物)包含至少有3类(如狗、猫、鸟等),程序运行时进行初始化数据,使用vector数组存放。另外再编写一个记录交易的文本文件,记录交易的日期、宠物名称、宠物类别、顾客姓名、交易金额等,有5条以上记录即可。
(3)菜单功能:显示所有宠物信息,根据类别显示记录,根据名称查询记录,添加(购入)宠物,删除(卖出)宠物,交易记录,按日期查询交易记录。下载本文