绘图应用程序。利用学过的GUI 方法实现一个较为完整的绘图应用程序。用户可以选择要画的图形(如线,椭圆,圆,矩形,弧,圆角矩形,多边形,折线等等),选择画笔颜色和画笔粗度,用鼠标单击和拖拽等动作绘图,并能将绘图结果保存为jpg和bmp格式。参考界面(可自己设计)如下:【最大选题人数:5】
第2题:计算器
设计一个计算器应用程序,用于进行简单的加减乘除四则运算。要求能对输入的算式判断运算符优先级,允许在表达式中出现常用的数学函数,如绝对值、取整、三角函数、倒数、平方根、平方、立方等。参考界面(可自己设计)如下:【最大选题人数:5】
第3题:设计一个万年历系统
设计一个万年历系统,实现以下功能:【最大选题人数:3】 (1)可以查看当前的年份、月份和日期;
(2)有时间栏,便于用户查看当前时间;
(3)能够查找1至9999年的日期与星期的关系。 其它功能可自行开发。
第4题:一个简单的算法演示程序
选择一个算法(提供选择见下)、利用各种方法(图形、界面)演示算法的计算过程。总体要求:
(1)可以进行手动演示,也可以自动步进式演示。
(2)允许用户设置算法的各个输入参数,以及自动步进式演示中的时间间隔。 (3).使用图形界面,要符合日常软件使用规范设置菜单和界面。 可参考算法:
1. 最小生成树算法:Prim算法、Kruskal算法。允许一下方式输入一个图形:绘制图形、
输入邻接矩阵、输入边及其关联的顶点。
2. 单源最短路算法:Disjkstra算法。允许一下方式如数一个图形:绘制图形、输入邻
接矩阵、输入边及其关联的顶点。
3. 最优编码算法:Huffman编码算法。允许用户输入一段英文文字,或者打开一个txt
文档(英文内容),据此文档内容进行编码。要求动态列出每个字符的出现概率统计结果以及对应编码。
4. 演示汉诺塔问题:设计并实现一个求解Hanoi 塔问题的图形版程序。允许用户设置
解题所使用的圆盘数。用户应当能以两种主要的方式与程序交互。一是可以在程序确认合法的情况下用鼠标将圆盘从一个塔座移到另一个塔座。二是可以用暂停/继续按钮观看解题过程的动画,并且允许用户控制动画速度。
5. 排序算法执行流程演示:在Applet画面中演示某排序算法的执行流程,演示支持手
动和自动两种方式,手动方式是用鼠标点击显示各步进展;自动靠软件延时控制。延时值通过Applet参数或在界面中通过文本框控件设置。
6. 其他可供演示的具有一定难度的算法:如关键路径问题、有向图的极大连通分支等。 【每个参考算法最大选题人数:3,这道题的最大选题人数:15】
第5题:音乐播放器
制作一个音频文件播放器,能够播放多种音频格式的文件。功能包括:【最大选题人数:5】 (1) 实现开始、暂停、停止等播放控制 (2) 维护一个或多个播放列表
(3) 能够从Internet下载歌曲并播放。 其它功能可自行扩展。
第6题:文本编辑器
制作一个简单的文本编辑器,交互性要求:【最大选题人数:5】 (1) 可输入文字(仅要求英文及标点符号)
(2) 实现一些常用的编辑功能:如复制和粘贴,查找和替换,首字母自动大写,拼写自动更正……
(3) 可打开并显示TXT文件,并且可以将编辑结果保存为TXT文件
第7题:管理信息系统
(1) 一个简单的学生成绩管理系统 数据库要求:
1. 建立的数据库中包含如下信息:学生学号、姓名、班级,语文、数学、英语 成绩。
2. 至少要有5 个班级,每个班级要有10 名以上学生。 (可使用任意数据库包括文本的方式存储各种表) 功能需求:
1. 能够实现根据以下关键字查询:学生姓名 、学号、班级、课程名称。 2. 能够实现按照单科成绩、总成绩、平均成绩、学号排序。 3. 能够实现学生信息的插入、删除和修改。
4. 能够查询每个课程的最高分、最低分及相应学生姓名、班级和学号。
5. 能够查询每个班级某门课程的优秀率(90 分及以上)、不及格率,并进行排序。
界面要求:使用图形界面实现,要符合日常软件使用规范来设计菜单和界面。参考界面如下:
(2)电话号码查询系统
功能要求:有电话录入,修改,增加,删除,按姓名查询,按电话号码查询,按部门查询,按部门显示,显示所有电话号码信息,打印等功能。
界面要求:使用图形界面实现,要符合日常软件使用规范来设计菜单和界面。 (3)图书馆管理系统。
功能要求:用数据库建立1或2个图书信息表。(不限使用哪种数据库)具备管理图书功能:增加、删除、修改某些图书的信息。具备还书、借书功能。
界面要求:使用图形界面实现,要符合日常软件使用规范来设计菜单和界面。
补充:类似的题目大家还可以选择学生信息管理系统、超市收银系统、仓库管理系统、医院挂号系统等。【每个系统最大选题人数:4,这道题的最大选题人数:12】
第8题:加密与解密
要求:采用图形用户界面
1、给定任意一个文本文件(也可以是声音、视频文件),采用某种加密算法进行加密(包括RSA、DES、IDEA、AES等),生成另一个文件。 2、对加密后的文件解密。参考界面如下: (作业的文档必须包括算法思想介绍、主要函数说明、测试应选择不同大小的文件进行测试) 【每个加密算法最大选题人数:3,这道题的最大选题人数:10】
第9题:游戏开发
(1)拿火柴游戏
程序随机产生20—50根火柴,由人与计算机轮流拿,每次拿的数量不超过3根,拿到最后一根为胜。(使用图形界面)
(2) 五子棋
功能要求:可两人对下(用鼠标操作),判断胜负。
界面要求:美观简洁,有简单操作说明。参考界面如下:
(3)俄罗斯方块
俄罗斯方块应有如下功能: 1.在二维的平面里用各种随即产生的方块堆积木,每填满一行消去一行,当到达顶部时,游戏结束。
2. 玩家能通过方向键来控制方块的转动,左移,右移和直落。 3.每种类型的方块都有颜色。
4.游戏能够在玩的过程中,给出玩家的分数,分数是由随即方块的类型决定的,每堆一个方块,就将分数累加到总分中。
5.游戏有暂停、开始和结束、游戏规则、游戏说明等控制。 (其它功能可自行添加)
(4)扫雷
制作一个扫雷游戏。(只需实现Windows自带扫雷游戏的部分功能,如只需实现初级及中级,无需高级、自定义)参考界面如下:
(5). Applet设计——拼图游戏
1、将一个大的图像分成9个大小、尺寸相等的小图像,然后在这9个图像中随机选择8个小图像,放在9个小方格中,余留一个空格;
2、游戏者要移动这8个小图像,将它们按原来在大图像中的位置排列,则游戏成功; 3、键盘和鼠标都能移动小图像,并具有计时和累计小图像移动步数功能。
补充:其它如坦克大战、贪吃蛇、红心大战、华容道等游戏也可以。 【每个游戏最大选题人数:4,这道题的最大选题人数:18】
第10题:PL0编译器(Java版)
实现一个Java版的PL0编译器。 【功能提示】
(1) 能运行由《编译原理》教材中定义的PL0语言编写而成的源程序
(2) 参考C版源代码,遵循编译器的基本结构,应用面向对象软件设计方法重新实现。不应仅对C版代码作简单的翻译。
(3) 提供简单的断点、单步调试功能,用户能实时指定并查看某个变量的值。(可选) 其它功能可自行扩展。 【最大选题人数:5】
---------------------------------------------------------- 有关题目的说明:
1. 所有题目必须实现为GUI程序。
2. 功能提示部分的内容仅供参考,请自行判断哪些是本题目的必作要求,哪些是进阶要求,
同时鼓励创新,自行开发与题目相关的功能设计。
3. 可自选,但是难度不低于所给的题目,且必须事先把题目告诉老师!
4. 注意第三次作业格式要求!要按格式来! 写题目时不需要整个题目抄下,只需要相应的题目及对应的子题,其它的不用写到报告里,源程序代码不要放在纸版报告里! 5. 特别强调,第三次封面必须按照要求来。
因篇幅问题不能全部显示,请点此查看更多更全内容