好文档 - 专业文书写作范文服务资料分享网站

数据结构课设文章编辑

天下 分享 时间: 加入收藏 我要投稿 点赞

课程设计报告

课程设计题目:

文 章 编 辑

专 业:信息工程 班 级: 1720601 学生姓名 : 指导教师 : 、

实验目的及要求:

任务:输入一页文字,程序可以统计出文字、数字、空格的个数。静态存储一页文章,每行最多不超过80个字符,共N行; 要求:

(1)分别统计出其中英文字母数和空格数及整篇文章总字数; (2)统计某一字符串在文章中出现的次数,并输出该次数;

(3)删除某一子串,并将后面的字符前移。存储结构使用线性表,分别用几个子函数实现相应的功能;输入数据的形式和范围:可以输入大写、小写的英文字母、任何数字及标点符号。 输出形式:

(1)分行输出用户输入的各行字符;

(2)分4行输出全部字母数、数字个数、空格个数、文章总字数 (3) 输出删除某一字符串后的文章; 实验时间、地点:

一、概要设计(实验思路)

1.问题分析

本程序是对一段英文文章的内容进行处理,存储方式采用链式存储。. 对于文本的输入,采用头插法将文本信息存储到链表已申请好的存储空间中,在此部分设计中最大的问题在于输入文章过程中输入的字符数大于80时如何换行; 对于文本内容的统计,使用循环对已存储的文章进行匹配,字母数、空格数、数字数直接通过比较即可得到; 对于文本内容的处理,查找部分仍是使用循环对已存储的文章进行匹配,判断需要查找的字符或者字符串是否与文章中某部分内容相同,如果存在相同的记录相同的个数及位置并输出个数及位置。

删除部分先使用程序的查找功能对文章中需要删除的字符或者字符串进行查找,然后对其进行删除。 2. 数据结构选择

本程序是对输入的文字进行操作,故使用的数据结构为单链表操作。根据第一部分的问题分析有该链表操作有3部分:

另有全局变量 *head,作为文章的头指针。 创建结构体:

typedef struct list

{ char data[80]; //记录一行字符 int length; //记录一行字符长度 struct _list *next; //后继指针 struct _list *pre; //前趋指针 int row; //记录整篇文章的行数 }LinkList;

在文章内容创建部分中使用线性表的链式存储,并使用全局变量对文本的各种信息进行存储;文章的读取、内容统计、删除、查找都采用链表操作完成。 3.流程图

(1)主框架:

(2)文章内容统计子菜单 (3) 文章内容处理子菜单

函数实现查找SearchWord()文章内 DeleteWord()函数内容删除容处 ()显示当前内容Printword返回主菜退出程序 )使用函数列表及关系图4(. 函数名:

1、CreatWord() 文本输入函数,对文本的内容进行输入 2、PrintWord() 当前文本内容输出函数,将当前存储在链表中的文本内容输出 5、CountWord() 文章内容统计函数,对存储在链表中文本内容进行统计 6、SearchWord() 文章内容查找函数 7、DeleteWord() 文章内容删除函数 8、Bmenu() 文本内容处理菜单函数 9、AboutWord() 显示作者信息的函数 10、menu() 主菜单函数

11、main() 主函数 关系图:

二、详细设计(实验过程)

1、数据结构定义

typedef struct list {

char data[80]; /*记录一行字符*/ int length; /*记录一行字符长度*/ struct list *next; /*后继指针*/ struct list *pre; /*前趋指针*/ int row; /*记录整篇文章的行数*/ }LinkList;

2、全局变量定义

LinkList *head; /*定义全局变量*head,文章首行头指针*/ int NUM,C,N; /*定义全局变量,Num用来记录行号,C用来记录子串在主串中出现的总次数*/ 3、函数说明

(1)CreatWord() 文本创建函数 LinkList *CreatWord() {

LinkList *temp; char ch; int i,j;

head->next=(LinkList *)malloc(sizeof(LinkList)); / head->pre=NULL; temp=head->next; / temp->pre=NULL; temp->length=0; for(i=0;i<80;i++) temp->data[i]='\\0';

printf(\\ \\t****************************************************\\n);

printf(\\ \\t**** 创建文本 ****\\n); printf(\\ \\t****************************************************\\n); printf(\\ \\t请输入文章(输入#号结束) :\\n\\n); for(j=0;j

for(i=0;i<80;i++) {

ch=getchar(); temp->data[i]=ch;

数据结构课设文章编辑

课程设计报告课程设计题目:文章编辑专业:信息工程班级:1720601学生姓名:指导教师:、实验目的及要求:任务:输入一页文字,程序可以统计出文字、数字、空格的个数。静态存储一页文章,每行最多不超过80个字符,共N行
推荐度:
点击下载文档文档为doc格式
3z1hd4xhiz4n7xz5eecp3x5if1klmb00azr
领取福利

微信扫码领取福利

微信扫码分享