《面向对象程序设计》课程设计选题

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、课程设计报告要求:

1、不少于5000字,使用A4打印。

2、主要内容及装订顺序:封面、目录、正文、参考文献

3、正文部分应该包括:需求分析、系统概述、系统运行环境、功能需求描述、总体设计、系统模块结构图、数据库设计(如需数据库,应包含概念设计、逻辑设计、物理设计)、程序模块设计(含功能描述、用户界面设计、程序代码设计与分析、运行结果,每个人可选择2-3个模块进行)、系统使用说明。

4、界面要求:

1). 尽量使用图形界面实现,要符合日常软件使用规范来设计菜单和界面。

2). 如果无法实现图形界面,则在命令行方式下也需要提供菜单,方便用户操作。

5、其他要求:

1). 标识符命名遵循Windows命名规范。

2). 能够注意各种异常处理,注重提高程序运行效率。

二、课程设计需要提交的内容:

1、装订完整的课程设计报告,每人上交一份课程设计报告。

2、程序和课程设计报告压缩后放到BB讨论板

1、一个简单的算法演示程序

1. 选择一个算法(提供选择见下),利用各种方法(图形、动画等)演示算法的演示

过程。

2. 可以进行手动演示,也可以自动步进式演示。

3. 允许用户设置算法的各个输入参数,以及自动步进式演示中的时间间隔。

4. 不同的算法输入要求见下。

2、一个简单的网络聊天程序

1. 实现类似QQ的功能,自动侦测局域网内部启动该软件的用户,并显示在用户列表中。

2. 可以进行两个人之间的私聊。

3. 可以群聊。

4. 可以发送文件。

3、一个简单的万年历

1. 能够显示实现1800-2100年的日期,包括公历、农历、星期、二十四节气。

2. 能够按照月份格式显示,或按照星期格式显示。

3. 能够显示系统时间。

4. 能够查询若干国际大城市(分布在不同时区)的时间。

4、一个计算数学表达式的程序

1. 由用户输入一个简单的四则运算表达式,求出其计算结果后显示。

2. 允许在表达式中出现常用的数学函数,如绝对值、取整、三角函数、倒数、平方根、

平方、立方等。

5、模拟计算器程序

设计一个程序来模拟一个简单的手持计算器。程序支持算术运算+、-、*、/、=、以及C(清除)、A(全清除)操作。程序运行时,显示一个窗口,等待用户输入,用户可以从键盘输入要计算的表达式,输入的表达式显示在窗口中,用户键入’=’符号后,窗口显示出结果。如果用户输入的表达式不合法,可以判别出来并给出相应的错误提示。

实现提示

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

6、实现文件加密合并器(界面):

将几个文件(文本文件或者二进制文件),进行加密处理后,保存在一个文件中,也即类似WinRar的基本功能,但是可以不考虑压缩算法,同时还要实现,反向操作,即给一个综合的合并后的文件,能够查看其中的文件个数、名称、创建时间等信息,同时能够解压缩。

1、需要使用的包为java.io.*;

2、需要使用的类为:DataInputStream,DataOutputStream,BufferedReader,

BufferedInputStreamReader,FileInputStream,FileOutputStream,FileIOException, FileNotFoundException

3、需要注意进行合并后的文件格式处理,在合并后的文件中要增加一些额外信息,为

了文件的解压缩和还原处理

4、文件的加密算法可以使用简单的移位加密,也可以使用更加复杂的加密算法。

要求进行分析,设计类关系图

7、通讯录管理 (界面或字符)

编写一个简单的通讯录管理程序。通讯录记录有姓名,地址(省、市(县)、街道),电话号码,邮政编码等四项。

基本要求

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

1)添加:即增加一个人的记录到通信录中

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

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

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

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

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

实现提示

程序可用一个单向链表来管理人员信息,每个人员的姓名,地址,电话号码和邮政编码用一个类Cperson来实现,作为链表的值指针指向这些Cperson类对象,通过链表的遍历可以操作这些数据。

8、模拟人工洗牌

编写一个模拟人工洗牌的程序,将洗好的牌分别发给四个人。使用类Card 来描述一张牌,用随机函数来模拟人工洗牌的过程,最后将洗好的52张牌顺序分别发给四个人。设计一个洗牌类,负责来洗牌。设计一个玩家类,可以查看每一个玩家s的牌。

9、编写一个会话程序(通过Java的网络功能实现)。(界面或字符)

要求:会话双方可以自由通话,看到对方发来“bye”则退出。

10、电子词典

编写一个具有插入、删除、修改、查询功能英汉、汉英对照的电子词典。(界面或字符)

11、HANNOI-塔

1. 主类

2. Hannoi-塔

3. 塔点

4. 盘子

12、挖雷游戏

1. 主类

2. 方块

3. 雷区

4. 计时器

5. 雷标数目

6. 雷标判断

7. 成片挖开区域

8. 无雷连通区

9. 随机布雷

10. 周围地雷个数

11. 显示剩余雷数

12. 英雄榜录入对话框

13. 显示英雄榜对话框

14. 挖雷成功

相关文档
最新文档