面向对象程序设计课程设计指导书.docx
《面向对象程序设计课程设计指导书.docx》由会员分享,可在线阅读,更多相关《面向对象程序设计课程设计指导书.docx(18页珍藏版)》请在冰豆网上搜索。
面向对象程序设计课程设计指导书
学校代码:
10128
《面向对象程序设计课程设计》指导书
李文静吕岩编
内蒙古工业大学
信息工程学院计算机系
2014年9月
目录
《面向对象程序设计课程设计》教学大纲1
《面向对象程序设计课程设计》总体要求3
课程设计题目说明6
题目1高校人员信息管理系统设计6
题目2公司员工信息管理系统设计7
题目3媒体库管理系统设计8
题目4车辆管理系统设计10
题目5学生选修课程系统设计12
题目6学生成绩管理系统设计13
题目7课程设计选题管理系统设计14
题目8高校水电费管理系统设计15
附录一课程设计说明书封面16
附录二课程设计任务书16
《面向对象程序设计课程设计》教学大纲
一、课程基本信息
课程编码
020217023
学时(周)
1
课程类别
实践性教学环节
学分数
1
开出学期
3
开出单位
计算机系
适用专业
计算机科学与技术
二、目的与基本要求
面向对象程序设计课程设计是集中实践性环节之一,是学习完面向对象程序设计课程后进行的一次全面的综合练习。
要求学生达到熟练掌握C++语言的基本知识;基本掌握面向对象程序设计的思想和方法;能利用所学的基本知识和技能解决简单的面向对象程序设计的问题,从而提高动手编程解决实际问题的能力。
三、基本内容和安排
1、主要内容
每人一组,从下面题目中任选一个相对比较熟悉的题目完成:
题目1高校人员信息管理系统设计
题目2公司员工信息管理系统设计
题目3媒体库管理系统设计
题目4车辆管理系统设计
题目5学生选修课程系统设计
题目6学生成绩管理系统设计
题目7课程设计选题管理系统设计
题目8高校水电费管理系统设计
2、具体要求:
(1)利用面向对象的方法以及C++的编程思想来完成系统的设计;
(2)要求在设计的过程中,建立清晰的类层次;
(3)在系统中至少要定义一个类,类中要有各自的属性和方法;
(4)在系统的设计中,至少要用到面向对象的一种机制。
(5)每个学生自己独立写出一份设计报告,要求设计方案和指导思想正确,格式规范,内容全面,叙述清楚,分析和总结合理。
3、进度安排:
(1)根据课程设计的要求,确定设计题目;(0.5天)
(2)查找相关资料,进行应用程序总体结构、使用功能的设计;(0.5天)
(3)进行应用程序的界面设计和源程序代码的编写;(2.5天)
(4)设计说明书的撰写、答辩(1.5天)
四、组织及指导方式
1、分组情况:
学生每人一组。
2、指导方式:
全部在机房完成,集体答疑、机房辅导。
3、指导教师配备:
每个班由两位老师指导,进行分阶段指导和验收。
五、考核方式
1、考核方式
考核采取平时与答辩相结合
2、成绩评定
最终成绩包括平时成绩(20%)、报告(30%)、答辩验收(50%)。
成绩分为:
优秀、良、中、及格和不及格五个等级。
六、建议教材与教学参考书
1、建议教材
[1]《C++语言程序设计(第四版)》,郑莉,清华大学出版社,2010.7
2、教学参考书
[1]《C++语言程序设计案例教程》,郑莉,清华大学出版社,2005
[2]《C++程序设计教程》,钱能主编,清华大学出版社,1999.4
[3]《C++程序设计》,谭浩强,清华大学出版社,2004
[4]《C++程序设计实践指导》,谭浩强,清华大学出版社,2005
[5]《C++程序设计课程设计》,刘振安,机械工业出版社,2004.8
七、编制说明
编制者:
软件基础课程组组长:
赵俊生
执笔人:
李文静、李文静编制时间:
2014年9月
《面向对象程序设计课程设计》总体要求
一、课程设计的目的
课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。
提高学生运用所学知识解决实际问题的能力。
利用所学的面向对象及C++编程知识和技巧,通过布置具有一定难度的程序设计题目,并且要求学生独立完成所布置题目,在分析设计过程中,要求学生养成良好的编程习惯,学会分析简单的实际问题,并能利用所学的知识建立系统的逻辑结构,学会简单的调试技巧和方法。
根据系统的功能要求,要求学生在教师的指导下逐步完成应用程序的设计。
二、课程设计结构及要求
面向对象程序设计不仅能进行功能抽象,而且能进行数据抽象。
课程设计的基础是设计类,所以类的有关概念是重点,尤其要抓住抽象、封装、继承和多态性等要素。
要求学生的课程设计中要涉及类、继承的使用。
类设计的重点是如何选择数据成员和成员函数。
成员函数设计的难点是选择函数类型及其参数传递方式。
数据类型及程序控制方式仍然是C++语言的基础;数组、指针、类和结构的使用方法是编程的核心技术。
学生学习时,常常避开多文件编程和使用文件,但这些要求是程序员必备的知识,因此课程设计中应加强这方面的训练。
1、使用类和对象设计程序
设计类就是根据数据封装的要求,抽象出合适的类。
换言之,就是如何选择数据成员和成员函数。
这部分的任务就是根据测试程序及其输出结果,设计一个满足要求的类。
这各类涉及到类的构造函数和析构函数,并要求使用多种方法实现本课程设计。
2、使用菜单
菜单是应用程序的界面。
这部分的任务是设计一个含有多个菜单项,通过菜单选择不同的功能。
文件操作是非常有用而重要的技术,编制实用程序都离不开文件存取。
要求熟悉多文件菜单编程和面向对象程序设计的思想。
3、通过组合和派生构成新的类
这部分的设计任务是使用组合和派生构成新的类。
可以通过包含及派生两种方法实现。
目的是使学生掌握在不同的实现方法中,如何设计相应的构造函数和复制构造函数,进一步理解程序如何调用它们及析构函数的执行顺序。
公有继承的赋值兼容性规则是一个重要规则。
通过这部分的设计,可以进一步理解这个概念,为理解虚函数的多态性打下基础。
4、函数的设计
函数进一步扩充程序,完善功能。
5、使用适当的注释
三、设计内容及安排
1、题目
题目1高校人员信息管理系统设计
题目2公司员工信息管理系统设计
题目3媒体库管理系统设计
题目4车辆管理系统设计
题目5学生选修课程系统设计
题目6学生成绩管理系统设计
题目7课程设计选题管理系统设计
题目8高校水电费管理系统设计
2、安排
(1)查阅资料,了解课题的目的、意义、原理和实现方法
(2)运用面向对象程序设计的思想,分析、设计完整的课题实现方法。
(3)上机完成设计目标,包括界面设计、输入输出数据接口调试、课题的模块集成及程序调试。
(4)编写设计说明书
(5)演示答辩
四、课程设计对编程设计说明书等具体量化要求
1、程序设计要求模块化并调试通过
2、程序功能要能够正确演示
3、独立完成设计说明书,要求有A4纸质并装订整齐。
五、课程设计考核方法及成绩评定
1、优秀:
出勤良好、设计说明书优秀、软件演示优秀、答辩全部正确
2、良:
出勤良好、设计说明书良好、软件演示良好、答辩大部分正确
3、中:
出勤合格、设计说明书中等、软件演示中等、答辩基本正确
4、及格:
出勤合格、设计说明书合格、软件演示合格、答辩基本合格
5、不及格:
出勤不合格、设计说明书不合格、软件演示不合格、答辩不合格
六、上交材料
1、纸质版的课程设计说明书一份
2、电子版的课程设计说明书、源程序,保存在以学号和姓名命名(例如,学号为200920201018,姓名为张三,则文件夹命名为”200920201018张三”)的文件中。
课程设计题目说明
题目1高校人员信息管理系统设计
1、问题描述
某高校有四类员工:
教师、实验员、行政人员,教师兼行政人员;共有的信息包括:
编号、姓名、性别、年龄等。
其中,教师还包含的信息有:
所在系部、专业、职称;实验员还包含的信息由:
所在实验室、职务;行政人员还包含的信息有:
政治面貌、职称等。
2、功能要求
(1)添加功能:
程序能够任意添加上述四类人员的记录,可提供选择界面供用户选择所要添加的人员类别,要求员工的编号要唯一,如果添加了重复编号的记录时,则提示数据添加重复并取消添加。
(2)查询功能:
可根据编号、姓名等信息对已添加的记录进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。
(3)显示功能:
可显示当前系统中所有记录,每条记录占据一行。
(4)编辑功能:
可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。
(5)删除功能:
主要实现对已添加的人员记录进行删除。
如果当前系统中没有相应的人员记录,则提示“记录为空!
”并返回操作;否则,输入要删除的人员的编号或姓名,根据所输入的信息删除该人员记录,如果没有找到该人员信息,则提示相应的记录不存。
(6)统计功能:
能根据多种参数进行人员的统计。
能统计四类人员数量以及总数,
统计男、女员工的数量。
(7)保存功能:
可将当前系统中各类人员记录存入文件中,存入方式任意。
(8)读取功能:
可将保存在文件中的人员信息读入到当前系统中,供用户进行使用。
3、问题的解决方案
根据系统功能要求,可以将问题解决分为以下步骤:
(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;
(2)分析系统中的各个实体及它们之间的关系;
(3)根据问题描述,设计系统的类层次;
(4)完成类层次中各个类的描述;
(5)完成类中各个成员函数的定义;
(6)完成系统的应用模块;
(7)功能调试;
(8)完成系统总结报告。
题目2公司员工信息管理系统设计
1、问题描述
某公司需要存储雇员的编号、姓名、性别、所在部门,级别,并进行工资的计算。
其中,雇员分为经理、技术人员、销售人员和销售经理。
设计一程序能够对公司人员进行管理,应用到继承、抽象类、虚函数、虚基类、多态和文件的输入/输出等内容。
2、功能要求
(1)添加功能:
程序能够任意添加上述四类人员的记录,可提供选择界面供用户选择所要添加的人员类别,要求员工的编号要唯一,如果添加了重复编号的记录时,则提示数据添加重复并取消添加。
(2)查询功能:
可根据编号、姓名等信息对已添加的记录进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息;
(3)显示功能:
可显示当前系统中所有记录,每条记录占据一行。
(4)编辑功能:
可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。
(5)删除功能:
主要实现对已添加的人员记录进行删除。
如果当前系统中没有相应的人员记录,则提示“记录为空!
”并返回操作;否则,输入要删除的人员的编号或姓名,根据所输入的信息删除该人员记录,如果没有找到该人员信息,则提示相应的记录不存。
(6)统计功能:
能根据多种参数进行人员的统计。
例如,统计四类人员数量以及总数,
或者统计男、女员工的数量等信息。
(7)保存功能:
可将当前系统中各类人员记录存入文件中,存入方式任意。
(8)读取功能:
可将保存在文件中的人员信息读入到当前系统中,供用户进行使用。
3、问题的解决方案
根据系统功能要求,可以将问题解决分为以下步骤:
(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;
(2)分析系统中的各个实体及它们之间的关系;
(3)根据问题描述,设计系统的类层次;
(4)完成类层次中各个类的描述;
(5)完成类中各个成员函数的定义;
(6)完成系统的应用模块;
(7)功能调试;
(8)完成系统总结报告。
题目3媒体库管理系统设计
1、问题描述
图书馆中的资料很多,如果能分类对其资料流通进行管理,将会带来很多方便,因此需要有一个媒体库管理系统。
图书馆共有三大类物品资料:
图书、视频光盘、图画。
这三类物品共同具有的属性有:
编号、标题、作者、评级(未评级,一般,成人,儿童)等。
其中图书类增加出版社、ISBN号、页数等信息;视频光盘类增加出品者的名字、出品年份和视频时长等信息;图画类增加出品国籍、作品的长和宽(以厘米计,整数)等信息。
2、功能要求
(1)添加物品:
主要完成图书馆三类物品信息的添加,要求编号唯一。
当添加了重复的编号时,则提示数据添加重复并取消添加;当物品库已满,则提示不能再添加新的数据。
(2)查询物品
可按照三种方式来查询物品,分别为:
按标题查询:
输入标题,输出所查询的信息,若不存在该记录,则提示“该标题不存在!
”;
按编号查询:
输入编号,输出所查询的信息,若不存在该记录,则提示“该编号不存在!
”;
按类别查询:
输入类别,输出所查询的信息,若不存在记录,则提示“该类别没有物品!
”;
(3)显示物品库:
输出当前物品库中所有物品信息,每条记录占据一行。
(4)编辑物品:
可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。
(5)删除物品:
主要完成图书馆物品信息的删除。
如果当前物品库为空,则提示“物品库为空!
”,并返回操作;否则,输入要删除的编号,根据编号删除该物品的记录,如果该编号不在物品库中,则提示“该编号不存在”。
(6)统计信息
输出当前物品库中总物品数,以及按物品类别,统计出当前物品中各类别的物品数并显示。
(7)物品存盘:
将当前程序中的物品信息存入文件中。
(8)读出物品:
从文件中将物品信息读入程序。
3、问题的解决方案
根据系统功能要求,可以将问题解决分为以下步骤:
(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;
(2)分析系统中的各个实体及它们之间的关系;
(3)根据问题描述,设计系统的类层次;
(4)完成类层次中各个类的描述;
(5)完成类中各个成员函数的定义;
(6)完成系统的应用模块;
(7)功能调试;
(8)完成系统总结报告。
题目4车辆管理系统设计
1、问题描述
车辆管理系统主要负责各种车辆的常规信息管理工作。
系统中的车辆主要有大客车、小轿车和卡车。
每种车辆有车辆编号、车牌号、车辆制造公司、车辆购买时间、车辆型号(大客车、小轿车和卡车)、总公里数、耗油量/公里、基本维护费用、养路费、累计总费用等信息。
大客车还有载客量(最大载客数)信息,小轿车还有箱数(两厢或三厢)信息,卡车还有载重量等信息。
每台车辆当月总费用=油价*耗油量/公里+基本维护费用。
基本维护费用:
客车:
2000元/月,小轿车:
1000元/月,卡车:
1500元/月
2、功能要求
(1)添加车辆:
主要完成车辆信息的添加,要求编号唯一。
当添加了重复的编号时,则提示数据添加重复并取消添加;当车辆信息库已满,则提示不能再添加新的数据。
(2)查询车辆:
可按照三种方式来查询物品,分别为:
按车辆制造公司查询:
输入车辆制造公司,输出所查询的信息,若不存在该记录,则提示“该车辆制造公司不存在!
”;
按编号查询:
输入编号,输出所查询的信息,若不存在该记录,则提示“该编号不存在!
”;
按类别查询:
输入类别,输出所查询的信息,若不存在记录,则提示“该类别没有车辆!
”;
(3)显示车辆信息库:
输出当前车辆信息库中所有车辆信息,每条记录占据一行。
(4)编辑功能:
可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。
(5)删除车辆:
主要完成车辆信息的删除。
如果当前车辆信息库为空,则提示“车辆信息库为空!
”,并返回操作;否则,输入要删除的编号,根据编号删除该车辆的记录,如果该编号不在车辆信息库库中,则提示“该编号不存在”。
(6)统计信息
输出当前车辆信息库中总物品数,以及按车辆类别,统计出当前车辆信息库中各类别的物品数并显示。
(7)车辆信息存盘:
将当前程序中的车辆信息存入文件中。
(8)读出车辆信息:
从文件中将车辆信息读入程序。
3、问题的解决方案
根据系统功能要求,可以将问题解决分为以下步骤:
(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;
(2)分析系统中的各个实体及它们之间的关系;
(3)根据问题描述,设计系统的类层次;
(4)完成类层次中各个类的描述;
(5)完成类中各个成员函数的定义;
(6)完成系统的应用模块;
(7)功能调试;
(8)完成系统总结报告。
题目5学生选修课程系统设计
1、问题描述
高校中学生信息包括:
学号、姓名、性别、年龄、系别、班级、联系方式等信息。
课程信息包括:
课程代码、课程名称、课程性质、总学时、学分、开课学期、选修人数等信息。
学生可对课程信息进行查询,选修符合要求的课程。
根据课程信息和学生信息完成对课程的选修,需要专门的一个管理类来完成选修工作。
2、功能要求
(1)添加功能:
程序能够任意添加课程和学生记录,可提供选择界面供用户选择所要添加的类别,要求编号要唯一,如果添加了重复编号的记录时,则提示数据添加重复并取消添加。
(2)查询功能:
可根据编号、姓名等信息对已添加的学生和课程记录进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。
(3)显示功能:
可显示当前系统中所有学生和课程的记录,每条记录占据一行。
(4)编辑功能:
可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。
(5)删除功能:
主要实现对已添加的学生和课程记录进行删除。
如果当前系统中没有相应的记录,则提示“记录为空!
”并返回操作。
(6)统计功能:
能根据多种参数进行统计。
能统计学生人数、课程的门数、选修某门课程的学生的相关信息。
(7)保存功能:
可将当前系统中各类记录存入文件中,存入方式任意。
(8)读取功能:
可将保存在文件中的信息读入到当前系统中,供用户进行使用。
3、问题的解决方案
根据系统功能要求,可以将问题解决分为以下步骤:
(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;
(2)分析系统中的各个实体及它们之间的关系;
(3)根据问题描述,设计系统的类层次;
(4)完成类层次中各个类的描述;
(5)完成类中各个成员函数的定义;
(6)完成系统的应用模块;
(7)功能调试;
(8)完成系统总结报告。
题目6学生成绩管理系统设计
1、问题描述
学生信息包括:
学号、姓名、性别、年龄、班级等信息。
小学生除了包括学生所有信息外,还包括英语、数学和语文成绩。
中学生除了包括小学生所有信息外,还包括地理、历史成绩。
大学生除了包括学生所有信息外,还包括专业、英语、程序设计和高等数学等课程。
设计一程序能够对学生成绩进行管理,应用到继承、抽象类、虚函数、虚基类、多态和文件的输入/输出等内容。
2、功能要求
(1)添加功能:
程序能够添加不同学生的记录,提供选择界面供用户选择所要添加的类别,要求学号要唯一,如果添加了重复学号的记录时,则提示数据添加重复并取消添加。
(2)查询功能:
可根据学号、姓名等信息对已添加的学生记录进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。
(3)显示功能:
可显示当前系统中所有学生的记录,每条记录占据一行。
(4)编辑功能:
可根据查询结果对相应的记录进行修改,修改时注意学号的唯一性。
(5)删除功能:
主要实现对已添加的学生记录进行删除。
如果当前系统中没有相应的记录,则提示“记录为空!
”并返回操作。
(6)统计功能:
能根据多种参数进行统计。
能统计学生人数、总分、单科的平均分等。
(7)保存功能:
可将当前系统中各类记录存入文件中,存入方式任意。
(8)读取功能:
可将保存在文件中的信息读入到当前系统中,供用户进行使用。
(9)排序功能:
可按总分和单科成绩排名次。
3、问题的解决方案
根据系统功能要求,可以将问题解决分为以下步骤:
(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;
(2)分析系统中的各个实体及它们之间的关系;
(3)根据问题描述,设计系统的类层次;
(4)完成类层次中各个类的描述;
(5)完成类中各个成员函数的定义;
(6)完成系统的应用模块;
(7)功能调试;
(8)完成系统总结报告。
题目7课程设计选题管理系统设计
1、问题描述
课程设计题目包括:
编号、名称、关键词、实现技术、人员数(由几个人来完成)等信息。
学生信息包括:
学号、姓名、性别、年龄、班级、专业等信息。
2、功能要求
(1)添加功能:
程序能够添加学生的记录和课程设计题目记录,提供选择界面供用户选择所要添加的类别。
添加记录时,要求学号和编号要唯一。
如果添加了重复记录,则提示数据添加重复并取消添加。
(2)查询功能:
可根据学号、姓名、编号、名称等信息对已添加的学生和课程设计题目进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。
(3)显示功能:
可显示当前系统中所有学生的信息和课程设计题目信息,每条记录占据一行。
(4)编辑功能:
可根据查询结果对相应的记录进行修改,修改时注意学号的唯一性。
(5)删除功能:
主要实现对已添加的学生和课程设计题目记录进行删除。
如果当前系统中没有相应的记录,则提示“记录为空!
”并返回操作。
(6)统计功能:
能根据多种参数进行统计。
能按课程设计题目名称统计出学生选择该题目的人员的信息。
(7)保存功能:
可将当前系统中各类记录存入文件中,存入方式任意。
(8)读取功能:
可将保存在文件中的信息读入到当前系统中,供用户进行使用。
3、问题的解决方案
根据系统功能要求,可以将问题解决分为以下步骤:
(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;
(2)分析系统中的各个实体及它们之间的关系;
(3)根据问题描述,设计系统的类层次;
(4)完成类层次中各个类的描述;
(5)完成类中各个成员函数的定义;
(6)完成系统的应用模块;
(7)功能调试;
(8)完成系统总结报告。
题目8高校水电费管理系统设计
1、问题描述
住宿学生信息包括:
学号、姓名、性别、年龄、班级、用电量、用水量等信息。
教工信息包括职工号、姓名、性别、年龄、工作部门、用电量、用水量等信息。
能计算出学生和教工每月所要交的电费和水费。
定义一个人员类,实现学生和教工共同的信息和行为。
2、功能要求
(1)添加功能:
程序能够添加不同学生和教工的记录,提供选择界面供用户选择所要添加的类别,要求编号号要唯一,如果添加了重复编号的记录时,则提示数据添加重复并取消添加。
(2)查询功能:
可根据姓名、用水量、用电量信息对已添加的学生或教工记录进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。
(3)显示功能:
可显示当前系统中所有学生和教工的记录,每条记录占据一行。
(4)编辑功能:
可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。
(5)删除功能:
主要实现对已添加的学生或教工记录进行删除。
如果当前系统中没有相应的记录,则提示“记录为空!
”并返回操作。
(6)统计功能:
能根据多种参数进行统计。
能统计学生和教工的用水用电量、所要交纳的电费和水费、未交纳水电费的人员信息等。
(7)保存功能:
可将当前系统中各类记录存入文件中,存入方式任意。
(8)读取功能:
可将保存在文件中的信息读入到当前系统中,供用户进行使用。
(9)计算电费和水费。
学生每月都有一定额度的水电是免费使用的,超过的部分需要交费。
3、问题的解决方案
根据系统功能要求,可以将问题解决分为以下步骤:
(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;