




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据结构课程设计报告1 .需求分析1 .主题和要求名称:简单的文本编辑器内容:输入一页文字后,程序就可以计算文字、数字、空格的数量。 静态保存一页文章,一行最多保存80个字符,共计n行。要求: (1)分别统计其中的英、空和文总数(2)合计某字符串在文章中出现的次数,并输出该次数(3)删除某个文字或部分列,使后续文字前进。(4)插入某个文字或子列。(5)检索某个文字或者子列。记忆结构使用线性表,输入数据的形式和范围,分别用几个子函数实现相应功能。 可以输入大写字母、小写字母、数字和标点符号。输出格式:(1)分店输出用户输入的各行的文字(2)分四行输出“全文字数”、“数字数”、“空格数”、“文章总
2、字符数”(3)输出删除了某字符串的文章。从主题及其要求可以看出,本程序必须实现以下功能(1)文章内容的输入:包括字母、标点、数字等(2)文章内容统计:包括文章中的大写、小写、数字、标点、空格及文章全文字数的统计(3)文章内容的处理:包括文章内容的检索、删除以及向指定位置的插入操作统计检索中该文字或字符串在文章中出现的次数2 .问题分析本程序处理英语文章的内容,存储方式连锁地存储,没有文件操作,所以本程序用链表对该文本内容的所有操作。 对于文本的输入,使用标头插入法,将文本信息存储在链表所申请的存储空间中,在该部分的设计中最大的问题是,关于在文章输入中输入的字符数超过80个字符的情况下如何换行的
3、文本内容的统计,在循环中对照保存的文章,用大写关于通过直接比较小写的字符数、空格数、数字的数量而得到,标点符号通过ASC进行比较而得到的文本内容的处理,检索部分使用循环对照已经存储的文章,判断应检索的字符或字符串是否与文章中的某部分的内容相同删除部分,首先使用程序的检索功能,检索文章中应该删除的文字和字符串,然后删除。 插入部分从输入的插入位置(行、列)将文字和字符串插入到文章的指定位置。2 .概要设计数据结构选择:本程序操作输入的字符,所以使用的数据结构是链表操作。 根据第一部分的问题分析,这个链表操作有三部分Pre暂停下一页另外,全局变量*head是文章的开头指针。创建了以下结构:type
4、def struct _list char data80; 记录/1行文字PS length; 记录/1行的字符长度struct _list *next; /后续指针struct _list *pre; /前进指针int row; /记录整篇文章的行数链接列表;在文章的内容制作部分使用线性表的链记忆,使用全局变量来记忆文本的各种信息文章内容的统计、删除、检索、插入都通过链表操作完成。本程序使用了很多do while语句来完成菜单功能。概要设计:程序框架:的内容:求求求求求求求求求求求求求求求求求求*欢迎使用简单的文本编辑器*求求求求求求求求求求求求求求求求求求求*主菜单*求求求求求求求求求求求
5、求求求求求求求求* 1、输入文本的内容* 2,显示当前文本内容* 3、文本内容统计菜单* 4、文本内容处理菜单*关于* 5、*。* 6、结束本系统*求求求求求求求求求求求求求求求求求求求*注:初次使用本系统时,请选择功能编号1*。求求求求求求求求求求求求求求求求求求求判断123456输入文本内容,CreatWord ()将文本内容输入申请的存储空间显示函数PrintWord ()显示当前文本的内容文章内容统计菜单CountWord ()以菜单形式显示给用户,以各种方式汇总文章的内容文章内容处理菜单,Bmenu (),这是搜索word (),删除word (),三个函数InsertWord ()
6、处理文章的内容类似作者信息的代码AboutWord ()显示作者信息退出系统。图1简单的文本编辑器大型机OOOOMMMMMMMMMMMMM*文章内容统计菜单*OOOOMMMMMMMMMMMMM* 1、文章中大写字母的个数*。* 2、文章中小写的个数*。* 3、文章中数字的个数*。* 4、文章中标点的数量*。* 5、文章中的空格数*。* 6、文章中的所有单词*。* 7、结束后返回主菜单*。* 8、直接结束本系统*OOOOMMMMMMMMMMMMM判断统计文本中的大写数字1合计文本中小写的个数2统计文本中的数字数3合计文本中标点的数量4合计文本中的空格数5计算文本的全部字数。6返回到主菜单7直接退
7、出系统。8两个子菜单:选择上图的功能3后,如下所示图2简单的文本编辑器-文本内容统计菜单如果选择功能4,则如下所示OOOOMMMMMMMMMMMMM*文章内容处理菜单*OOOOMMMMMMMMMMMMM* 1、搜索文章中的字符和字符串* 2、删除文章中的文字和字符串*。* 3、在文章中插入文字或字符串*。* 4、显示当前文章的内容*返回到* 5、主菜单*。* 6、直接退出系统*OOOOMMMMMMMMMMMMM判断123456使用子函数SearchWord ()按字符或字符串搜索链表中存储的文本使用子函数DeleteWord ()删除链表中存储的文本的字符或字符串使用子函数InsertWord
8、 ()在链表中存储的文本中插入字符或字符串使用函数PrintWord ()显示当前文本信息返回到主菜单继续其他菜单。结束整个程序。图3简单的文本编辑器-文本内容处理菜单根据以上各图,本程序共计设计了11个函数。1、HeadWord ()标题函数,即输出标题总是显示在程序的顶部。CreatWord ()文本输入函数实现上述图1的菜单功能1,输入文本的内容打印word ()当前文本内容输出函数实现上述图1的菜单功能2和图3的功能4输出以前存储在链表中的文本内容4、CountWord ()报道内容统计函数实现上述图1的菜单功能3,显示链表中存储的文本内容行的统计。 包含文本内容的大小写、数字、标点符
9、号、空格和文章中的所有单词数量统计图2是其详细的说明图.5、SearchWord ()的文章内容检索函数实现上图3的菜单功能1的检索部分6、DeleteWord ()文章内容删除函数实现上述图3的菜单功能2的删除部分7、InsertWord ()文章内容插入函数实现上图3的菜单功能3中插入的部分8、Bmenu ()第二子菜单函数实现上述图1的菜单功能4,图3是该函数实现的结果,5,6、7各子函数集合到该函数中9、AboutWord ()表示操作者的信息的函数实现上述的图1的菜单功能5。结果,menu ()主菜单函数将诸如1、2、3、4、8和9之类的函数集合在图1所示的部分中。11、main (
10、)主函数各函数关系以流程图形式描绘如下menuCreatWord计数世界。PS PS搜索世界删除word插入世界AboutWord印刷世界结束main图4各函数间的关系3 .详细设计1 .定义单链表的节点类型typedef struct _list/列表结构举止char data80; 记录/1行文字int length; 记录/1行的字符长度struct _list *next; /后续指针struct _list *pre; /前进指针int row; /记录整篇文章的行数链接列表;2 .全局变量的定义int NUM,c,n; /定义全局变量,Num记录行号,c记录子列在主列中出现的总次数
11、链接列表*头部; /定义全局变量*head,并在文章的开头加上指针3 .各子函数的伪代码A) CreatWord ()文本内容输入函数具体的制作步骤如下定义链接列表指针变量* temp :链接列表* tempb .定义文本输入变量ch,记录文本行数变量j,记录各行的字符数变量Ic、申请动态存储空间:头下一个=(链接列表* ) malloc (链接列表);d、开头行头指针的开头指针为空:头- pre=null;第一行指针: temp=head-next;开头指针的开头指针也为空: temp-pre=NULL;如果未输入字符,则文章的长度定义为0: temp-length=0初始化为字符串结束标志
12、,防止乱码: for(i=0; i80; PS )临时数据 I =0;e .循环输入文本for(j=0; jdatai=ch; 为temp指向的行指派值临时长度;的; /行中文字符长度1PK (AK=# )NUM=j; break; /文章结束后,Num记录整个文章的行数如果在输入字符时,每行输入的字符数超过80个,则需要执行以下操作如果输入字符数超过80,则重新分配空格以创建下一行temp-next=(链接列表* ) malloc (sizeof (链接列表) );为temp前驱指针指定值: temp-next-pre=temp;temp指的是当前行: temp=temp-next;将下一行初始化为字符串结束标志,防止乱码: for(i=0; i80; PS )临时数据 I =0;记录
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 钢筋防护栏制安施工方案
- 商品房屋顶钢结构施工方案
- 石狮环氧薄涂地坪施工方案
- 铝合金幕墙施工合同
- 校园环保工作计划
- 水族用品购销合同
- 崇川彩钢板围挡施工方案
- 通信系统安全生产培训
- 纺织机械厂二季度安全生产培训
- 临安区古建筑修缮施工方案
- 期末试卷(试题)-2024-2025学年沪教版三年级上册数学
- 风险评估报告模板
- 2024年高考全国甲卷历史试题(含答案)
- NB-T 33015-2014 电化学储能系统接入配电网技术规定
- 统编版语文四年级上册第七单元 讲述人物事迹 弘扬家国情怀单元任务群整体公开课一等奖创新教学设计
- 2024年山东教育厅事业单位笔试真题
- CJT264-2007 水处理用橡胶膜微孔曝气器
- 母婴保健技术服务工作总结报告
- (高清版)WST 227-2024 临床检验项目标准操作程序编写要求
- 配位化学 本科生版 知到智慧树网课答案
- 《配电线路旁路作业工具装备 第1部分 柔性电缆及连接器》
评论
0/150
提交评论