面向对象课程设计任务书3
级《面向对象程序设计方案课程设计方案》任务书

11级C++语言程序设计课程设计任务书(适应于11级软件工程2011221805-8,2011221809-12)一、课程设计的目的与要求1.教学目的在《面向对象程序设计》课程理论与实验教学的基础上,根据软件工程的方法与流程,在相对集中的实训教学时间内,通过一个功能较完整的小型应用系统,复习与深入掌握面向对象的程序设计思想与技术方法。
同时,作为整个实践教学体系一部分,系统培养学生采用面向对象的方法分析问题与解决问题的能力及团体组织与协作能力。
2.教学要求从课程设计的目的出发,通过设计工作的各个环节,达到以下教学要求:1)根据实现的功能,划分出合理的对象类,明确对象类间的关系。
2) 为每个对象类设计正确的域和方法,为每个方法设计合理的方法体。
同时,为对象类及内部的域和方法运用正确的修饰符,如访问控制符等。
3)编程简练,程序功能齐全,能正确运行。
4)说明书、流程图要清楚,规范。
5)课题完成后必须按要求提交课程设计报告,格式规范,内容详实。
二、课程设计的内容与安排1、题目安排1.有理数运算问题描述2有理数是一个可以化为一个分数的数,例如2/3,533/920,-12/49都是有理数,而就为无理数。
在C++中,并没有预先定义有理数,需要时可以定义一个有理数类,将有理数的分子和分母分别存放在两个整型变量中。
对有理数的各种操作都可以用重载运算符来实现。
基本要求定义并实现一个有理数类,通过重载运算符+、-、*、/对有理数进行算术运算,通过重载运算符==实现判定两个有理数是否相等。
写一个优化函数,它的作用是使有理数约去公分母,也即是使保存的有理数分子和分母之间没有公约数(除去1以外)。
此外,还要定义一个将有理数转换为实数的函数,再加上构造函数和有理数输出函数。
测试数据在应用程序中,创建若干有理数对象,通过带参数的构造函数使得各有理数对象值各不相同,然后分别进行各类运算,输出运算结果,检验其正确性。
实现提示设有两个有理数a/b和c/d,则有:(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. 人事档案管理系统3. 工资管理系统4. 学生学籍管理系统5. 教务管理系统6. 教材课程系统7. 猜数游戏的程序设计8. 学生信息管理系统9. 投票管理系统10. 图形打印系统11. 简单时钟程序设计12. 四则运算练习程序13. MP3音乐播放器14. 个人通讯录教师须根据教学要求、学生实际水平、能完成的工作量和本地的条件,选择合适的课程设计题目。
争取让不同程度的学生,经过努力能完成课程任务,在巩固所学知识,提高基本技能和能力等方面有所收获。
题目尽可能结合实际应用,应具有一定的综合性、设计性,难度和份量要适当,鼓励动手能力较强的同学,选择难度大的题目。
三、课程设计内容:本课程设计学生可以,并完成相应的课程设计报告,通过实践环节使学生更进一步理解和掌握高级语言程序设计的基础知识,达到锻炼学生理论与实践相结合的能力,培养学生编写质量高、风格好的程序代码,为后续的专业课程的学习以及软件开发打下一定的理论基础和实践基础。
课程设计应按统一教学计划安排进行,学生一人一组。
课程设计开始后,指导教师要向学生下达任务书,提出设计的具体要求,实验室对学生开放。
课程设计过程中,指导教师应随时检查并掌握学生的设计情况,解答疑难问题,指导学生完成设计内容。
通过本课程的学习,应完成如下任务:(1)问题分析和任务定义在进行设计之前,首先应该充分地分析和理解问题,明确问题要求做什么,限制条件是什么。
对问题的描述应避开算法和所涉及的数据类型,而是对所需完成的任务作出明确的回答。
例如:输入数据的类型、值的范围以及输入的形式;输出数据的类型、值的范围及输出的形式;若是会话式的输入,则结束标志是什么,是否接受非法的输入,对非法输入的回答方式是什么等等。
面向对象程序课程设计任务书

面向对象程序设计课程设计任务书课程性质:设计总学时数:1周适用专业:软件工程10 1-6嵌软10 1-2软件学院2012-6一、课程设计目的和任务《面向对象程序设计》是一门实践性很强的计算机专业基础课程,课程设计是学习完该课程后进行的一次较全面的综合练习。
其目的在于通过实践加深学生对面向对象程序设计的理论、方法和基础知识的理解,掌握使用Java语言进行面向对象设计的基本方法,提高运用面向对象知识分析实际问题、解决实际问题的能力,提高学生的应用能力。
二、设计内容和基本要求设计任务书提供设计题目供学生选择。
在指导教师同意的情况下,学生也可以自己选择感兴趣的设计题目,以调动学生参加创新设计的积极性和创造性,给学生充分的自主空间。
基本要求:•设计工作量为完成一个中小型规模的软件和1份软件设计报告书•设计必须根据进度计划按期完成三、课程设计参考题目以下题目列出的仅为完成的基本功能,可根据需要完善与课题相关的其他功能。
以下题目涉及窗体的设计、菜单设计、数据库设计、文件的读写等多种编程的实现,根据题目的要求自行进行编程设计。
1、设计一个GUI猜数字游戏程序该游戏可以由程序随机产生四个0到9之间的整数,且不重复。
玩游戏者通过由用户输入四个数字来匹配上面所产生的数字。
A表示位置正确且数字正确,B表示数字正确而位置不正确。
假设随机数据为3792 时,分析如下数据:3792输入:1234 0A2B输入:5678 0A1B输入:0867 0A1B输入:9786 1A1B输入:1794 2A0B输入:2793 2A2B输入:3792 4A0B2、编写一个记事本程序,要求如下:(1)用图形用户界面实现。
(2)能实现编辑、保存、另存为、查找替换等功能。
提示:使用文件输入输出流。
3、设计一个简单学生个人信息管理系统,该系统具有录入,查询,修改三项基本功能。
要求如下:(1)具有简单的录入,查询和修改功能。
(2)修改学生信息必须输入学号,然后对姓名、性别和专业等进行修改;(3)使用文件存储数据。
面向对象程序课程设计任务书

面向对象程序设计课程设计任务书课程性质:设计总学时数:1周适用专业:软件工程、嵌入式软件、网络软件学院2014-6一、课程设计目的和任务《面向对象程序设计》是一门实践性很强的计算机专业基础课程,课程设计是学习完该课程后进行的一次较全面的综合练习。
其目的在于通过实践加深学生对面向对象程序设计的理论、方法和基础知识的理解,掌握使用Java语言进行面向对象设计的基本方法,提高运用面向对象知识分析实际问题、解决实际问题的能力,提高学生的应用能力。
二、设计内容和基本要求设计任务书提供设计题目供学生选择。
在指导教师同意的情况下,学生也可以自己选择感兴趣的设计题目,以调动学生参加创新设计的积极性和创造性,给学生充分的自主空间。
基本要求:•设计工作量为完成一个中小型规模的软件和1份软件设计报告书•设计必须根据进度计划按期完成三、课程设计参考题目以下题目列出的仅为完成的基本功能,可根据需要完善与课题相关的其他功能。
以下题目涉及窗体的设计、菜单设计、数据库设计、文件的读写等多种编程的实现,根据题目的要求自行进行编程设计。
每个同学根据自己的学号末两位进行%10+1的运算方法确定本次课程设计的题目。
1、个人通讯录管理要求如下:编程实现个人通讯录管理(用文件存储)。
主要提供如下功能:(1)增加记录(2)删除记录(3)显示所有记录(4)查询记录(5)文件备份(6)退出通讯录记录信息包括:姓名,电话,email等信息,可以采用数据库或文件进行存储。
2、打字训练测试软件要求:设计一个英文打字测试软件。
从文件中调入英文录入材料,最后可以给出错误率,平均录入速度。
3、设计一个简单学生个人信息管理系统,该系统具有录入,查询,修改三项基本功能。
要求如下:(1)具有简单的录入,查询和修改功能。
(2)修改学生信息必须输入学号,然后对姓名、性别和专业等进行修改;(3)使用文件存储数据。
(4)学生个人信息必须包括:学号、姓名、性别、出生日期、身份证号、专业、班级自我简介,其余可自行丰富。
《面向对象程序设计》课程设计任务书

《面向对象程序设计》课程设计任务书《C++面向对象程序设计》课程实习任务书一、课程设计目的使学生能够更好地掌握C++程序设计语言,更深地理解面向对象程序设计的基本概念与方法,加深对讲授内容的理解,累积经验、学会独立上机调试程序,并且逐步达到综合运用封装、继承和多态等C++难点知识,从而学会利用C++语言解决一般应用问题,并为后续专业课程的学习奠定程序设计基础。
二、课程设计的基本要求1、明确题目要求,进行具体分析;2、进行功能设计,编写设计说明;3、进行程序设计与调试; 4、完成设计报告三、课程设计内容本课程设计要求学生独立完成一个完整的用C++语言编写的面向对象的应用程序,以全面掌握C++面向对象程序设计的基本知识。
课程设计题目可以从下面题目中进行选择,经过老师同意也可以选择其他题目。
(一)通讯录管理程序(学号mod 3=1的同学做)功能要求:1)能建立、修改和增删(含清空)学生通讯录 2)能够按多种方式进行查询。
例如:输入姓名可以查询其本人的电话号码等内容。
要求:通讯信息至少要包括:学生姓名、通讯地址、邮政编码、电话号码、QQ号码(可以根据自己爱好增加其他通讯信息)。
(二)高校学生宿舍信息管理系统(学号mod 3=2的同学做)功能需求:1)系统应该提供学生住宿情况的基本登记。
2系统应提供查询功能,以方便用户对学生住宿情况的查询(要实现按多种条件的查询)。
3)系统还应具有添加、修改、删除学生基本信息的功能。
(三)职工信息管理系统(学号mod 3=0的同学做)功能要求:1)能够实现职工信息录入功能;2)实现删除职工信息的功能;3)实现修职工信息的功能;4)实现用文本文件保存职工的信息;5)按照职工编号或工资对职工信息排序;6)按照编号查找职工;四、课程设计考核方式与标准采用设计表现情况、程序质量、设计报告相结合的考核形式: 1、设计表现(30%)包括出勤情况、调试程序时表现。
缺勤超过1/3者,可以给定不及格。
信息与计算科学专业面向对象课程设计任务书(Word)

