文本编辑与串查统计系统
### 文本编辑与串查找统计系统的知识点解析 #### 核心功能分析 本文档主要介绍了一个文本编辑与串查找统计系统的设计与实现方法。该系统旨在处理文本输入,并执行多种统计与编辑操作。 ##### 输入与存储 - **静态存储**: 文档通过静态方式存储一篇文本,其中每行不超过80个字符,共N行。这意味着所有数据都在程序启动时预先加载到内存中。 - **数据格式**: 支持大写、小写英文字母、数字以及各种标点符号的输入。 ##### 功能需求 系统提供了以下核心功能: 1. **基本统计**: - **英文字母数量统计**: 区分大小写分别计数。 - **空格数量统计**。 - **标点符号数量统计**。 - **整篇文章总字数统计**。 2. **串查找统计**: - 用户可以输入一个特定的字符串,系统返回该字符串在文章中的出现次数。 3. **子串删除**: - 用户指定一个子串,系统会删除所有匹配的子串并将剩余的文本进行前移。 ##### 输入输出细节 - **输入**: 用户可以输入多行文本,每行不超过80个字符。 - **输出**: - 分行输出用户输入的所有文本行。 - 分别输出“全部字母数”、“数字个数”、“空格个数”、“标点符号个数”、“文章总字数”等统计数据。 - 输出删除子串后的文本内容。 #### 技术实现细节 根据部分给出的代码片段,我们可以看到一些具体的技术实现细节: 1. **数据结构定义**: - 使用`sqlist`结构体来存储文本数据,其中包含一个字符数组`data`用于存储实际文本。 2. **插入文本**: - 函数`insert(sqlist*L)`负责读取并插入一行文本到结构体中。 3. **输出文本**: - `output(sqlist*r)`函数负责输出存储在结构体中的文本内容。 4. **统计分析**: - `tongji(sqlist*p)`函数用于统计文本中的字符类型及其数量。 - 实现了对英文字母(区分大小写)、数字、空格和标点符号的计数。 - 统计结果包括各类字符的数量以及总字数。 5. **串查找**: - `search(sqlist*p)`函数实现字符串搜索功能,返回目标字符串在文本中的出现次数。 6. **子串删除**: - `delet(sqlist*s)`函数负责删除文本中的指定子串。 7. **其他辅助函数**: - `clear()`用于清屏,提高用户界面的清晰度。 - `menu()`用于显示主菜单,方便用户选择不同的操作。 #### 总结 本文档介绍了一个文本编辑与串查找统计系统的关键功能和技术实现。系统不仅支持基本的文本输入与存储,还具备统计分析、串查找和子串删除等高级功能。这些功能通过一组精心设计的函数来实现,为用户提供了一个简单易用且功能强大的文本处理工具。通过对这些功能的具体分析,可以帮助开发者更好地理解如何构建类似的文本处理系统。
#include <string.h>
#include <windows.h>
#include <malloc.h>
#define INITSIZE 1000
typedef struct stringing
{
char data[INITSIZE];
}sqlist;
sqlist *insert(sqlist *L) /*插入文章*/
{
sqlist * q;
int i=0;
L=(sqlist*)malloc(sizeof(sqlist));
printf("\n请【输入】文章内容:\n");
L->data[i]=getchar();
gets(L->data);
q=L;
return q;
}
void output(sqlist *r)
{
printf("\n显示存储的文本内容为:\n");
char c;
while(*(r->data+i)!='\0')
{
c=*(r->data+i);
if(i%50==0)
{
printf("\n");
printf("%c",c);
}
else
printf("%c",c);
i++;
}
printf("\n\n\n\n");
}
void tongji(sqlist *p)
{
int i=0;
int all=0,word=0,word1=0,word2=0,number=0,blank=0,fuhao=0;
char c;
while(*(p->data+i)!='\0')
{
c=*(p->data+i);
all=all+1;
if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))
{
剩余6页未读,继续阅读
- 深海的小鱼儿2012-09-17蛮详细的,不错
- 粉丝: 7
- 资源: 12
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助