文章编辑
一、需求分析
? 功能:输入一页文字,程序可以统计出文字、数字、空格的个数。
? 静态存储一页文章,每行最多不超过80个字符,共N行; ? 要求:
? (1)分别统计出其中英文字母数和空格数及整篇文章总字数; ? (2)统计某一字符串在文章中出现的次数,并输出该次数; ? (3)删除某一子串,并将后面的字符前移。
? 存储结构使用线性表,分别用几个子函数实现相应的功能;
? 输入数据的形式和范围:可以输入大写、小写的英文字母、任何数字及标点符号。 ? 输出形式:
(1)分行输出用户输入的各行字符;
(2)分4行输出\全部字母数\、\数字个数\、\空格个数\、\文章总字数\(3)输出删除某一字符串
二、概要设计
1、定义结构体 struct line,文本行采用顺序存储,行与行之间采用链式存储
开始主函数输入文字统计个数查找某一子串输出文字统计字母、数字、空删除这一子串格、某一字符串的个数以及文章总字数输出删除后的文章具体操作1
2、主要函数:
int FindString(LINE * &head,char *str) /*统计str在文章中出现的次数*/ 求在一行中Str出现的次数的流程图:
开始 count=0;h=0;len1=0; len2=strlen(str); i++ p->data[i]==str[0] N Y k=0;j=0; N p->data[i+j]==str[j] Y k++;j++; N k=len2 Y count++; i=i+k-1; 结束
①.查找第一个字符,如果有第一个字符即p->data[i]==str[0],设计数器k=0
②.查找这个字符后面的字符与要查找的字符串是否匹配即p->data[i+j]==str[j],如果匹配k++
③.重复第二步,如果k=len2,则查找到,count++;如果没查找到,重新进行第一步
2
void delstringword(char *s,char *str) /*删除字符串*s中的字符串*str*/
p s
str for(m=0;m
实现思想:
①.从字符串s中寻找str第一次出现的位置 *p=strstr(s,str);
②.len=strlen(s);i=len-strlen(p)即前i项恰好不含要删除的字符串,将前i项复制到tmp中
③.j=i+strlen(str) 即要删除的字符串在i+1和j之间,将j之后的字符串复制到tmp中
④.将tmp赋给串s,返回s
三、详细设计: 3.1 详细设计思想:
(1)定义结构体:typedef struct line
{
char *data;
struct line *next;
}LINE;
(2)输出函数void OutPut(LINE * &head) 将头指针赋值为p;
通过do-while语句遍历链表;
(3)字符串的创建函数: void Create(LINE * &head)
3
用printf语句输出一句提醒语句,请用户输入要编辑的文章 为链表建立一个附加表头结点,将p付给表头指针; 输入字符串,同时判断输入的字符串是否满足条件; 用if语句判断文章是否输入完成。
(4) 统计文章中英文字母数:void countLetter(LINE * &head) 将p付给表头指针; 初始化count为0;
用do-while语句遍历链表,同时统计字符串中英文字母数 用printf语句输出文章中英文字母数,调用子函数menu(). (5) 统计文章中数字个数:void countNumber(LINE * &head) 将p付给表头指针; 初始化count为0;
用do-while语句遍历链表,同时统计字符串中数字个数; 用printf语句输出文章中数字个数,调用子函数menu(). (6)统计文章中的空格数:void countSpace(LINE * &head) 将p付给表头指针; 初始化count为0;
用do-while语句遍历链表,同时统计字符串中空格数; 用printf语句输出文章中空格数,调用子函数menu(). (7)统计文章总字数:void countAll(LINE * &head)
将p付给表头指针;
初始化count为0;
用do-while语句遍历链表,同时统计字符串中总字数; 用printf语句输出文章中总字数,调用子函数menu(). (8)查找字符串的函数:void FindString(LINE * &head)
将p付给表头指针; 初始化count为0;
初始化len1,用来保存当前行的总字符数; 定义整型变量len2表示待统计字符串的长度; 用printf语句提醒用户输入要统计的字符串;
4
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库文章编辑程序设计报告在线全文阅读。
相关推荐: