《面向对象程序设计》课程设计教学大纲设计Word文件下载.docx

上传人:b****3 文档编号:7752245 上传时间:2023-05-09 格式:DOCX 页数:55 大小:37.98KB
下载 相关 举报
《面向对象程序设计》课程设计教学大纲设计Word文件下载.docx_第1页
第1页 / 共55页
《面向对象程序设计》课程设计教学大纲设计Word文件下载.docx_第2页
第2页 / 共55页
《面向对象程序设计》课程设计教学大纲设计Word文件下载.docx_第3页
第3页 / 共55页
《面向对象程序设计》课程设计教学大纲设计Word文件下载.docx_第4页
第4页 / 共55页
《面向对象程序设计》课程设计教学大纲设计Word文件下载.docx_第5页
第5页 / 共55页
《面向对象程序设计》课程设计教学大纲设计Word文件下载.docx_第6页
第6页 / 共55页
《面向对象程序设计》课程设计教学大纲设计Word文件下载.docx_第7页
第7页 / 共55页
《面向对象程序设计》课程设计教学大纲设计Word文件下载.docx_第8页
第8页 / 共55页
《面向对象程序设计》课程设计教学大纲设计Word文件下载.docx_第9页
第9页 / 共55页
《面向对象程序设计》课程设计教学大纲设计Word文件下载.docx_第10页
第10页 / 共55页
《面向对象程序设计》课程设计教学大纲设计Word文件下载.docx_第11页
第11页 / 共55页
《面向对象程序设计》课程设计教学大纲设计Word文件下载.docx_第12页
第12页 / 共55页
《面向对象程序设计》课程设计教学大纲设计Word文件下载.docx_第13页
第13页 / 共55页
《面向对象程序设计》课程设计教学大纲设计Word文件下载.docx_第14页
第14页 / 共55页
《面向对象程序设计》课程设计教学大纲设计Word文件下载.docx_第15页
第15页 / 共55页
《面向对象程序设计》课程设计教学大纲设计Word文件下载.docx_第16页
第16页 / 共55页
《面向对象程序设计》课程设计教学大纲设计Word文件下载.docx_第17页
第17页 / 共55页
《面向对象程序设计》课程设计教学大纲设计Word文件下载.docx_第18页
第18页 / 共55页
《面向对象程序设计》课程设计教学大纲设计Word文件下载.docx_第19页
第19页 / 共55页
《面向对象程序设计》课程设计教学大纲设计Word文件下载.docx_第20页
第20页 / 共55页
亲,该文档总共55页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

《面向对象程序设计》课程设计教学大纲设计Word文件下载.docx

《《面向对象程序设计》课程设计教学大纲设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《《面向对象程序设计》课程设计教学大纲设计Word文件下载.docx(55页珍藏版)》请在冰点文库上搜索。

《面向对象程序设计》课程设计教学大纲设计Word文件下载.docx

实现提示:

设有两个有理数a/b和c/d,则有:

(1)有理数相加分子=a*d+b*c;

分母=b*d

(2)有理数相减分子=a*d-b*c;

(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个字符),已比赛的场数,赢的场数,平的场数,负的场数,进球数,失球数,积分。

积分表放在正文文件中。

最近一轮的结果从键盘输入,其形式为:

主队名(可用代码),客队名(可用代码),主队得分(即进球数),客队得分(即进球数)。

程序应根据此轮结果修改各队的积分和名次,所得的最新记分表仍在原积分文件中并同时在屏幕上显示。

可选择我国当年的甲A或甲B联赛的数据输入,并检查与报章公布的数据是否一致。

定义一个球队类,每个球队是均是此类的对象。

由于联赛中参赛的队伍数是固定的,因此可用对象数组来实现(当然也可以用链表结构)。

每输入两个队的比赛成绩,则相应的队的有关数据(比赛场数,赢的场数,平的场数,负的场数,进球数,失球数,积分等)即可进行修改,比赛成绩录入完成,调用联赛排序方法(对象数组作为参数)排出名次并输出。

篮球联赛(如NBA)往往采用胜率来决定名次,胜率就是取胜的场数比赛场数之比。

若胜率相同,再由净胜球及进球数来决定名次,通过继承性完成上述要求。

6、银行账户管理程序

设计一个银行账户管理程序,账户的信息有账号(唯一)、、余额、、单位、、地址等,允许用户进行如下操作:

开户、销户、存款、取款、转账、查询,一个用户可以有多个户头,账户的数值没有上限。

程序运行时,可以由用户选择进行何种操作,开户操作要求输入用户信息后自动获取账号,用户销户后账号被回收,并且该账号可以继续分配给其它账户,不允许用户透支,根据或账号可以进行用户的信息查询,所有的账户信息应存放到一个文件中,可以随时的访问和更新。

程序应输入不少于10人的账户信息,应考虑到人员同名的情况。

可定义一个账户类存放账户信息以及执行相应的操作,可以用一个链表类来管理账户。

选作容:

在上述程序的基础上,添加联名账户(一个联名账户有两个拥有者)的管理。

7、模拟计算器程序

设计一个程序来模拟一个简单的手持计算器。

程序支持算术运算+、-、*、/、=、以及C(清除)、A(全清除)操作。

程序运行时,显示一个窗口,等待用户输入,用户可以从键盘输入要计算的表达式,输入的表达式显示在窗口中,用户键入’=’符号后,窗口显示出结果。

程序输入不少于5种不同的表达式进行测试。

可定义一个计算器类,该类包括两个组件对象,一个计算引擎和一个用户接口,用户接口对象处理接受的键盘输入信息,并显示答案,计算引擎对象对给出的数据执行相应操作,并存储操作的结果。

如果用户输入的表达式不合法,可以判别出来并给出相应的错误提示。

8、设计一个排课程序

每位教师都有教学工作量,教师对他所希望讲授的课程表达为一个期望值,1,2…,n,其中1位最高的期望值。

课程也有优先级,1,2…,n,用来决定将课程分给教师的顺序,其中1时最高的优先级。

设计一个程序针对某些课程给某些教师进行排课。

程序运行时,用户输入教师信息(、教师号、工作量)、课程信息(课程名、课程号、周学时、总学时、优先级)、教师对所希望讲授课程的期望值以及教学工作量等相关信息,所有信息应保存在文件中,程序根据课程的优先级以及教师对课程的期望值进行排课。

为了公平起见,程序随机分配课程,如果10门课程都有优先级1,程序以随机的顺序将这些课程分给教师,如果10位教师对某门课程的期望值为1,程序应从10位教师中随机选择一个。

最后输出排课情况,即某位老师上某门课程,以及某位老师的工作量。

程序应能实现对不少于20门课和10个教师的排课,并且使每个教师的满意度达到最大,不存在工作量不满的教师以及未分配的课等情况。

可定义一个教师类存放教师信息,所有教师的信息可以用链表存储;

定义一个课程类存放课程信息,所有课程的信息可以用链表存储;

定义一个排课类进行排课,排课类可以访问课程和教师信息。

对两个同类班级安排一学期(20周)的课程,程序应能处理某些限制,如一个老师不能同时给两个班上课。

9、设计一个Database类

设计一个Database类。

Database类是一个表的集合,而表又由行和列组成。

例如,下面的雇员信息表包含三个记录,每个记录有四个字段(Employee、Name、Department和Boss)。

雇员

部门

部门经理

111-11-1234

Cruz

ACC

Warder

213-44-5649

Johnston

MIS

Michaels

321-88-7895

Tom

FIN

Bearskin

能够完成对数据库的基本操作;

包括创建数据库,实现对数据库里面的表的添加,删除;

以及能够完成对表结构的修改(如添加或删除字段),以及对表中的记录进行添加和删除;

能够完成对使用适当的查询语言从一个或多个表中查找相关信息。

可以选取高校人员(教师、学生、职工等)数据库作为测试数据

Database类的公有接口包含如下数据成员:

•创建一个表。

•通过增加或删除字段修改表结构。

•删除一个表。

•在表中增加一个记录。

•从表中删除记录。

•用适当的查询语言从一个或多个表中查找信息。

高校人员信息通常保存在文件里面,可以从文件里面读取人员信息;

然后完成上面操作。

10、电煤气管理系统

设计一个水电管理信息系统,能够对高校的水电费用进行管理,包括了登记费用,查询费用,以及住户信息管理等。

在设计时要考虑到学生和教工在用水电时的不同,学生可以免费使用一定额度的水电,超过这个额度的随便以后必须自费使用,且自费部分水电费的价格标准要高于教工的收费标准(主要是节约资源)。

实现对用户信息的录入

实现水电煤气数据的录入

计算并查询用户应缴费用

查询未缴纳费用

可选用小区物业管理部门的数据,也可采用手工输入不少于10个用户信息的数据。

用户基本信息类,教工用户信息类,学生用户信息类,收费标准类,该类存储水电煤气标准单位的收费标准,如:

煤气,1.0元/立方米;

不同类型人员水、电、煤气信息类,这些类可以包括水表,电表,煤气表ID,抄表时间,上次抄表时间,本次抄表时间,上次抄表度数,本次抄表度数,本次使用度数,费用,是否缴费标记等信息。

在实现的时候考虑继承和多态技术的合理使用。

实现用户查询系统能够找出该用户半年之的交费记录和本次应交费的数据。

11.对参赛结果分数进行处理:

参赛选手n人(n>

1),评委m人(m>

2),评委给每一选手打一个分数score(分数score为小于等于10的一个正实数)。

选手的最后得分lastScore计算方法为

(1)m<

9时,去掉一个最高分和一个最低分后另m-2个得分的平均值。

(2)m≥9时,去掉两个最高分和两个最低分后另m-4个得分的平均值。

假设事先已经建立了text型的数据文件f1.txt,其中依次记录着n个选手的编号(一个正整数)、(一个字符串)以及m个评委给出的得分。

请编制程序,依次从数据文件f1.txt中读入n个选手的有关信息,而后按上述规定方法计算出每一个选手的最后得分,而且往屏幕上以及另一个text型文件f2.txt中同时输出如下形式的结果信息。

假设参赛选手人数n=5,评委人数m=7,磁盘文件f1.txt中的初始数据为:

1zhangjin8.89.37.98.78.99.79.2

2lintao8.98.28.68.88.59.19.3

3guojian8.98.48.78.68.68.48.6

4maling7.98.38.58.68.58.98.3

5liuyifan9.59.19.89.29.09.58.9

那么,程序执行后,屏幕显示结果以及磁盘文件f2.txt中的结果均应该为:

参赛号姓名最高分最低分累积分最后得分

1zhangjin9.77.944.98.98

2lintao9.38.243.98.78

3guojian8.98.442.98.58

4maling8.97.942.28.44

5liuyifan9.88.946.39.26

思考:

可进一步考虑找出比赛的第1至第k名,也在屏幕以及f2.txt中同时输出相关的结果信息(k小于等于n,并规定若多个选手最后得分相同时,则有效分(即已删除原来的最高分后)中最高分高者名次优先)。

12、设计一个类CStudent,类中包含一个学生的基本数据如下:

编号,,性别,年龄,数学成绩,计算机成绩,外语成绩。

并假设编号为整数,且从1号往后连续编码;

为字符串,性别为字符。

如:

1LiPingm18899894

请采用binary文件形式,并使用随机读写处理方式,对自定义CStudent类的对象数据进行存储与读写处理(即是说,总按具有连续编码的编号num为“序”来对文件中的各对象数据进行随机读写处理)。

并设计该类的成员函数,而且对输出运算符“<

”进行重载,使该运算符能够完成将一个学生的信息输出到屏幕上。

要求成员函数完成以下功能:

(1)从键盘输入一个学生的有关信息,并将它们存入到数据文件中(按编号来确定写出位置)。

(2)按编号对学生信息进行检索并将检索结果显示在屏幕上。

(3)按对学生信息进行检索并将检索结果显示在屏幕上。

(4)计算某编号学生的总成绩与平均成绩。

(5)列出所有总成绩超过n分的性别为s同学的有关信息(n,s由用户从键盘输入)。

可进一步对上述程序进行扩充,如,添加学生基本数据(籍贯,专业,班级,其他各门成绩,奖惩记录等),并添加所需要的其他相关处理函数(如可通过咨询教学办公室管理人员后确立),进而将其编制成为一个简单而实用的小型学籍与成绩管理软件。

13、日期时间显示

(1)定义一个时间类Time,能提供时、分、秒组成的时间,并提供时间增加的方法(按秒)。

(2)定义一个日期类Date,记录年、月、日,并提供日期增加的方法(按天)。

(3)由类Time和日期类Date,派生出DateTime类,除具有年、月、日、时、分、秒外,还增加国名和与格林威治时间的差。

编一应用程序,输入年、月、日、时、分、秒,在屏幕上模拟显示一电子计时器,不断输出下一秒的时间和日期,以及格林威治的日期和时间。

注意,当对日期增加1天后,会涉及所谓的“进位”问题:

首先算出本“日”所在的月份具有的天数N,若加1之后的“日”数值超过所在的月份具有的天数N时,“进位”到月,而月份若超过12时还要“进位”到年。

可对该类增加你所考虑到的其他功能,如,对日期进行输入,计算二日期的间隔天数,计算某日期为星期几,打印对象当前数据的y年m月的月历,一次增加若干天,对两个日期进行其他比较运算等。

14、某商场有如下的几种货品:

衬衣、鞋子、帽子、裤子、冰箱、电视、立柜、壁橱、沙发。

每一种货物都有详细的说明信息。

衬衣:

布料、尺寸、单价、产地、库存量、所属货柜;

鞋子:

皮料、尺寸、单价、产地、库存量、所属货柜;

帽子:

布料、样式(平顶或尖顶)、尺寸、单价、产地、库存量、所属货柜;

裤子:

冰箱:

制冷类型、样式(二门或三门)、颜色、尺寸、单价、产地、库存量、重量、所属货柜;

电视:

样式(彩色或黑白)、颜色、尺寸、单价、产地、库存量、重量、所属货柜;

立柜:

木料、颜色、尺寸、单价、产地、库存量、所属货柜;

壁橱:

沙发:

木料、皮料、颜色、尺寸、单价、产地、库存量、所属货柜;

对这些商品的操作有:

新商品的录入,商品的进库,商品的出库,商品的调价,所属货柜的管理,库存的统计,总价格的计算,产地的统计。

要求自行设计数据结构,用类结构将上述的货品表示出来。

在上一步的基础上,将上述的商品管理计算机化,完成操作要求的功能。

15、定义并实现一个整数集合类int_set,集合类中cur_size表明当前集合中有几个整数,集合中最多含max_size个整数,存放集合元素的数组是动态的。

要求提供的方法有:

(1)增加一个整数到集合中;

(2)从集合中去掉一个元素;

(3)判断一个元素是否在集合中;

(4)重载<

运算法,输入集合;

重载>

运算符输出集合;

(5)分别实现集合的交、并、差运算。

16、高校人员信息管理系统设计

1)问题描述

某高校有四类员工:

教师、实验员、行政人员,教师兼行政人员;

共有的信息包括:

编号、、性别、年龄等。

其中,教师还包含的信息有:

所在系部、专业、职称;

实验员还包含的信息由:

所在实验室、职务;

行政人员还包含的信息有:

政治面貌、职称等。

2)功能要求

(1)添加功能:

程序能够任意添加上述四类人员的记录,可提供选择界面供用户选择所要添加的人员类别,要求员工的编号要唯一,如果添加了重复编号的记录时,则提示数据添加重复并取消添加。

(2)查询功能:

可根据编号、等信息对已添加的记录进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。

(3)显示功能:

可显示当前系统中所有记录,每条记录占据一行。

(4)编辑功能:

可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。

(5)删除功能:

主要实现对已添加的人员记录进行删除。

如果当前系统中没有相应的人员记录,则提示“记录为空!

”并返回操作;

否则,输入要删除的人员的编号或,根据所输入的信息删除该人员记录,如果没有找到该人员信息,则提示相应的记录不存。

(6)统计功能:

能根据多种参数进行人员的统计。

能统计四类人员数量以及总数,

统计男、女员工的数量。

(7)保存功能:

可将当前系统中各类人员记录存入文件中,存入方式任意。

(8)读取功能:

可将保存在文件中的人员信息读入到当前系统中,供用户进行使用。

3)问题的解决方案

根据系统功能要求,可以将问题解决分为以下步骤:

(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;

(2)分析系统中的各个实体及它们之间的关系;

(3)根据问题描述,设计系统的类层次;

(4)完成类层次中各个类的描述;

(5)完成类中各个成员函数的定义;

(6)完成系统的应用模块;

(7)功能调试;

(8)完成系统总结报告。

17、公司员工信息管理系统设计

某公司需要存储雇员的编号、、性别、所在部门,级别,并进行工资的计算。

其中,雇员分为经理、技术人员、销售人员和销售经理。

设计一程序能够对公司人员进行管理,应用到继承、抽象类、虚函数、虚基类、多态和文件的输入/输出等容。

可根据编号、等信息对已添加的记录进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息;

例如,统计四类人员数量以及总数,

或者统计男、女员工的数量等信息。

3)问题的解决方案

(2)分析系统中的各个实体及它们之间的关

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2