2022年级《面向对象程序设计课程设计》任务书 .docx
《2022年级《面向对象程序设计课程设计》任务书 .docx》由会员分享,可在线阅读,更多相关《2022年级《面向对象程序设计课程设计》任务书 .docx(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精品_精品资料_11级C+ 语言程序设计课程设计任务书为每个对象类设计正确的域和方法,为每个方法设计合理的方法体.同时,为对象类及内部的域和方法运用正确的修饰符,如拜访掌握符等.3) 编程简练,程序功能齐全,能正确运行.4) 说明书、流程图要清晰,规范.5) 课题完成后必需按要求提交课程设计报告,格式规范,内容详实.二、课程设计的内容与支配1、题目支配1. 有理数运算问题描述有理数是一个可以化为一个分数的数,例如2/3, 533/920, -12/49 都是有理数,而就为无理数.在C+ 中,并没有预先定义有理数,需要时可以定义一个有理数类,将有理数的分子和分母分别存放在两个整型变量中.对有理数
2、的各种操作都可以用重载运算符来实现.基本要求定义并实现一个有理数类,通过重载运算符+、-、* 、/对有理数进行算术运算,通过重载运算符= 实 现 判 定 两 个 有 理 数 是 否 相等 .写一个优化函数,它的作用是使有理数约去公分母,也即是使储存的有理数分子和分母之间没有公约数 除去 1以外).此外,仍要定义一个将有理数转换为实数的函数,再加上构造函数和有理数输出函数.测试数据在应用程序中,创建如干有理数对象,通过带参数的构造函数使得各有理数对象值各可编辑资料 - - - 欢迎下载精品_精品资料_不相同,然后分别进行各类运算,输出运算结果,检验其正确性.实现提示设有两个有理数 a/b和c/d
3、,就有:( 1)有理数相加分子 =a*d+b*c .分母 =b*d( 2)有理数相减分子 =a*d-b*c .分母 =b*d( 3)有理数相乘分子 =a*c.分母=b*d( 4)有理数相除分子 =a*d.分母=b*c优化函数在创建有理数对象时应执行,在执行其它各种运算之后也需执行它,这样可保证所储备的有理数随时都是最优的.对于判定两个有理数是否相等,由于在对有理数进行各种运算后都对其进行优化,所以判定两个有理数是否相等只需判定它们两个的分子和分母分别相等即可.选做内容重载插入 )和提取 )运算符,使得对有理数可以直接输入输出.设有理数输入格式为:整数 1 整数 2/ 整数 1为分子,整数 2为
4、分母有理数输出格式为:分子 /分母2. 通讯录治理问题描述编写一个简洁的通讯录治理程序.通讯录记录有姓名,的址省、市 县、街道 ,电话号码,邮政编码等四项.基本要求程序应供应的基本治理功能有:1) 添加:即增加一个人的记录到通信录中2) 显示:即在屏幕上显示全部通信录中的人员信息,应能分屏显示.3) 储备:即将通讯录信息储存在一个文件中.4) 装入:即将文件中的信息读入程序.5) 查询:可依据姓名查找某人的相关信息,如找到显示其姓名、的址、电话号码和邮政编码.6) 修改:可修改一个人的除姓名外其它信息.测试数据程序应输入不少于10个人员的通讯录信息,应考虑到人员可以同名的情形.实现提示程序可用
5、一个单向链表来治理人员信息,每个人员的姓名,的址,电话号码和邮政编码用一个类 Cperson来实现,作为链表的值指针指向这些Cperson类对象,通过链表的遍历可以操作这些数据.选做内容为了加快数据定位查找的速度,采纳常用优先的方法对链表的各个节点进行排序,即一旦操作了一个人员的数据,他的数据就将被调用到链表的链首.这样经过有限次操作, 常常查阅的人员的信息就将排在链表的前端.虽然不能说链首的节点肯定是最常用的,但常用的节点肯定会排在较靠前的部分,链表查找时所要走的平均距离肯定较短.可编辑资料 - - - 欢迎下载精品_精品资料_3. 商品销售统计问题描述编写商品销售统计程序,商品的信息有:商
6、品的名称,计量单位,依据单价算出总价.客户一次购物可能购买多种商品,程序应运算出客户应对的钱款数.基本要求程序分为两个部分:第一部分用于输入商品的信息并答应修改和删除.其次部分实现销售统计.程序运行时由用户挑选进入哪一部分功能,并能在运行时在两部分之间切换.其次部分运行时,第一显示全部商品名称及代码商品数目较多时,应考虑分屏显示), 用户输入商品代码及商品重量或件数,用户一次操作可输入如干商品的购买信息,然后输入一个特别的代码 如-1)表示本次购物终止.此时.程序运算出应对钱款数并显示.测试数据程序应输入不少于10种商品的信息,并进行模拟运行.实现提示本程序的商品信息治理可采纳与课程设计题目二
7、类似的数据结构,既定义一个商品类,每种商品作为商品类的实例对象)储备在链表节点中.选做内容程序在营业终止时统计每种商品的销售量,销售金额及总营业额.因此其次部分应有营业终止的挑选,当用户挑选此项时屏幕上显示当天营业的每种商品的销售量,销售金额及总营业额.留意,商品类的数据成员应增加有商品的销售量和销售金额.总营业额是全部商品的营业额之和,可用静态数据成员实现.或可由原商品类派生出一个特别的类,增加上面的数据成员及相应的成员函数.4. 争论生初试录用问题描述争论生考试课程为4门,其中数学、外语、政治为统一命题,而专业基础课就依据不同的专业由招生学校自行命题.国家对初试录用分数有总分要求如某一年要
8、求 4门课总分应达到 310分),另外仍有对每门课的最低分数要求如总分为 100的试卷最低应达到40分,总分为 150的试卷最低应达到65分).编程统计初试合格的人数,并按总分由高到低的次序输出合格考生的信息.基本要求程序运行时第一要求输入:考生姓名,准考证号,报考专业,是否应届生,4门课程 政治、数学、外语、专业基础课)成果.这些原始数据应储存到一个文件中.然后输入: 录用的总分要求,各课程的最低分数要求.输出要求:过线考生的姓名,准考证号,报考 专业,是否应届生, 4门课程 政治、数学、外语、专业基础课)成果及总分,这些信息应存放到另一个文件中.测试数据程序应输入不少于10名考生的信息,其
9、中应届生和历届生分别有如干名,并且都有合格和不合格的情形.实现提示可定义一个考生类存放有关信息和实现相应的操作.分数线数据总分要求和各门课可编辑资料 - - - 欢迎下载精品_精品资料_程的要求)可定义另外的类来存放,但应能被考生类及其派生类直接拜访.选做内容初试合格的考生应经过复试才能打算是否录用,复试成果合格大于一给定分值)可以录用,否就被剔除.而录用的次序假设是依据专业基础课和复试成果的平均值来确定的由于这涉及到是方案内仍是委培问题).因此,应第一输入初试合格考生的复试成果及复试的合格线分数,然后按上面要求排序输出并标明被剔除的同学.5. 足球联赛积分问题描述足球联赛采纳主客场双循环赛制
10、,胜一场得3分,平局各得 1分,负一场得 0分,联赛排名以积分多者在前,当两队或多队)积分相同时,就净胜球即进球数与失球数之差)多 者在前,如净胜球相同,就进球数多者在前,如仍相同,就抽签或踢附加赛打算名次这在联赛终止后进行,联赛未终止就两队名次并列,本程序不做这方面要求).试编一程序统计最近一轮竞赛后,各队积分及排名.基本要求设积分表结构如下:队名不超过15 个字符),已竞赛的场数,赢的场数,平的场数 , 负 的 场 数 , 进 球 数 , 失 球 数 , 积 分 . 积 分 表 放 在 正 文 文 件 中 .最近一轮的结果从键盘输入,其形式为:主队名可用代码),客队名 可用代码),主队得分
11、 即进球数),客队得分即进球数).程序应依据此轮结果修改各队的积分和名次,所得的最新记分表仍在原积分文件中并同时在屏幕上显示.测试数据可挑选我国当年的甲 A 或甲 B联赛的数据输入,并检查与报章公布的数据是否一样.实现提示定义一个球队类,每个球队是均是此类的对象.由于联赛中参赛的队伍数是固定的, 因此可用对象数组来实现当然也可以用链表结构).每输入两个队的竞赛成果,就相应的队的有关数据 竞赛场数,赢的场数,平的场数,负的场数,进球数,失球数,积分等)即可进行修改,竞赛成果录入完成,调用联赛排序方法对象数组作为参数)排出名次并输出.选做内容篮球联赛 如NBA )往往采纳胜率来打算名次,胜率就是取
12、胜的场数竞赛场数之比.如胜率相同,再由净胜球及进球数来打算名次,通过继承性完成上述要求.6. 银行账户治理程序问题描述设计一个银行账户治理程序,账户的信息有账号唯独)、姓名、余额、身份证号码、单位、电话号码、的址等,答应用户进行如下操作:开户、销户、存款、取款、转账、查询,一个用户可以有多个户头,账户的数值没有上限.基本要求程序运行时,可以由用户挑选进行何种操作,开户操作要求输入用户信息后自动猎取账号,用户销户后账号被回收,并且该账号可以连续安排给其它账户,不答应用户透支,依据姓名或账号可以进行用户的信息查询,全部的账户信息应存放到一个文件中,可以随时的拜访和更新.测试数据可编辑资料 - -
13、- 欢迎下载精品_精品资料_程序应输入不少于10人的账户信息,应考虑到人员同名的情形.实现提示可定义一个账户类存放账户信息以及执行相应的操作,可以用一个链表类来治理账户.选作内容在上述程序的基础上,添加联名账户一个联名账户有两个拥有者)的治理.7. 模拟运算器程序问题描述设计一个程序来模拟一个简洁的手持运算器.程序支持算术运算+、-、* 、/、 =、以及 清除)、 A 全清除)操作.基本要求程序运行时,显示一个窗口,等待用户输入,用户可以从键盘输入要运算的表达式, 输入的表达式显示在窗口中,用户键入=符号后,窗口显示出结果.测试数据程序输入不少于 5种不同的表达式进行测试.实现提示可定义一个运
14、算器类,该类包括两个组件对象,一个运算引擎和一个用户接口,用户接口对象处理接受的键盘输入信息,并显示答案,运算引擎对象对给出的数据执行相应操作,并储备操作的结果.选作内容假如用户输入的表达式不合法,可以判别出来并给出相应的错误提示.8. 设计一个排课程序问题描述每位老师都有教案工作量,老师对他所期望讲授的课程表达为一个期望值,1, 2, n,其中 1位最高的期望值.课程也有优先级,1,2 , n,用来打算将课程分给老师的次序,其中 1时最高的优先级.设计一个程序针对某些课程给某些老师进行排课.基本要求程序运行时,用户输入老师信息姓名、老师号、工作量)、课程信息课程名、课程号、周学时、总学时、优
15、先级)、老师对所期望讲授课程的期望值以及教案工作量等相关信息,全部信息应储存在文件中,程序依据课程的优先级以及老师对课程的期望值进行排课.为了公正起见,程序随机安排课程,假如 10门课程都有优先级 1,程序以随机的次序将这些课程分给老师,假如 10位老师对某门课程的期望值为 1,程序应从 10位老师中随机挑选一个.最终输出排课情形,即某位老师上某门课程,以及某位老师的工作量.测试数据程序应能实现对不少于20门课和 10个老师的排课,并且使每个老师的中意度达到最大,不存在工作量不满的老师以及未安排的课等情形.实现提示可定义一个老师类存放老师信息,全部老师的信息可以用链表储备.定义一个课程类存放课
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向对象程序设计课程设计 2022年级面向对象程序设计课程设计任务书 2022 年级 面向 对象 程序设计 课程设计 任务书
限制150内