1 / 21
文档名称:

数据结构课程设计-文章中单词查找.docx

格式:docx   大小:747KB   页数:21页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数据结构课程设计-文章中单词查找.docx

上传人:endfrs 2021/11/26 文件大小:747 KB

下载得到文件列表

数据结构课程设计-文章中单词查找.docx

相关文档

文档介绍

文档介绍:数据结构课程
设计报告
 
题  目: 文章中单词查找
专 业: 软件工程
 

 
 
起止时间: -
集美大学计算机工程学院软件工程教研室制
2021 年 7 月 09日 
 
  
目 录
一 引言 1
二系统功能和原始数据 1
三 程序总体设计 1
四 功能模块函数设计和调试 5
五 程序清单 9
六 课程设计总结 19
七 参考资料 19
一、引言
本课程实****是在理论学****和根底实验的根底上,学****开发规模较大的程序,运用已掌握应用数据结构来解决实际问题的根本方法。通过对程序结构的分析,设计和开发的过程,提高综合应用数据结构的能力,为学****软件专业课程创立较扎实的理论根底和实践根底。本次任务是设计一个能够实现从存放多篇英文文章的文件目录中读取文件,并统计各篇文章单词个数,或查找指定单词在各篇文章中出现的位置的程序,并鼓励开发者通过多种渠道提高程序运行效率。通过本次课程设计不仅可以加深对所学知识的理解也提高了把知识应用到实践中能力。
二、系统功能和原始数据
(1)系统功能
有多篇英文文章存放于文件中,每行约等于80个字符,每页约等于40行。分别放于多个文件中,并实现如下功能:
〔1〕统计文件的个数,统计每篇文章的单词个数,统计文章中不重复单词个数
〔2〕查找一个单词所在的文章,页号,行号,测试三种情况可能的时间,该单词仅出现一次,出现屡次,不出现。
(2)原始数据
存放于文件中的多篇英文文章
三、程序总体设计
〔1〕数据结构
主程序下定义数据结构:
typedef struct{
char data[MaxLength]; //串数据域
int length;//串长度
}SqString;//串类型
typedef struct{
unsigned int count; //已查找到的个数
int localPage[100]; //存放页码
int localRow[100]; // 存放行数
}SearchOut; //暂存单词100个查找结果
WordCount类下定义数据结构:
typedef struct node{
char data; //节点数据
unsigned int count //出现次数
struct node *next; //next指向下一个字母节点
struct node *sibling; // sibling指向相邻节点
}Word;//统计下节点类型
typedef struct{
int top;//栈顶
Word* data[MaxLength]; //栈数据域
}Stack; //输出统计结果字母栈类型
〔2〕模块划分和层次结构
划分和层次结构
〔3〕函数原型清单
主程序下函数清单
函数原型:void countAllPaper()
函数功能:统计所有文件中单词
函数原型:void Search()
函数功能:查找函数
函数原型:void getFiles(unsigned int &files_num,char filename[MaxFiles][20])
函数功能:获取文件夹下所有txt文件:files_num为文件数,filename[]为文件名数组
函数原型:unsigned int WINAPI count(PVOID param)
函数功能:线程函数用于统计单词
函数原型:void OutFile(SearchOut &s,FILE *fout)
函数功能:将暂存于SearchOut的查找结果输入文件
函数原型:int Mate(SqString t)
函数功能:查找单词SqString t返回查找时间
WordCount类下函数清单
Public:
构造函数:WordCount(char* filesname)
函数功能:统计filesname文件的所有单词
函数原型:unsigned int getUsedTime(void)
函数功能:获取WordCount对象的usedTime值
Private: