您的位置:首页 > 其它

2012 面向对象程序设计 课程设计题目及要求

2012-06-29 21:14 281 查看
2012 面向对象程序设计 课程设计题目及要求

使用面对象的方法,分析下列题目,编写程序及说明文档。以下四题任选一个。

开发环境:CODE::BLOCKs

************************************************************************************

以下几个知识点没有细讲,请大家从书上或是网上查找自学并可用于课程设计中:

(1) 动态类型转换:dynamic_cast<...>...

(2) 多重继承,定义,作用,优缺点。

(3) 类中的静态成员 static

**************************************************************************************

提交材料:设计文档+程序

(1)其中设计中的内容为:问题描述、问题分析、问题设计(可选,可参考UML的相关容来写,需自学),编程要点、测试。

(2)提交文档命名要求:

设计文档:学号+姓名.DOC

程序放一个文件夹中,文件夹的名字为:学号+姓名

例如:学号为12345678,姓名为计科,则提交的设计文档的名字为:12345678计科.DOC;提交的程序所在的文件夹名子为:12345678计科。

***************************************************************************************

1. 通讯录管理

问题描述

编写一个简单的通讯录管理程序。通讯录中分为一般条目和朋友条目。一般条目有姓名,地址,电话号码,邮政编码四项。朋友条目除具有一般条目的所有信息之外,还有Email,家庭电话。

基本要求

程序应提供的基本基本管理功能有:

1)添加:即增加一个人的记录到通信录中。(可以是一般条目,也可以是朋友条目。)

2)显示:即在屏幕上显示所有通信录中的人员信息,应能分屏显示。

3)存储:即将通讯录信息保存在一个文件中。

4)读入:即将文件中的信息读入程序。

5)查询:可根据姓名查找某人的相关信息,若找到显示其姓名、地址、电话号码和邮政编码。

6)修改:可修改一个人的除姓名外其它信息。

7)排序:可以根据据条目的某个项对所有条目进行排序,如姓名,或是邮政编码等。

测试数据

程序应输入不少于10个人员的通讯录信息,应考虑到人员可以同名的情况。

实现提示

… …。

选做内容

为了加快数据定位查找的速度,采用常用优先的方法对所有条目排序。使用次数最多的条目,要排在数据结构的首位,依次类推。这样经过有限次操作,经常查阅的人员的信息就将排在数据结构的前端。这样,但常用的条目排在较靠前的部分,查找时所要走的平均距离较短。

由于本题的雏形,在上课的过程中做过,所以请在文档中重点写自己扩展的那些内容,自己是如何使用面向对象的方法实现这些功能的。

2.图书馆管理系统

可以完成图书的入库管理(添加、修改)。借阅的人员有教师、学生,教师、学生是具有借书资格的人员。借阅人员可以从图书馆借书(借、还、逾期罚款)。在实现上述功能的同时,可以根据理解给程序添加功能。

3. 绘图程序

P编写一个绘图程序,使得可以在屏幕上画各种形状(线、长方型、正方型、圆等)。可以模仿windows中的画笔。如何在CODE::Blocks中画图?可以使用第三方库(Third-party libraries)wxWidgets,参见:http://wiki.codeblocks.org/index.php?title=Using_wxWidgets,更多的使用方法可以google。

4.学生成绩管理系统

OOP编写一个程序,对学生的考试成绩进行管理,其中包括对学生、老师、课程、学生的成绩进行管理。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: