数据结构大作业

数据结构大作业

一、大作业的性质和目的

数据结构大作业是对软件设计的综合训练,包括问题分析、总体设计、用户界面设计、程序设计基本技能和技巧,以至一套软件工作规范的训练和科学作风的培养。在数据结构实验中,完成的只是单一而“小”的算法,而本课程设计是对学生的整体编程能力的锻炼。数据结构大作业的目的是训练学生对问题的抽象能力和算法的运用能力。

 

二、大作业的基本要求

1. 程序要求:

(1)界面友好:有合理的中文提示,每个功能可以设立菜单,根据提示,可以完成相关的功能。出现非法输入,会给出异常提示。

(2)物理存储:相关数据要求存储在数据文件中,在程序中完成文件的读写操作。

(3)逻辑结构:根据问题的要求,采用线性或非线性结构。需要考虑大数据量问题

2. 提交材料包括:

l  设计报告,要求包含以下内容:

(1)               《需求分析》:陈述要解决的问题,要实现的功能;

(2)               《项目设计》:包括总体设计,算法流程图,算法分析,使用的数据结构;

(3)               《测试报告》包括测试数据和测试结果记录:

要求测试  a)合法数据(尤其是特殊值或边界值)  b)非法数据;

(4)               设计过程中遇到的问题及解决方法;

(5)               尚未解决的问题及考虑应对的策略;

(6)               收获和心得。

l  源代码。要求注释清晰,编写规范,模块化。编程语言: C++/Java

l  可运行的exe文件。要求充分测试,在XP操作系统中能正常运行。

 

  以上内容打包后提交到教学在线。(下学期开学前提交,即最迟为2月24号,过时不候)

如果提交有问题,可以发到我的邮箱[email protected]

 

三、考核和成绩评定

本课程设计与“数据结构”课程独立记分(作为不同的课程)。

评分:实践考核(70%)  设计报告(30%)

 


四、题目(任选其中之一)

1. 数字化校园

(1)      设计华南理工大学的校园平面图,至少包括15个以上的地点,每两个地点间可以有不同的路,且路长可能不同。以图中顶点表示校内各地点,存放名称、代号、简介等信息;用边表示路径,存放路径长度等相关信息。

(2)      提供图中任意地点相关信息的查询。

(3)      提供图中任意地点的问路查询,即查询任意两个地点之间的一条最短路径。

(4)      学校要新建一间超市,请为超市选址,实现总体最优。注意要考虑各地点距离超市的远近,以及大家去超市的频度不同。

(5)      图形化界面,操作类似于google的地图搜索功能。

 

2. 简易电子表格

设计一个支持基本计算与统计功能和其他一些表格管理/处理功能的计算机软件,使用户可在该软件的支持下,用交互方式进行表格建立、数据输入、数据编辑、统计、计算及其他一些表格操作。

实现功能:

(1)      能够打开、新建、保存表格文件(存储在磁盘上);

(2)      能够完成数据输入、数据编辑;

(3)      能够完成查找、替换功能;

(4)      支持鼠标操作各项功能;

(5)      支持汉字显示、输入;

(6)      表格按行/列统计计算:包括合计、求平均、求最大/小;

(7)      排序:使任一行/列中的数据按大小(升或降)排列。

 

3. 图书信息管理系统

存储信息:图书号、书名;作者号、作者姓名;出版社号、出版社名;现存量和总库存量。

(注:一本图书可以有多个作者,一个作者可以编写多本图书)

基本业务活动:

(1)      采编入库:新购入一种书,经分类和确定书号之后登记到图书帐目中去。如果这种书在帐中已有,则只将总库存量增加。

(2)      清除库存:某种书已无保留价值,将它从图书帐目中注销。

(3)      借阅:如果一种书的现存量大于零,则借出一本,登记借阅者的图书证号和归还期限,改变该书的现存量。

(4)      归还:注销对借阅者的登记,改变该书的现存量。

(5)      查询图书信息:

a)       按书名查询:    如查找所有书名为“数据结构”的图书。

b)      按作者姓名查询:如查找所有“张三”编写的图书。

c)       按出版社名查询:如查找所有“机械工业出版社”出版的图书。

d)      组合查询:如查找所有“张三”编写的、由“机械工业出版社”出版的图书。

 

4. 学院级学生管理系统

(1)      每个学生的信息包括:学号,姓名,班级,年级,修的课程,每门课程的总成绩;

(2)      支持添加、删除学生功能,将该学生相关的所有信息删除(管理员权限);

(3)      支持添加、删除课程的功能,需要将该课程的所有分数信息都删除(管理员权限);

(4)      支持输入某个学生某门课程的分数的功能(教师权限);

(5)      支持分数统计,可统计每门课程的及格率,平均分数(教师权限);

(6)      支持列表输出:将所有学生的某门功课成绩作成表格输出(可以是简单文本格式)(教师权限);

(7)      支持学生信息的查询、保存为磁盘文件(学生权限)。

 

5. 家谱管理系统

(1)      家庭成员信息存储:基本信息至少应包括姓名,出生地,出生日期,死亡日期,性别,身高,职业等;

(2)      家族关系存储:将各家庭成员之间的关系,存储在计算机中(可永久保存);

(3)      家谱数据的更新:修改、删除、加入;

(4)      将家谱以较友好的格式输出(显示);

(5)      按基本信息查询成员,按亲戚关系查询;

(6)      统计:平均寿命、平均身高、家庭平均人口等;

(7)      屏幕显示家谱树形结构(类似Windows 目录);

(8)      支持鼠标操作。

 

6. 桌面搜索引擎

(1)      支持对操作系统中的多个文件夹下面存储的文本文件(.txt文件和.html文件)建立索引,比如可以对c: /下面存储的所有文本文件建立索引。

(2)      支持对中文文本文件的索引,采用中文分词算法从中文文本中提取关键词。可以参考http://ictclas.org/分词系统,或其他分词方法。

(3)      提供多种复合搜索功能,其中包括与搜索:输入多个关键词,返回同时包含这些关键词的文件的文件名;或搜索:输入多个关键词,返回至少包含其中一个关键词的文件的文件名。

(4)      提供图形化使用界面。对搜索结果的呈现采用类似于google的搜索结果的呈现方法,除了返回命中文件的文件名,还可以输出包含有搜索关键词的相关句子。

 

7. 自选项目(涉及数据的插入、删除、排序、索引、查询等方面的知识运用)

  需要在这学期末跟老师邮件沟通,列出想做的题目,以及打算实现的功能,老师认可后方能自选。

 

你可能感兴趣的:(个人随笔与转载)