没有合适的资源?快使用搜索试试~ 我知道了~
大数据结构文本编辑器.doc
需积分: 5 0 下载量 8 浏览量
2022-10-19
23:20:25
上传
评论
收藏 898KB DOC 举报
温馨提示
试读
28页
大数据结构文本编辑器.doc
资源详情
资源评论
资源推荐
大数据结构文本编辑器
文档大全
数据结构课程设计报告
大数据结构文本编辑器
文档大全
一. 需求分析
1.题目及要求
名称:简单的文本编辑器
内容:输入一页文字,程序可以统计出文字、数字、空格的个数。静态存储一页文章,每行最多不超过 80
个字符,共 N 行。
要求:(1)分别统计出其中英文字母数和空格数及整篇文章总字数;
(2)统计某一字符串在文章中出现的次数,并输出该次数;
(3)删除某一字符或者子串,并将后面的字符前移。
(4)插入某一字符或者子串。
(5)查找某一字符或者子串。
存储结构使用线性表,分别用几个子函数实现相应的功能;输入数据的形式和范围:可以输入大写、
小写的英文字母、任何数字及标点符号.
输出形式:
(1)分行输出用户输入的各行字符;
(2)分 4 行输出"全部字母数”、"数字个数”、"空格个数"、"文章总字数”
(3)输出删除某一字符串后的文章。
通过题目及其要求可知,本程序应实现以下功能:
(1) 文章内容的输入:包括字母、标点符号、数字等;
(2) 文章内容的统计:包括文章中大写字母、小写字母、数字、标点符号、空格以
及文章所有字数的个数的统计;
(3) 文章内容的处理:包括对文章内容的查找、删除以及对指定位置进行插入操作,
其中在查找的过程中统计出该字符或字符串在文章中出现的次数;
2.问题分析
本程序是对一段英文文章的内容进行处理,存储方式采用链式存储,没有文件操作,故本程序对其文本
内容的所有操作都是在链表中进行的.对于文本的输入,采用头插法将文本信息存储到链表已申请好的存储
空间中,在此部分设计中最大的问题在于输入文章过程中输入的字符数大于 80 时如何换行;对于文本内容
的统计,使用循环对已存储的文章进行匹配,大写字母数、小写字母数、空格数、数字数直接通过比较即可
得到,标点符号通过 ASCⅡ比较即可得到;对于文本内容的处理,查找部分仍是使用循环对已存储的文章进行
匹配,判断需要查找的字符或者字符串是否与文章中某部分内容相同,如果存在相同的记录相同的个数及位
置并输出个数及位置。删除部分先使用程序的查找功能对文章中需要删除的字符或者字符串进行查找,然后
对其进行删除.插入部分为通过输入的插入位置(行、列)将字符或者字符串插入到文章制定位置。
大数据结构文本编辑器
文档大全
二.概要设计
数据结构选择:本程序是对输入的文字进行操作,故使用的数据结构为单链表操作。根据第一部分的问题分
析有该链表操作有 3 部分:
Pre
Temp
Next
另有全局变量*head,作为文章的头指针。
故创建了以下结构体:
typedef struct _list
{ char data[80]; //记录一行字符
int length; //记录一行字符长度
struct _list *next; // 后继指针
struct _list *pre; //前趋指针
int row; //记录整篇文章的行数
}LinkList;
在文章内容创建部分中使用线性表的链式存储,并使用全局变量对文本的各种信息进行存储;
文章的内容统计、删除、查找、插入都采用链表操作完成。
本程序为将菜单功能完美化,使用了大量的 do while 语句。
大数据结构文本编辑器
文档大全
概要设计:
程序框架:
图
1 简单的文本
编辑器主框架
两个子菜单:
****************************************************
**** 欢迎使用简单的文本编辑器 ****
****************************************************
**** 主菜单 ****
****************************************************
**** 1、输入文本内容 ****
**** 2、显示当前文本内容 ****
**** 3、文本内容统计菜单 ****
**** 4、文本内容处理菜单 ****
**** 5、关于 ****
**** 6、退出本系统 ****
****************************************************
**** 注:第一次使用本系统时请选择 1 号功能 ****
****************************************************
判断
1
2
3
4
5
6
文本内容的
输 入 ,
CreatWord(),
将文本内容
输入到已申
请的存储空
间中
显 示 函
数,
PrintW
ord(),将
当 前 文
本 中 内
容 显 示
出来
文章内容统计
菜单,
CountWord(),
以菜单形式显
示给用户,对
文章的内容进
行各种方式的
统计
文章内容处理菜单,
Bmenu(),这部分为一
子菜单,使用了包括
SearchWord() 、
DeleteWord()、
InsertWord()三个函数,
对文章内容进行处理
一个类似
与作者信
息的代码,
AboutWor
d(), 显 示
作者信息
退
出
系
统
**********************************************
**** 文章内容统计菜单 ****
*********************************************
**** 1、文章中大写字母的个数 ****
**** 2、文章中小写字母的个数 ****
**** 3、文章中数字的个数 ****
**** 4、文章中标点符号的个数 ****
**** 5、文章中空格的个数 ****
**** 6、文章中所有字数 ****
**** 7、退出返回主菜单 ****
**** 8、直接退出本系统 ****
*********************************************
判断
统 计
文 本
中 大
写 字
母 个
数
1
统 计
文 本
中 小
写 字
母 个
数
2
统 计
文 本
中 数
字 的
个数
3
统 计
文 本
中 标
点 符
号 的
个数
4
统 计
文 本
中 空
格 的
个数
5
统 计
文 本
所 有
字数
6
返 回
到 主
菜单
7
直
接
退
出
系
统
8
大数据结构文本编辑器
文档大全
如选择上图中功能 3,则有:
图 2 简单的文本编辑器———-文本内容统计菜单
如选择功能 4,则有:
图
3 简单的文本
编 辑 器
-——-—文 本
内容处理菜单
根据以上各图,
本程序共设计
了 11 个函数。
1、HeadWord()
标 题 函 数 , 即
一 个 输 出 标
题,永远出现
在程序的最顶
端.
2、CreatWord
() 文本输
入函数,实现
上图 1 菜单功
能 1, 对 文 本
的内容进行输
入;
3、PrintWord
() 当前文本
内容输出函数,
实现上图 1 菜
单功能 2 以及
图 3 中功能 4,
将当
**********************************************
**** 文章内容处理菜单 ****
*********************************************
**** 1、查找文章中的字符或者字符串 ****
**** 2、删除文章中的字符或者字符串 ****
**** 3、向文章中插入字符或者字符串 ****
**** 4、显示当前文章内容 ****
**** 5、返回主菜单 ****
**** 6、直接退出系统 ****
*********************************************
判断
1
2
3
4
5
6
使用子函数
SearchWord(),
对存储在链表
中的文本进行
字符或者字符
串查找
使用子函数
DeleteWord(),
对存储在链表
中文本进行字
符或者字符串
的删除
使用子函数
InsertWord(),
对存储在链表
中的文本进行
字符或者字符
串的插入
使 用 函 数
PrintWord()
将当前文本
信息显示出
来
返回到主菜
单继续其他
菜单
结束整个程
序
剩余27页未读,继续阅读
智慧安全方案
- 粉丝: 3702
- 资源: 59万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0