面向对象程序设计课程设计任务书1.1 面向对象课程设计目的通过课程是设计,进一步熟悉面向对象程序设计语言中类的概念、类的封装、继承的实现方式。
了解系统开发的需求分析、类层次设计、模块分解、编码测试、模块组装与整体调试的全过程,加深对面向对象程序设计的理解与面向对象程序开发环境的使用;逐步熟悉程序设计的方法,并养成良好的编程习惯。
1.2 课程设计结构及要求结构化程序设计使用的是功能化抽象,面向对象程序设计不仅能进行功能抽象,而且能进行数据抽象。
“对象”实际上是功能抽象和数据抽象的统一。
面向对象程序设计语言的“对象”是“类”的实例,课程设计的基础是设计类,所以类的有关概念是重点,尤其要抓住抽象、封装、继承和多态性等要素。
要求学生的课程设计中要涉及类、继承的使用。
类设计的重点是如何选择数据成员和成员函数。
成员函数设计的难点是选择函数类型及其参数传递方式。
数据类型及程序控制方式仍然是面向对象程序设计语言的基础;数组、指针、类和结构的使用方法是编程的核心技术。
学生学习时,常常避开多文件编程和使用文件,但这些要求是程序员必备的知识,因此课程设计中应加强这方面的训练。
课程设计结果:提交课程设计报告1.3课程设计题目本课程设计提供了4个设计题目,学生任意选作一题,独立完成。
可使用C++或JA V A 两种面向对象程序设计语言。
题目1:一个简单的算法演示程序(JA V A语言实现)功能要求:1. 选择一个算法(提供选择见下),利用各种方法(图形、动画等)演示算法的演示过程。
2. 可以进行手动演示,也可以自动步进式演示。
3. 允许用户设置算法的各个输入参数,以及自动步进式演示中的时间间隔。
4. 不同的算法输入要求见下。
界面要求:1. 尽量使用图形界面实现,要符合日常软件使用规范来设计菜单和界面。
2. 如果无法实现图形界面,则在命令行方式下也需要提供菜单,方便用户操作。
其他要求:1. 标识符命名遵循Windows命名规范。
《面向对象程序设计课程设计》任务书

