面向对象程序设计课程设计.doc





《面向对象程序设计课程设计.doc》由会员分享,可在线阅读,更多相关《面向对象程序设计课程设计.doc(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、面向对象程序设计课程设计本课程设计是在学习面向对象程序设计之后的实践教学环节。该实践教学是软件设计的综合训练,包括问题分析、总体结构设计、用户界面设计、程序设计基本技能和技巧。要求学生在设计中逐步提高程序设计能力,培养科学的软件工作方法。学生通过课程设计在下述各方面得到锻炼:1、能根据实际问题的具体情况,结合面向对象的基本理论和基本技巧,正确分析问题,并能设计出解决问题的有效算法与程序。2、提高程序设计和调试能力。学生通过上机实习,验证自己设计的算法和程序的正确性。学会有效利用基本调试方法,迅速找出程序代码中的错误并且修改,进一步提高程序设计水平。课程设计内容1、了解并掌握中小型综合应用程序的
2、一般设计方法,具备初步的独立分析和设计能力;2、初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;3、提高综合运用所学的理论知识和方法独立分析和解决问题的能力;4、训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风;5、课题的代码要求达到一定工作量,并具有一定的深度和难度;6、根据课题程序的分析和设计过程,撰写课程设计报告。课程设计要求课程设计结束应提交程序源代码、课程设计报告的电子稿和打印稿,以作为整个课程设计评分的书面依据和存档材料。课程设计报告以规定的格式书写、打印并装订,排版及图、表要清楚、工整。课程设计报告的内容如下:
3、 1封面:题目、班级、学号、姓名、指导教师和完成日期。2正文包括以下内容:1、根据实现的功能,划分出合理的对象类,明确对象类间的关系。2、 为每个对象类设计正确的域和方法,为每个方法设计合理的方法体。同时,为对象类及内部的域和方法运用正确的修饰符,如访问控制符等。3、编程简练,程序功能齐全,能正确运行。4、说明书、流程图要清楚,规范。5、总结和体会:程序编写和调试过程中遇到了哪些问题,是如何解决的,以及对设计与实现过程的回顾和分析;经验和体会等。6、课题完成后必须按要求提交课程设计报告,格式规范,内容详实。1、职工信息表使用继承的方法,编写职工的信息的表,职工信息简表,并利用多态性实现信息的输
4、出。设计要求:设计要求实现如下功能:1、建立职工信息数据,包括职工编号、姓名、性别和年龄。2、建立只含有编号和姓名的职工信息简表。3、使用继承的方法构造2个类,使用相应的容器放置10个职工信息。4、编写同名display()成员函数,用来输出数组的内容。5、另外编制一个函数printer(),用来根据实际对象输出他们的内容。6、要求能够存储在文件中,可以指定文件调入职工信息。例如:详细信息是编号 姓名 性别 年龄101 张三 男 21简表信息是编号 姓名 101 张三注意职工信息表和职工信息简表的对应关系1、实现集合类MyVector 定义并实现一个集合类MyVector,集合类中curSiz
5、e表明当前集合中有几个元素,集合中最多含maxSize个元素,存放集合元素的数组是动态的。要求提供的方法有:(1)增加一个元素到集合中;(2)从集合中去掉一个元素;(3)判断一个元素是否在集合中;(4)重载运算符输出集合;(5)分别实现集合的交、并、差运算。2、企业工资管理系统要求某企业有五类职工:总经理,销售人员,管理人员,兼职技术人员,销售经理。为了实现工资发放的自动功能,现要求编写程序来自动完成此功能。同时注意生成的相关数据结果以文件方式存放在硬盘中。程序应具备从键盘录入,文件的可继续录入,任意职工的工资查询(可由职工编号和职工姓名来实现),如若有职工由于工作调动,则可进行相对应的删除动
6、作。 相关信息: 每一年将职工的本年度任职情况工作的相关情况输入计算机,则职工的月工资按程序处理后的结果发放,其中职工的工资计算方法如下: 其中工资的基本构成如下: 销售人员:基本工资+销售提成费; 管理人员:基本工资+行政补助; 兼职技术人员:基本工资+销售提成补贴; 销售经理:基本工资+销售提成费+行政补助; 总经理:基本工资+行政补贴+业绩提成; (其中:1.销售提成费:销售员每一月的基本工作量为12000元,超过按10%提成; 注意:如果上月基本工作量没完成,则其(上月工作量-基本工作量)*10为负值。2.基本工资:总经理:3000元,经理:2000元,管理员:1500元,销售员:80
7、0元。3.行政补贴:250元。4.业绩提成:公司总收入10%。2、实现字符串类MyString设计一个简单的字符串类MyString,它包含设置字符串、返回字符串长度和显示内容等功能。能对字符串进行插入、替换、删除、查找和连接等操作。程序要求:(1)对字符串的操作采用下列菜单形式:1 生成字符串2 显 示3 求字符串长度4 字符串插入5 字符串替换6 字符串删除7 字符串查找8 字符串的连接0 返回(2)调试1. 生成字符串 s=”ABCDBCEFGHTH”2. 求长度 len(s)=123. 字符串的插入t=”XYZ” insstr(s, 3, t)= ”ABXYZCDBCEFGHTH”4.
8、 字符的替换 将字符串s中的所有p=”BC”替换为t=”LMN”;repl(s, p, t)= ”ALMNDLMNEFGHTH”5. 字符串的查找 p=”BC”:index(s, p)=26. 字符串的连接 将字符串p“”的字符串s连接:strcat(s, p)=”ABCDBCEFGHTH”3、学生成绩管理系统要求:1)该系统主要处理学生的成绩信息。2)学生信息主要包括:学号、班级、姓名、科目1、科目2、科目3等内容。3)完成以下的操作:实现成绩信息的添加、修改、删除和查询,可以计算每个学生的平均成绩及各科目的平均成绩,将学生信息保存为文件。提示:1)建立学生类2)学生信息的初始化3)学生信息
9、的添加、修改、删除、查找4)学生信息的输出5)对学生信息按学号、成绩排序6)计算一门课的平均分和总分4、项目管理系统要求:该系统主要处理项目的相关信息。项目信息主要包括:项目编号、项目名称、等级、负责人等内容。完成以下的操作:项目信息的录入、修改、删除和查询提示:1)建立项目类2)项目信息的初始化3)项目信息的添加、修改、删除、查找4)项目信息的输出5)在项目信息中按项目编号、项目名称、项目等级排序5、客户管理系统要求:1)该系统主要处理客户的相关信息。2)客户信息主要包括:客户编号、客户名称、所在地区、联系方式等内容。3)地区信息主要包括:编号、名称等内容。4)完成以下的操作:客户信息、地区
10、信息的录入、修改、删除和查询。提示:1)建立客户类、地区类2)客户、地区信息的初始化3)客户、地区信息的添加、修改、删除、查找4)客户、地区信息的输出5)将客户信息保存为文件6、用户管理系统要求:1)该系统主要处理用户的相关信息。2)用户信息主要包括:编号、用户名、用户类型、联系方式等内容。3)用户类型信息主要包括:编号、类型名称、权限等级等内容4)完成以下的操作:用户信息、用户类型信息的录入、修改、删除和查询。提示:1)建立用户类、用户类型类2)用户、用户类型信息的初始化3)用户、用户类型信息的添加、修改、删除、查找4)用户、用户类型信息的输出5)对用户信息按权限排序6)将用户信息保存为文件
11、7、商品管理系统要求:1)该系统主要处理商场中的商品信息。2)商品信息主要包括:商品编号、商品类型、商品类型、价格、供应商等内容。3)供应商信息主要包括:供应商编号、供应商名称、联系电话等内容。4)完成以下的操作:实现商品信息、商品类型、供应商信息的添加、修改、删除和查询。提示:1)建立商品类、商品类型类、供应商类2)商品、商品类型、供应商信息的初始化3)商品信息的添加、修改、删除、查找4)供应商信息的添加、修改、删除、查找5)商品信息、供应商信息的输出8、班级通讯录要求:1)该系统主要处理通讯录的相关信息。2)通讯录信息主要包括:姓名、班级、手机、家庭电话、电子邮件、通讯录地址、邮编等内容。
12、3)完成以下的操作:实现通讯录信息的添加、修改、删除和查询。提示:1)建立班级类、通讯录类2)班级、通讯录信息的初始化3)班级、通讯录信息的添加、修改、删除、查找4)班级、通讯录信息的输出5)将通讯录信息保存为文件9、图书管理系统要求:1)该系统主要处理图书馆中的图书信息以及供应商向图书馆供应图书的信息。2)图书信息主要包括:图书编号、图书名称、图书类型、作者、出版社、库存等内容。3)供应商信息主要包括:供应商编号、供应商名称、供书类型、地址、电话等内容4)其中,图书类型和供书类型是都是书籍类型(如:信息类、建筑类、化学类、生物类等)5)完成以下的操作:实现图书信息的添加、修改、删除和查询;图
13、书供应商信息的添加、修改、删除和查询;书籍类型的添加、修改、删除和查询;供应商向图书馆供应图书的情况查询、统计。提示:1)建立书籍类型类、图书类、供应商类2)书籍类型、图书信息、供应商的初始化3)书籍类型、图书信息、供应商的添加、修改、删除、查找4)对图书信息按编号、书名排序5)将图书信息和供应商信息保存为文件10、课外兴趣小组管理要求:1)该系统主要处理课外兴趣小组的相关信息。2)学生信息主要包括:学号、姓名、性别、兴趣爱好等内容。3)兴趣主要包括:兴趣编号、兴趣类型等内容。4)完成以下的操作:实现学生兴趣信息的添加、修改、删除和查询。提示:1)建立学生类、兴趣类、兴趣类型类2)学生、兴趣、
14、兴趣类型信息的初始化3)学生、兴趣、兴趣类型信息的添加、修改、删除、查找4)学生兴趣信息的输出5)将学生兴趣信息保存为文件11、人事管理系统要求:1)该系统主要处理商场中的人事信息。2)人事信息主要包括:员工编号、所在部门、职务、薪资等级、薪资、联系方式等内容。3)部门信息主要包括:部门编号、部门名称等内容。4)完成以下的操作:实现员工信息、部门信息的添加、修改、删除和查询。提示:1)建立员工类、职务类、部门类2)员工、职务、部门信息的初始化3)员工信息的添加、修改、删除、查找4)部门、职务信息的添加、修改、删除、查找5)员工信息、部门信息的输出12、选课管理系统要求:1)该系统主要处理学生的
15、选课信息。2)学生信息主要包括:学号、姓名、电话、选课等内容。3)课程信息主要包括:课程编号、课程名称、学分、任课教师等内容。4)完成以下的操作:学生信息、课程信息的录入、修改、删除和查询。提示:1)建立学校类、学生类、课程类、选课类2)学校、学生、课程、选课信息的初始化3)学校、学生、课程、选课信息的添加、修改、删除、查找4)学校、学生、课程、选课信息的输出5)对选课信息按学号、课程编号排序13、毕业生选题管理系统要求:1)该系统主要处理毕业生的选题信息。2)学生信息主要包括:学号、姓名、电话、选题等内容。3)课题信息主要包括:课题编号、课题名称、指导教师等内容。4)完成以下的操作:学生信息
16、、课题信息的录入、修改、删除和查询。提示:1)建立学校类、学生类、课题类、选题类2)学校、学生、课题、选题信息的初始化3)学校、学生、课题、选题信息的添加、修改、删除、查找4)学校、学生、课题、选题信息的输出5)对选题信息按学号、课题编号排序14、教师评学管理系统要求:1)该系统主要处理教师评学信息。2)班级信息主要包括:班级编号、班级名称、所在院系、评学成绩等内容。3)教师信息主要包括:编号、姓名、电话等内容。4)完成以下的操作:班级信息、教师信息、评学信息的录入、修改、删除和查询。提示:1)建立学校类、教师类、班级类、评学类2)学校、教师、班级、评学信息的初始化3)学校、教师、班级、评学信
17、息的添加、修改、删除、查找4)学校、教师、班级、评学信息的输出5)对评学信息按评学成绩排序15、学生评教管理系统要求:1)该系统主要处理学生评教的相关信息。2)学生信息主要包括:学号、姓名、性别、联系方式等内容。3)教师信息主要包括:教工编号、教师名称、任教课程、评教成绩等内容。4)完成以下的操作:学生信息、教师信息、评教信息的录入、修改、删除和查询。提示:1)建立学校类、教师类、学生类、评教类2)学校、教师、学生、评教信息的初始化3)学校、教师、学生、评教信息的添加、修改、删除、查找4)学校、教师、学生、评教信息的输出5)对评教信息按评学成绩排序16、有理数运算问题描述有理数是一个可以化为一
18、个分数的数,例如2/3,533/920,-12/49都是有理数,而就为无理数。在C+中,并没有预先定义有理数,需要时可以定义一个有理数类,将有理数的分子和分母分别存放在两个整型变量中。对有理数的各种操作都可以用重载运算符来实现。基本要求定义并实现一个有理数类,通过重载运算符+、-、*、/对有理数进行算术运算,通过重载运算符=实现判定两个有理数是否相等。写一个优化函数,它的作用是使有理数约去公分母,也即是使保存的有理数分子和分母之间没有公约数(除去1以外)。此外,还要定义一个将有理数转换为实数的函数,再加上构造函数和有理数输出函数。测试数据在应用程序中,创建若干有理数对象,通过带参数的构造函数使
19、得各有理数对象值各不相同,然后分别进行各类运算,输出运算结果,检验其正确性。实现提示设有两个有理数a/b和c/d,则有:有理数相加 分子=a*d+b*c;分母=b*d有理数相减 分子=a*d-b*c;分母=b*d有理数相乘 分子=a*c; 分母=b*d有理数相除 分子=a*d; 分母=b*c优化函数在创建有理数对象时应执行,在执行其它各种运算之后也需执行它,这样可保证所存储的有理数随时都是最优的。对于判断两个有理数是否相等,由于在对有理数进行各种运算后都对其进行优化,所以判定两个有理数是否相等只需判定它们两个的分子和分母分别相等即可。选做内容重载插入()运算符,使得对有理数可以直接输入输出。设
20、有理数输入格式为:整数1 整数2 /整数1为分子,整数2为分母有理数输出格式为:分子/分母17、通讯录管理 问题描述编写一个简单的通讯录管理程序。通讯录记录有姓名,地址(省、市(县)、街道),电话号码,邮政编码等四项。基本要求程序应提供的基本管理功能有:添加:即增加一个人的记录到通信录中显示:即在屏幕上显示所有通信录中的人员信息,应能分屏显示。存储:即将通讯录信息保存在一个文件中。装入:即将文件中的信息读入程序。查询:可根据姓名查找某人的相关信息,若找到显示其姓名、地址、电话号码和邮政编码。修改:可修改一个人的除姓名外其它信息。测试数据程序应输入不少于10个人员的通讯录信息,应考虑到人员可以同
21、名的情况。实现提示程序可用一个单向链表来管理人员信息,每个人员的姓名,地址,电话号码和邮政编码用一个类Cperson来实现,作为链表的值指针指向这些Cperson类对象,通过链表的遍历可以操作这些数据。选做内容为了加快数据定位查找的速度,采用常用优先的方法对链表的各个节点进行排序,即一旦操作了一个人员的数据,他的数据就将被调用到链表的链首。这样经过有限次操作,经常查阅的人员的信息就将排在链表的前端。虽然不能说链首的节点一定是最常用的,但常用的节点一定会排在较靠前的部分,链表查找时所要走的平均距离一定较短。18、商品销售统计问题描述编写商品销售统计程序,商品的信息有:商品的名称,计量单位(重量或
22、件),单价。所有商品的信息事先已存入计算机,屏幕上显示所有商品的名称,选择商品名,输入商品计量单位(如重量,件数等),根据单价算出总价。客户一次购物可能购买多种商品,程序应计算出客户应付的钱款数。基本要求程序分为两个部分:第一部分用于输入商品的信息并允许修改和删除;第二部分实现销售统计。程序运行时由用户选择进入哪一部分功能,并能在运行时在两部分之间切换。第二部分运行时,首先显示所有商品名称及代码(商品数目较多时,应考虑分屏显示),用户输入商品代码及商品重量或件数,用户一次操作可输入若干商品的购买信息,然后输入一个特殊的代码(如-1)表示本次购物结束。此时。程序计算出应付钱款数并显示。测试数据程
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 程序设计 课程设计

限制150内