版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、河南城建学院 面向对象程序设计课程设计任务书 班级0844 专业软件工程 课程名称面向对象程序设计 指导教师苏靖枫周二强 计算机科学与工程学院 2013年6月 面向对象课程设计任务书 一、设计时间及地点 1、时间:第17周 2、地点:计算机系实验中心205机房、本班教室 二、设计目的和要求 本课程设计是在学习C+基本理论之后的实践教案环节。该实践教案是软件设计的综 合训练,包括问题分析、总体结构设计、用户界而设计、程序设计基本技能和技巧。要求 学生在设计中逐步提高程序设il能力,培养科学的软件工作方法。学生通过课程设计在下 述各方而得到锻炼: 1能根据实际问题的具体情况,结合C+的基本理论和基
2、本技巧,正确分析问题,并 能设计岀解决问题的有效算法与程序。 2.提高程序设计和调试能力。学生通过上机实习,验证自己设讣的算法和程序的正确 性。学会有效利用基本调试方法,迅速找出程序代码中的错误并且修改,进一步提高程序 设计水平。 三、设计题目和内容 1. 有理数运算 问题描述:有理数是一个可以化为一个分数的数,例如2/3, 533/920, -12/49都是有 理数,而就为无理数。在C+中,并没有预先泄义有理数,需要时可以左义一个有理数 类,将有理数的分子和分母分别存放在两个整型变量中。对有理数的各种操作都可以用重 载运算符来实现。 基本要求:左义并实现一个有理数类,通过重载运算符+、-、*
3、、/对有理数进行算术 运算,通过重载运算符二二实现判泄两个有理数是否相等。写一个优化函数,它的作用是使 有理数约去公分母,也即是使保存的有理数分子和分母之间没有公约数(除去1以外)。 此外,还要定义一个将有理数转换为实数的函数,再加上构造函数和有理数输出函数。 测试数据:在应用程序中,创建若干有理数对象,通过带参数的构造函数使得各有理 数对象值各不相同,然后分别进行各类运算,输岀运算结果,检验其正确性。 实现提示:设有两个有理数a/b和c/d,则有: (1)有理数相加 分子二a*d+b*c:分母二b*d (2)有理数相减分子二a*d-b*c:分母二b*d (3)有理数相乘 分子二a*c;分母二
4、b*d (4)有理数相除分子二a*d;分母二b紅 优化函数在创建有理数对象时应执行,在执行其它各种运算之后也需执行它,这样可 保证所存储的有理数随时都是最优的。对于判断两个有理数是否相等,由于在对有理数进 行各种运算后都对其进行优化,所以判圮两个有理数是否相等只需判立它们两个的分子和 分母分别相等即可。 选做内容:重载插入()和提取()运算符,使得对有理数可以直接输入输出。 设有理数输入格式为:整数1整数2/整数1为分子,整数2为分母 有理数输岀格式为:分子/分母 2. 通讯录管理 问题描述:编写一个简单的通讯录管理程序。通讯录记录有姓名,地址(省、市(县)、 街道),电话号码,邮政编码等四项
5、。 基本要求:程序应提供的基本基本管理功能有: 1)添加:即增加一个人的记录到通信录中 2)显示:即在屏幕上显示所有通信录中的人员信息,应能分屏显示。 3)存储:即将通讯录信息保存在一个文件中。 4)装入:即将文件中的信息读入程序。 5)查询:可根据姓名查找某人的相关信息,若找到显示其姓剑、地址、电话号码和邮 政编码。 6)修改:可修改一个人的除姓爼外英它信息。 测试数据:程序应输入不少于10个人员的通讯录信息,应考虑到人员可以同名的情 况。 实现提示:程序可用一个单向链表来管理人员信息,每个人员的姓名,地址,电话号 码和邮政编码用一个类Cperson来实现,作为链表的值指针指向这些Cpers
6、on类对象,通 过链表的遍历可以操作这些数据。 选做内容:为了加快数据泄位查找的速度,采用常用优先的方法对链表的各个节点进 行排序,即一旦操作了一个人员的数据,他的数据就将被调用到链表的链首。这样经过有 限次操作,经常査阅的人员的信息就将排在链表的前端。虽然不能说链首的节点一定是最 常用的,但常用的肖点一左会排在较靠前的部分,链表查找时所要走的平均距离一左较 短。 3. 商品销售统计 问题描述:编写商品销售统计程序,商品的信息有:商品的名称,讣量单位(重量或 件),单价。所有商品的信息事先已存入计算机,屏幕上显示所有商品的名称,选择商品 名,输入商品计量单位(如重量,件数等),根据单价算岀总价
7、。客户一次购物可能购买多 种商品,程序应计算出客户应付的钱款数。 基本要求:程序分为两个部分:第一部分用于输入商品的信息并允许修改和删除:第 二部分实现销售统计。程序运行时由用户选择进入哪一部分功能,并能在运行时在两部分 之间切换。第二部分运行时,首先显示所有商品需称及代码(商品数目较多时,应考虑分 屏显示),用户输入商品代码及商品重量或件数,用户一次操作可输入若干商品的购买信 息,然后输入一个特殊的代码(如-1)表示本次购物结束。此时。程序计算岀应付钱款数 并显示。 测试数据:程序应输入不少于10种商品的信息,并进行模拟运行。 实现提示:本程序的商品信息管理可采用与课程设讣题目二类似的数据结
8、构,既定义 一个商品类,每种商品作为商品类的实例(对象)存储在链表卩点中。 选做内容:程序在营业结束时统计每种商品的销售量,销售金额及总营业额。因此第 二部分应有营业结朿的选择,当用户选择此项时屏幕上显示当天营业的每种商品的销售 量,销售金额及总营业额。注意,商品类的数据成员应增加有商品的销售量和销售金额。 总营业额是所有商品的营业额之和,可用静态数据成员实现。或可由原商品类派生岀一个 特殊的类,增加上而的数据成员及相应的成员函数。 4. 研究生初试录取 问题描述:研究生考试课程为4门,其中数学、外语、政治为统一命题,而专业基础 课则根据不同的专业由招生学校自行命题。国家对初试录取分数有总分要
9、求(如某一年要 求4门课总分应达到310分),另外还有对每门课的最低分数要求(如总分为100的试卷 最低应达到40分,总分为150的试卷最低应达到65分)。编程统讣初试合格的人数,并 按总分由高到低的顺序输出合格考生的信息。 基本要求:程序运行时首先要求输入:考生姓名,准考证号,报考专业,是否应届 生,4门课程(政治、数学、外语、专业基础课)成绩。这些原始数据应保存到一个文件 中。然后输入:录取的总分要求,务课程的最低分数要求。输出要求:过线考生的姓名, 准考证号,报考专业,是否应届生,4门课程(政治、数学、外语、专业基础课)成绩及 总分,这些信息应存放到另一个文件中。 测试数据:程序应输入不
10、少于10名考生的信息,其中应届生和历届生分別有若干名, 并且都有合格和不合格的情况。 实现提示:可左义一个考生类存放有关信息和实现相应的操作。分数线数据(总分要 求和务门课程的要求)可左义対外的类来存放,但应能被考生类及其派生类直接访问。 选做内容:初试合格的考生应经过复试才能决泄是否录取,复试成绩合格(大于一给 定分值)可以录取,否则被淘汰。而录取的顺序假设是按照专业基础课和复试成绩的平均 值来确定的(因为这涉及到是计划内还是委培问题)。因此,应首先输入初试合格考生的 复试成绩及复试的合格线分数,然后按上而要求排序输出并标明被淘汰的学生。 5. 足球联赛积分 问题描述:足球联赛采用主客场双循
11、环赛制,胜一场得3分,平局各得1分,负一场 得0分,联赛排名以积分多者在前,当两队(或多队)积分相同时,则净胜球(即进球数 与失球数之差)多者在前,若净胜球相同,则进球数多者在前,若仍相同,则抽签或踢附 加赛决定名次(这在联赛结束后进行,联赛未结束则两队爼次并列,本程序不做这方而要 求)。试编一程序统讣最近一轮比赛后,各队积分及排划。 基本要求:设积分表结构如下:队名(不超过15个字符),已比赛的场数,贏的场 数,平的场数,负的场数,进球数,失球数,积分。积分表放在正文文件中。最近一轮的 结果从键盘输入,其形式为:主队需(可用代码),客队名(可用代码),主队得分(即 进球数),客队得分(即进球
12、数)。程序应根据此轮结果修改各队的积分和需次,所得的 最新记分表仍在原积分文件中并同时在屏幕上显示。 测试数据:可选择我国当年的联赛的数据输入,并检査与公布的数据是否一致。 实现提示:泄义一个球队类,每个球队是均是此类的对象。由于联赛中参赛的队伍数 是固立的,因此可用对象数组来实现(当然也可以用链表结构)。每输入两个队的比赛成 绩,则相应的队的有关数据(比赛场数,赢的场数,平的场数,负的场数,进球数,失球 数,积分等)即可进行修改,比赛成绩录入完成,调用联赛排序方法(对象数组作为参 数)排岀名次并输岀。 选做内容:篮球联赛(如NBA)往往采用胜率来决圮名次,胜率就是取胜的场数比赛 场数之比。若
13、胜率相同,再由净胜球及进球数来决泄名次,通过继承性完成上述要求。 6. 银行账户管理程序 问题描述:设计一个银行账户管理程序,账户的信息有账号(唯一)、姓兔、余额、 身份证号码、单位、电话号码、地址等,允许用户进行如下操作:开户、销户、存款、取 款、转账、查询,一个用戸可以有多个户头,账户的数值没有上限。 基本要求:程序运行时,可以由用户选择进行何种操作,开户操作要求输入用户信息 后自动获取账号,用户销户后账号被回收,并且该账号可以继续分配给其它账户,不允许 用户透支,根据姓名或账号可以进行用户的信息查询,所有的账户信息应存放到一个文件 中,可以随时的访问和更新。 测试数据:程序应输入不少于1
14、0人的账户信息,应考虑到人员同轲的情况。 实现提示:可左义一个账户类存放账户信息以及执行相应的操作,可以用一个链表类 来管理账户。 选作内容:在上述程序的基础上,添加联名账户(一个联需账户有两个拥有者)的管 理。 7. 模拟计算器程序 问题描述:设计一个程序来模拟一个简单的手持计算器。程序支持算术运算+、-、*、 /、二、以及C (淸除)、A (全淸除)操作。 基本要求:程序运行时,显示一个窗口,等待用户输入,用户可以从键盘输入要计算 的表达式,输入的表达式显示在窗口中,用户键入二符号后,窗口显示出结果。 测试数据:程序输入不少于5种不同的表达式进行测试。 实现提示:可世义一个计算器类,该类包
15、括两个组件对象,一个计算引擎和一个用户 接口,用户接口对象处理接受的键盘输入信息,并显示答案,计算引擎对象对给出的数据 执行相应操作,并存储操作的结果。 选作内容:如果用户输入的表达式不合法,可以判别出来并给出相应的错误提示。 8. 设计一个排课程序 问题描述:每位教师都有教案工作量,教师对他所希望讲授的课程表达为一个期望 值,1, 2,n,其中1位最髙的期望值。课程也有优先级,1. 2,n,用来决立将课程 分给教师的顺序,其中1时最高的优先级。设汁一个程序针对某些课程给某些教师进行排 课。 基本要求:程序运行时,用户输入教师信息(姓需、教师号、工作量)、课程信息 (课程名、课程号、周学时、总
16、学时、优先级)、教师对所希望讲授课程的期望值以及教 案工作量等相关信息,所有信息应保存在文件中,程序根据课程的优先级以及教师对课程 的期望值进行排课。为了公平起见,程序随机分配课程,如果10门课程都有优先级1,程 序以随机的顺序将这些课程分给教师,如果10位教师对某门课程的期望值为1,程序应从 10位教师中随机选择一个。最后输岀排课情况,即某位老师上某门课程,以及某位老师的 工作虽 测试数据:程序应能实现对不少于20门课和10个教师的排课,并且使每个教师的满 意度达到最大,不存在工作量不满的教师以及未分配的课等情况。 实现提示:可泄义一个教师类存放教师信息,所有教师的信息可以用链表存储:眾义
17、一个课程类存放课程信息,所有课程的信息可以用链表存储;左义一个排课类进行排课, 排课类可以访问课程和教师信息。 选作内容:对两个同类班级安排一学期(20周)的课程,程序应能处理某些限制,如 一个老师不能同时给两个班上课。 9. 设讥一个Database类 问题描述:设计一个Database类。Database类是一个表的集合,而表又由行和列组 成。例如,下而的庭员信息表包含三个记录,每个记录有四个字段(Employee. Name、 Department 和 Boss)。 雇员 姓冬 部门 部门经理 111-11-1234 Cruz ACC Warder 213-44-5649 Johnsto
18、n MIS Michaels 321-88-7895 Tom FIN Bearskin 基本要求:能够完成对数据库的基本操作;包括创建数据库,实现对数据库里面的表 的添加,删除:以及能够完成对表结构的修改(如添加或删除字段),以及对表中的记录 进行添加和删除;能够完成对使用适当的査询语言从一个或多个表中査找相关信息。 测试数据:可以选取髙校人员(教师、学生、职工等)数据库作为测试数据 实现提示:Database类的公有接口包含如下数据成员: 创建一个表。 通过增加或删除字段修改表结构。 删除一个表。 在表中增加一个记录。 从表中删除记录。 用适当的查询语言从一个或多个表中查找信息。 选做内容:
19、髙校人员信息通常保存在文件里而,可以从文件里面读取人员信息:然后 完成上而操作。 10. 电煤气管理系统 问题描述:设计一个水电管理信息系统,能够对高校的水电费用进行管理,包括了登记 费用,查询费用,以及住户信息管理等。在设计时要考虑到学生和教工在用水电时的不 同,学生可以免费使用一左额度的水电,超过这个额度的随便以后必须自费使用,且自费 部分水电费的价格标准要髙于教工的收费标准(主要是节约资源)。 基本要求: 1. 实现对用户信息的录入 2. 实现水电煤气数据的录入 3. 计算并查询用户应缴费用 4. 査询未缴纳费用名单 测试数据:可选用小区物业管理部门的数据,也可采用手工输入不少于10个用
20、户信息 的数据。 实现提示: 用户基本信息类,教工用户信息类,学生用户信息类;收费标准类,该类存储水电煤 气标准单位的收费标准,如:煤气,1.0元/立方M;不同类型人员水、电、煤气信息类, 这些类可以包括水表,电表,煤气表ID,抄表时间,上次抄表时间,本次抄表时间,上次 抄表度数,本次抄表度数,本次使用度数,费用,是否缴费标记等信息。在实现的时候考 虑继承和多态技术的合理使用。 选做内容:实现用户查询系统能够找岀该用户半年之内的交费记录和本次应交费的数 拯。 11. 对参赛结果分数进行处理:参赛选手n人(nl),评委m人(m2),评委给每 一选手打一个分数score (分数score为小于等于
21、10的一个正实数)。选手的最后得分 lastScore汁算方法为 (1)*9时,去掉一个最高分和一个最低分后另m-2个得分的平均值。 (2)m29时,去掉两个最高分和两个最低分后另m-4个得分的平均值。 假设事先已经建立了 text型的数据文件fl.txt,其中依次记录着n个选手的编号 (一个正整数)、姓统(一个字符串)以及m个评委给出的得分。 请编制程序,依次从数据文件fl. txt中读入n个选手的有关信息,而后按上述规泄方 法计算岀每一个选手的最后得分,而且往屏幕上以及另一个text型文件f2.txt中同时输 岀如下形式的结果信息。 假设参赛选手人数n二5,评委人数m二7,磁盘文件fl.
22、txt中的初始数据为: 1 zhang jin8. 8 9. 3 7. 9 8. 7 8. 99. 79. 2 2 lintao 8.9 8. 2 8. 6 8. 8 8. 5 9.1 9.3 3 guojian 8. 9 8. 4 8. 7 鞋子: 皮料、 尺寸.单价.产地. 库存崑 所属货柜; 帽子: 布料、 样式(平顶或尖顶) 单价、产地、库存量、所属货柜: 裤子: 布料、 尺寸.单价.产地. 库存崑 所属货柜; 冰箱:制冷类型、样式(二门或三门).颜色、尺寸、单价、产地、库存咼.重量. 所属货柜; 电视:样式(彩色或黑白) 、颜色.尺寸.单价. 产地、库存量、重量.所属货柜: 立柜:木料、颜色.尺寸. 单价、 产地、 库存崑 所属货柜; 壁橱:木料、颜色.尺寸、 单价、 产地、 库存崑 所属货柜; 沙发:木料、皮料、颜色. 尺寸、 单价、 产地、库存量、所属货柜: 对这些商品的操作有: 新商品的录入,商品的进
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 上饶市中医院PICC专科护士晋升考核
- 上饶市中医院护理专家终身成就评审
- 舟山市中医院护理质量查房考核
- 连云港市人民医院先天性病变诊断考核
- 青岛市中医院儿童造口护理考核
- 南平市人民医院胃肠道B超诊断考核
- 常州市中医院遗传性疾病脑电图考核
- 湖州市人民医院神经阻滞麻醉技术准入考核
- 赣州市中医院口腔放射人员资格认证
- 吉安市中医院骨科围术期护理技能考核
- A01:欧洲标准(中文)-压力表-EN837-1-1998(04-09)
- GB/T 41782.2-2022物联网系统互操作性第2部分:网络连通性
- GB/T 1186-1992压缩空气用橡胶软管(2.5MPa以下)
- GB/T 10061-2008筛板筛孔的标记方法
- 水暖维修工理论考核试题及答案
- 2023年团课考试试题库
- 山茶花文化鉴赏课件
- 围手术期间循环紊乱的防治策略课件
- 六年级上册数学课件-3.6 分数连除和乘除混合运算丨苏教版 (共22张PPT)
- 新华师大版九年级下册初中数学全册教案
- DB4403∕T 36-2019 中小学生营养配餐指南
评论
0/150
提交评论