数据结构课设――文章编辑.doc

数据结构课设――文章编辑.doc

ID:56922140

大小:299.50 KB

页数:24页

时间:2020-07-24

数据结构课设――文章编辑.doc_第1页
数据结构课设――文章编辑.doc_第2页
数据结构课设――文章编辑.doc_第3页
数据结构课设――文章编辑.doc_第4页
数据结构课设――文章编辑.doc_第5页
资源描述:

《数据结构课设――文章编辑.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、课程设计报告课程设计题目:文章编辑专业:信息工程班级:学生姓名:指导教师:、实验目的及要求:任务:输入一页文字,程序可以统计出文字、数字、空格的个数。静态存储一页文章,每行最多不超过80个字符,共N行;要求:(1)分别统计出其中英文字母数和空格数及整篇文章总字数;(2)统计某一字符串在文章中出现的次数,并输出该次数;(3)删除某一子串,并将后面的字符前移。存储结构使用线性表,分别用几个子函数实现相应的功能;输入数据的形式和范围:可以输入大写、小写的英文字母、任何数字及标点符号。输出形式:(1)分行输出用户输入的各行字符;(2)分4行输出"全部字母数"、"

2、数字个数"、"空格个数"、"文章总字数"(3)输出删除某一字符串后的文章;实验时间、地点:2013.6.16至6.20于软件楼301一、概要设计(实验思路)1.问题分析本程序是对一段英文文章的内容进行处理,存储方式采用链式存储。对于文本的输入,采用头插法将文本信息存储到链表已申请好的存储空间中,在此部分设计中最大的问题在于输入文章过程中输入的字符数大于80时如何换行;对于文本内容的统计,使用循环对已存储的文章进行匹配,字母数、空格数、数字数直接通过比较即可得到;对于文本内容的处理,查找部分仍是使用循环对已存储的文章进行匹配,判断需要查找的字符或者字符串是

3、否与文章中某部分内容相同,如果存在相同的记录相同的个数及位置并输出个数及位置。删除部分先使用程序的查找功能对文章中需要删除的字符或者字符串进行查找,然后对其进行删除。2.数据结构选择本程序是对输入的文字进行操作,故使用的数据结构为单链表操作。根据第一部分的问题分析有该链表操作有3部分:另有全局变量*head,作为文章的头指针。创建结构体:typedefstructlist{chardata[80];//记录一行字符intlength;//记录一行字符长度struct_list*next;//后继指针struct_list*pre;//前趋指针introw

4、;//记录整篇文章的行数}LinkList;在文章内容创建部分中使用线性表的链式存储,并使用全局变量对文本的各种信息进行存储;文章的读取、内容统计、删除、查找都采用链表操作完成。3.流程图(1)主框架:(2)文章内容统计子菜单(3)文章内容处理子菜单文章内容处理子菜单SearchWord()函数实现查找DeleteWord()函数内容删除Printword()显示当前内容返回主菜单退出程序(4)使用函数列表及关系图函数名:1、CreatWord()文本输入函数,对文本的内容进行输入2、PrintWord()当前文本内容输出函数,将当前存储在链表中的文本内

5、容输出5、CountWord()文章内容统计函数,对存储在链表中文本内容进行统计6、SearchWord()文章内容查找函数7、DeleteWord()文章内容删除函数8、Bmenu()文本内容处理菜单函数9、AboutWord()显示作者信息的函数10、menu()主菜单函数11、main()主函数关系图:二、详细设计(实验过程)1、数据结构定义typedefstructlist{chardata[80];/*记录一行字符*/intlength;/*记录一行字符长度*/structlist*next;/*后继指针*/structlist*pre;/*前

6、趋指针*/introw;/*记录整篇文章的行数*/}LinkList;2、全局变量定义LinkList*head;/*定义全局变量*head,文章首行头指针*/intNUM,C,N;/*定义全局变量,Num用来记录行号,C用来记录子串在主串中出现的总次数*/3、函数说明(1)CreatWord()文本创建函数LinkList*CreatWord(){LinkList*temp;charch;inti,j;head->next=(LinkList*)malloc(sizeof(LinkList));/head->pre=NULL;temp=head->ne

7、xt;/temp->pre=NULL;temp->length=0;for(i=0;i<80;i++)temp->data[i]='';printf("tt****************************************************");printf("tt****创建文本****");printf("tt****************************************************");printf("tt请输入文章(输入#号结束):");for(j=0;j<

8、Link_Size;j++){for(i=0;i<80;i++){ch=getc

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。