面向对象程序设计课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《面向对象程序设计》课程设计
课程代码:*****(采用现行5位数字的课程代码)
课程名称:面向对象程序设计课程设计
设计周数:1周
学分:0.5学分
课程类别:必修课
一、课程设计的目的与任务
面向对象程序设计课程设计是计算机科学与技术、网络工程、信息管理与信息系统等专业集中实践性环节之一,是学习完《面向对象程序设计》课程后进行的一次全面的综合练习。通过课程设计,学生可以将本课程所学知识点融会贯通,举一反三,加深实践与理解,提高学生综合运用所学知识的能力;另一方面,在参与一系列子项目的实践过程中,能使学生获得相关项目管理和团队合作等众多方面的实践经验。其目的在于加深对面向对象程序设计理论和基本知识的理解,通过对所选项目的分析、程序算法的设计、运行与调试过程的分析,使学生掌握基本的信息系统分析方法、设计方法和上机操作的各种技巧,对培养学生的逻辑思维能力、团队合作精神、创新能力、动手操作能力各方面素质有提供了良好的实践平台,为后续课程的学习打下一定的基础。
二、本课程设计的基本理论
本课程设计使用面向对象程序设计的方法解决实际问题,涵概了课程的所有重要知识点,如类与对象、继承与组合、虚函数与多态性等。
三、课程设计的形式与基本要求
形式:召开课程设计动员会,根据学生的学习水平和特长进行分组,每组选择指定课程设计的题目和内容。学生在规定的时间内,经过小组的协同工作和指导教师的辅导,完成所选课题的设计,最后由指导教师进行验收及评定。
基本要求:要求学生做好预习,认真分析设计过程中涉及到的算法,并确定所选课题的功能模块,详细描述各模块的具体内容;用流程图描述实现算法,根据算法进行代码的编写,最后进行反复上机调试修改,直到输出正确结果为止。
认真写好课程设计报告,根据每组学生的分工,各自写出对解决问题的详细分析、模块功能、调试结果,最后将课程设计报告上交给指导教师。
四、课程设计的内容
选题一:员工管理信息系统
(1)建立职工信息数据,包括职工编号、姓名、性别、工资、出生时间、部门、参加工作时间和年龄(必须计算得到)。
(2)使用继承的方法构造至少3个类,(即雇员类——基类,教师类和工人类——派生类)类中使用相应的对象放置10个职工信息。
(3)编写同名display()成员函数,用来输出数组的内容。
(4)按不同类别输出职工信息,比如按系输出教师信息。
(5)要求对“<<”和“>>”运算符进行重载。考虑到输人职工编号时,也会因不小心输入空格,而且名字中也需要有空格,所以重载“>>”运算符时,需要满足这个要求。
(6)计算职工的平均年龄。
(7)检索(查找)指定信息,如按姓名检索、按年龄检索。
(8)参考界面如下:
1-增加一位职工(教师、工人)记录
2-显示全部职工(教师、工人)记录
3-计算职工(教师、工人)的平均年龄
4-删除一个职工(教师、工人)记录
5-按系输出教师信息
6-按姓名检索(教师、工人)职工
7-结束程序运行
选题二:简单车辆管理系统
某运输公司需要对其下所有的各种车辆进行管理,拟建立一个车辆管理系统进行管理,该系统能够实现以下功能:
(1)利用类、继承的相关理论知识,建立合理的类,能够管理至少5种车型,各种车型的相关数据,根据需要自行设定。
(2)能够统计出该公司,所有车辆的累积行驶里程。
(3)能够分类统计出每一类车辆的累积行驶里程、资产总额、驾驶员数量等相关信息。
(4)能够根据驾驶员信息查找该驾驶员驾驶的车辆的详细信息。
(5)能够统计出该公司车辆的总数额以及每类车辆的数量。
(6)能够实现某个类型车辆的添加和删除。
选题三:仓库管理信息系统
仓库管理涉及计划、物料平衡、采购、入库、出库、库存等业务,这些业务涉及大量的数据和信息,利用计算机技术实现仓库管理,是提高公司管理水平的有效方法。该系统要求实现的功能如下:
(1)登陆界面及用户模块的设计(登陆界面、密码修改、用户角色权限的设置)。
(2)物资信息管理:添加物资信息、浏览物资信息、修改物资信息、查询物资信息。
(3)入库信息管理:添加、浏览、修改、查询入库信息。
(4)出库信息管理:添加、浏览、修改、查询出库信息。
(5)库存信息管理:浏览库存信息、查询库存信息。
选题四:字符串类的设计
定义字符串类(String),包含存放字符串的字符数组和字符串中字符的个数。
(1)字符串的输入与赋值。
(2)字符串的运算:连接、复制、查找、交换、求子串、比较。
(3)字符串的输出。
(4)要求对字符串的输入和输出都用文件实现。
选题五:复数计算器
要求所设计的复数计算器可以进行+、 - 、* 、+=、 -=、*=、++、--、>=、 <=、 ==、!=运算符,其中>=、<=是针对复数的模进行运算。
(1)设计输入重载函数,要求能接收从键盘输入a+bi形式的复数,在程序中可以识别出实部虚部并正确赋值。
(2)设计计算器测试程序,对加减法进行测试,要求在两位数以内进行,对乘法进行测试,乘法要求为一位数的运算
(3)设计记录功能,可以记录下不同用户使用计算器的情况,记录以文件的形式保存在计算机内,开机时要求用户输入用户名,显示该用户以前的记录。用户记录包括:做了多少次加减法、乘法、进行测试的次数,后3次的测试平均分等,在退出计算器程序时用新的用户记录代替原有的记录。
选题六:单链表操作
建立一个单链表类,该链表类能够实现以下功能:
(1)有合理的构造函数,能够由用户输入数据,创建链表,如果用户输入的数据不合理,能够给出提示信息。
(2)能够实现单链表元素的遍历。
(3)能够在指定位置插入一个元素。
(4)能够删除指定位置的元素。
(5)能够统计单链表中的元素个数并输出。
选题七:学生选修课程管理系统
高校的学生信息包括:学号、姓名、性别、年龄、系别、班级、联系方式等信息。课程信息包括:课程代码、课程名称、课程性质、总学时、学分、开课学期、选修人数等信息。学生可对课程信息进行查询,选修符合要求的课程。根据课程信息和学生信息完成对课程的选修,需要专门的一个管理类来完成选修工作。
(1)添加功能:程序能够任意添加课程和学生记录,可提供选择界面供用户选择所要添加的类别,要求编号要唯一,如果添加了重复编号的记录时,则提示数据添加重复并取消添加。