09级C++语言程序设计课程设计任务书(适应于09级软件工程、网络工程专业)一、课程设计的目的与要求1.教案目的在《面向对象程序设计》课程理论与实验教案的基础上,根据软件工程的方法与流程,在相对集中的实训教案时间内,通过一个功能较完整的小型应用系统,复习与深入掌握面向对象的程序设计思想与技术方法。
同时,作为整个实践教案体系一部分,系统培养学生采用面向对象的方法分析问题与解决问题的能力及团体组织与协作能力。
2.教案要求从课程设计的目的出发,通过设计工作的各个环节,达到以下教案要求:1)根据实现的功能,划分出合理的对象类,明确对象类间的关系。
2) 为每个对象类设计正确的域和方法,为每个方法设计合理的方法体。
同时,为对象类及内部的域和方法运用正确的修饰符,如访问控制符等。
3)编程简练,程序功能齐全,能正确运行。
4)说明书、流程图要清楚,规范(必须采用UML格式)5)课题完成后必须按要求提交课程设计报告,格式规范,内容详实。
二、课程设计的内容与安排1、题目安排1)动物园动物日常看管系统i)用类族来描述各类动物的关系ii)在派生类中描述各类动物的特性iii)各类动物对象的多样化构建模iv)能把动物的数据存入到文件中,系统初始化时可以读出已有的文件数据2)汽车家族展示系统i)用类族来描述各类汽车的关系,汽车类使用抽像类表示ii)在派生类中描述各类小汽车的特性iii)各类汽车对象的多样化构建模iv)能把汽车的数据存入到文件中,系统初始化时可以读出已有的文件数据3)学生选课系统i)描述学生类的层次结构,不同专业、不同年级的同学选择不同的课程ii)描述出课程类的结构iii)描述出教师与课程的关系iv)能完成基本数据的输入与学生的选课过程,具有数据保存与读取功能。
4) 列车时刻查询系统i) 具有不同类型的列车类的描述ii)有列表时刻表类的描述iii)能完成时刻表的输入、查询、保存等功能iv)多样化的对象建模方式5)个人约会管理系统i)具有不同约会类的层次结构ii)具有不同性质朋友的类层次结构iii)应用类的继承和派生机制来实现iv)具有约会的保存与查询功能6) 学生成绩管理系统i)具有不同课程类的层次结构ii)具有不同专业学生类的层次结构iii)描述出学生与课程之间的关系,应用组合类与派生机制iv)具有学生信息与成绩信息的保存与查询功能2、任务要求(一)目的:(1)要求学生达到熟练掌握C++语言的基本知识和技能;(2)基本掌握面向对象程序设计的基本思路和方法;(3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。
面向对象课程设计任务书3

河南城建学院《面向对象程序设计》课程设计任务书班级0844121专业软件工程课程名称面向对象程序设计指导教师苏靖枫周二强计算机科学与工程学院2013年6月《面向对象课程设计》任务书一、设计时间及地点1、时间:第17周2、地点:计算机系实验中心205机房、本班教室二、设计目的和要求本课程设计是在学习C++基本理论之后的实践教学环节。
该实践教学是软件设计的综合训练,包括问题分析、总体结构设计、用户界面设计、程序设计基本技能和技巧。
要求学生在设计中逐步提高程序设计能力,培养科学的软件工作方法。
学生通过课程设计在下述各方面得到锻炼:1.能根据实际问题的具体情况,结合C++的基本理论和基本技巧,正确分析问题,并能设计出解决问题的有效算法与程序。
2.提高程序设计和调试能力。
学生通过上机实习,验证自己设计的算法和程序的正确性。
学会有效利用基本调试方法,迅速找出程序代码中的错误并且修改,进一步提高程序设计水平。
三、设计题目和内容1. 有理数运算问题描述:有理数是一个可以化为一个分数的数,例如2/3,533/920,-12/49都是有理数,而就为无理数。
在C++中,并没有预先定义有理数,需要时可以定义一个有理数类,将有理数的分子和分母分别存放在两个整型变量中。
对有理数的各种操作都可以用重载运算符来实现。
基本要求:定义并实现一个有理数类,通过重载运算符+、-、*、/对有理数进行算术运算,通过重载运算符==实现判定两个有理数是否相等。
写一个优化函数,它的作用是使有理数约去公分母,也即是使保存的有理数分子和分母之间没有公约数(除去1以外)。
此外,还要定义一个将有理数转换为实数的函数,再加上构造函数和有理数输出函数。
测试数据:在应用程序中,创建若干有理数对象,通过带参数的构造函数使得各有理数对象值各不相同,然后分别进行各类运算,输出运算结果,检验其正确性。
实现提示:设有两个有理数a/b和c/d,则有:(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、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
河南城建学院《面向对象程序设计》课程设计任务书班级0844121专业软件工程课程名称面向对象程序设计指导教师苏靖枫周二强计算机科学与工程学院2013年6月《面向对象课程设计》任务书一、设计时间及地点1、时间:第17周2、地点:计算机系实验中心205机房、本班教室二、设计目的和要求本课程设计是在学习C++基本理论之后的实践教学环节。
该实践教学是软件设计的综合训练,包括问题分析、总体结构设计、用户界面设计、程序设计基本技能和技巧。
要求学生在设计中逐步提高程序设计能力,培养科学的软件工作方法。
学生通过课程设计在下述各方面得到锻炼:1.能根据实际问题的具体情况,结合C++的基本理论和基本技巧,正确分析问题,并能设计出解决问题的有效算法与程序。
2.提高程序设计和调试能力。
学生通过上机实习,验证自己设计的算法和程序的正确性。
学会有效利用基本调试方法,迅速找出程序代码中的错误并且修改,进一步提高程序设计水平。
三、设计题目和内容1. 有理数运算问题描述:有理数是一个可以化为一个分数的数,例如2/3,533/920,-12/49都是有理数,而就为无理数。
在C++中,并没有预先定义有理数,需要时可以定义一个有理数类,将有理数的分子和分母分别存放在两个整型变量中。
对有理数的各种操作都可以用重载运算符来实现。
基本要求:定义并实现一个有理数类,通过重载运算符+、-、*、/对有理数进行算术运算,通过重载运算符==实现判定两个有理数是否相等。
写一个优化函数,它的作用是使有理数约去公分母,也即是使保存的有理数分子和分母之间没有公约数(除去1以外)。
此外,还要定义一个将有理数转换为实数的函数,再加上构造函数和有理数输出函数。
测试数据:在应用程序中,创建若干有理数对象,通过带参数的构造函数使得各有理数对象值各不相同,然后分别进行各类运算,输出运算结果,检验其正确性。
实现提示:设有两个有理数a/b和c/d,则有:(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为分母有理数输出格式为:分子/分母2. 通讯录管理问题描述:编写一个简单的通讯录管理程序。
通讯录记录有姓名,地址(省、市(县)、街道),电话号码,邮政编码等四项。
基本要求:程序应提供的基本基本管理功能有:1)添加:即增加一个人的记录到通信录中2)显示:即在屏幕上显示所有通信录中的人员信息,应能分屏显示。
3)存储:即将通讯录信息保存在一个文件中。
4)装入:即将文件中的信息读入程序。
5)查询:可根据姓名查找某人的相关信息,若找到显示其姓名、地址、电话号码和邮政编码。
6)修改:可修改一个人的除姓名外其它信息。
测试数据:程序应输入不少于10个人员的通讯录信息,应考虑到人员可以同名的情况。
实现提示:程序可用一个单向链表来管理人员信息,每个人员的姓名,地址,电话号码和邮政编码用一个类Cperson来实现,作为链表的值指针指向这些Cperson类对象,通过链表的遍历可以操作这些数据。
选做内容:为了加快数据定位查找的速度,采用常用优先的方法对链表的各个节点进行排序,即一旦操作了一个人员的数据,他的数据就将被调用到链表的链首。
这样经过有限次操作,经常查阅的人员的信息就将排在链表的前端。
虽然不能说链首的节点一定是最常用的,但常用的节点一定会排在较靠前的部分,链表查找时所要走的平均距离一定较短。
3. 商品销售统计问题描述:编写商品销售统计程序,商品的信息有:商品的名称,计量单位(重量或件),单价。
所有商品的信息事先已存入计算机,屏幕上显示所有商品的名称,选择商品名,输入商品计量单位(如重量,件数等),根据单价算出总价。
客户一次购物可能购买多种商品,程序应计算出客户应付的钱款数。
基本要求:程序分为两个部分:第一部分用于输入商品的信息并允许修改和删除;第二部分实现销售统计。
程序运行时由用户选择进入哪一部分功能,并能在运行时在两部分之间切换。
第二部分运行时,首先显示所有商品名称及代码(商品数目较多时,应考虑分屏显示),用户输入商品代码及商品重量或件数,用户一次操作可输入若干商品的购买信息,然后输入一个特殊的代码(如-1)表示本次购物结束。
此时。
程序计算出应付钱款数并显示。
测试数据:程序应输入不少于10种商品的信息,并进行模拟运行。
实现提示:本程序的商品信息管理可采用与课程设计题目二类似的数据结构,既定义一个商品类,每种商品作为商品类的实例(对象)存储在链表节点中。
选做内容:程序在营业结束时统计每种商品的销售量,销售金额及总营业额。
因此第二部分应有营业结束的选择,当用户选择此项时屏幕上显示当天营业的每种商品的销售量,销售金额及总营业额。
注意,商品类的数据成员应增加有商品的销售量和销售金额。
总营业额是所有商品的营业额之和,可用静态数据成员实现。
或可由原商品类派生出一个特殊的类,增加上面的数据成员及相应的成员函数。
4. 研究生初试录取问题描述:研究生考试课程为4门,其中数学、外语、政治为统一命题,而专业基础课则根据不同的专业由招生学校自行命题。
国家对初试录取分数有总分要求(如某一年要求4门课总分应达到310分),另外还有对每门课的最低分数要求(如总分为100的试卷最低应达到40分,总分为150的试卷最低应达到65分)。
编程统计初试合格的人数,并按总分由高到低的顺序输出合格考生的信息。
基本要求:程序运行时首先要求输入:考生姓名,准考证号,报考专业,是否应届生,4门课程(政治、数学、外语、专业基础课)成绩。
这些原始数据应保存到一个文件中。
然后输入:录取的总分要求,各课程的最低分数要求。
输出要求:过线考生的姓名,准考证号,报考专业,是否应届生,4门课程(政治、数学、外语、专业基础课)成绩及总分,这些信息应存放到另一个文件中。
测试数据:程序应输入不少于10名考生的信息,其中应届生和历届生分别有若干名,并且都有合格和不合格的情况。
实现提示:可定义一个考生类存放有关信息和实现相应的操作。
分数线数据(总分要求和各门课程的要求)可定义另外的类来存放,但应能被考生类及其派生类直接访问。
选做内容:初试合格的考生应经过复试才能决定是否录取,复试成绩合格(大于一给定分值)可以录取,否则被淘汰。
而录取的顺序假设是按照专业基础课和复试成绩的平均值来确定的(因为这涉及到是计划内还是委培问题)。
因此,应首先输入初试合格考生的复试成绩及复试的合格线分数,然后按上面要求排序输出并标明被淘汰的学生。
5. 足球联赛积分问题描述:足球联赛采用主客场双循环赛制,胜一场得3分,平局各得1分,负一场得0分,联赛排名以积分多者在前,当两队(或多队)积分相同时,则净胜球(即进球数与失球数之差)多者在前,若净胜球相同,则进球数多者在前,若仍相同,则抽签或踢附加赛决定名次(这在联赛结束后进行,联赛未结束则两队名次并列,本程序不做这方面要求)。
试编一程序统计最近一轮比赛后,各队积分及排名。
基本要求:设积分表结构如下:队名(不超过15个字符),已比赛的场数,赢的场数,平的场数,负的场数,进球数,失球数,积分。
积分表放在正文文件中。
最近一轮的结果从键盘输入,其形式为:主队名(可用代码),客队名(可用代码),主队得分(即进球数),客队得分(即进球数)。
程序应根据此轮结果修改各队的积分和名次,所得的最新记分表仍在原积分文件中并同时在屏幕上显示。
测试数据:可选择我国当年的联赛的数据输入,并检查与公布的数据是否一致。
实现提示:定义一个球队类,每个球队是均是此类的对象。
由于联赛中参赛的队伍数是固定的,因此可用对象数组来实现(当然也可以用链表结构)。
每输入两个队的比赛成绩,则相应的队的有关数据(比赛场数,赢的场数,平的场数,负的场数,进球数,失球数,积分等)即可进行修改,比赛成绩录入完成,调用联赛排序方法(对象数组作为参数)排出名次并输出。
选做内容:篮球联赛(如NBA)往往采用胜率来决定名次,胜率就是取胜的场数比赛场数之比。
若胜率相同,再由净胜球及进球数来决定名次,通过继承性完成上述要求。
6. 银行账户管理程序问题描述:设计一个银行账户管理程序,账户的信息有账号(唯一)、姓名、余额、身份证号码、单位、电话号码、地址等,允许用户进行如下操作:开户、销户、存款、取款、转账、查询,一个用户可以有多个户头,账户的数值没有上限。
基本要求:程序运行时,可以由用户选择进行何种操作,开户操作要求输入用户信息后自动获取账号,用户销户后账号被回收,并且该账号可以继续分配给其它账户,不允许用户透支,根据姓名或账号可以进行用户的信息查询,所有的账户信息应存放到一个文件中,可以随时的访问和更新。
测试数据:程序应输入不少于10人的账户信息,应考虑到人员同名的情况。
实现提示:可定义一个账户类存放账户信息以及执行相应的操作,可以用一个链表类来管理账户。
选作内容:在上述程序的基础上,添加联名账户(一个联名账户有两个拥有者)的管理。
7. 模拟计算器程序问题描述:设计一个程序来模拟一个简单的手持计算器。
程序支持算术运算+、-、*、/、=、以及C(清除)、A(全清除)操作。
基本要求:程序运行时,显示一个窗口,等待用户输入,用户可以从键盘输入要计算的表达式,输入的表达式显示在窗口中,用户键入’=’符号后,窗口显示出结果。
测试数据:程序输入不少于5种不同的表达式进行测试。
实现提示:可定义一个计算器类,该类包括两个组件对象,一个计算引擎和一个用户接口,用户接口对象处理接受的键盘输入信息,并显示答案,计算引擎对象对给出的数据执行相应操作,并存储操作的结果。
选作内容:如果用户输入的表达式不合法,可以判别出来并给出相应的错误提示。
8. 设计一个排课程序问题描述:每位教师都有教学工作量,教师对他所希望讲授的课程表达为一个期望值,1,2…,n,其中1位最高的期望值。
课程也有优先级,1,2…,n,用来决定将课程分给教师的顺序,其中1时最高的优先级。
设计一个程序针对某些课程给某些教师进行排课。
基本要求:程序运行时,用户输入教师信息(姓名、教师号、工作量)、课程信息(课程名、课程号、周学时、总学时、优先级)、教师对所希望讲授课程的期望值以及教学工作量等相关信息,所有信息应保存在文件中,程序根据课程的优先级以及教师对课程的期望值进行排课。