欢迎来到天天文库
浏览记录
ID:11855950
大小:330.00 KB
页数:40页
时间:2018-07-14
《数据结构课程设计报告要求及模板》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、海南大学课程设计报告海南大学课程设计报告课程设计名称:数据结构课程设计课程设计题目:文本编辑器学院:信息科学技术学院专业:计算机科学与技术班级:计算机科学与技术2班学号:20121602310076姓名:彭伟强指导教师:钟声海南大学课程设计报告目录1正文11.1课程设计目的11.2概要设计12课程设计内容22.1内容22.2要求22.3输出形式22.4实现功能22.5问题分析222.6扩展与完善23文本编辑器的设计43.1数据结构选择和概要设计43.2详细设计及编码44具体程序代码设计54.1Buildt
2、ext()键盘输入文本内容输入函数54.2Build()文本输入菜单函数54.3Counttext()文本内容统计函数5参考文献6附录(关键部分程序清单)737海南大学课程设计报告37海南大学课程设计报告1课程设计报告正文1.1课程设计目的输入一页文字,程序实现文字、数字、空格的统计;可以删除一行信息;查找定位单词;定行位置插入;文件存盘;装入文件;并能显示输入的全部等功能。1.2概要设计Main文件存盘定行位置插入输入信息装入文件查找定位单词单词统计删除一行信息显示删除或插入后的信息37海南大学课程设计
3、报告2课程设计任务2.1内容:输入一页文字,程序可以统计出文字、数字、空格的个数。静态存储一页文章,每行最多不超过80个字符,共N行。2.2要求:(1)分别统计出其中英文字母数和空格数及整篇文章总字数;(2)统计某一字符串在文章中出现的次数,并输出该次数;(3)删除某一字符或者子串,并将后面的字符前移。(4)插入某一字符或者子串。(5)查找某一字符或者子串。存储结构使用线性表,分别用几个子函数实现相应的功能;输入数据的形式和范围:可以输入大写、小写的英文字母、任何数字及标点符号。2.3输出形式:(1)分行
4、输出用户输入的各行字符;(2)分4行输出"全部字母数"、"数字个数"、"空格个数"、"文章总字数"(3)输出删除某一字符串后的文章。2.4:实现功能:(1)文章内容的输入:包括字母、标点符号、数字、空格等;(2)文章内容的统计:包括文章中大写字母、小写字母、数字、标点符号、空格以及文章所有字数的个数的统计;(3)文章内容的处理:包括对文章内容的查找、删除以及对指定位置进行插入操作,其中在查找的过程中统计出该字符或字符串在文章中出现的次数;2.5问题分析本程序是对一段英文文章的内容进行处理,存储方式采用链式
5、存储,没有文件操作,故本程序对其文本内容的所有操作都是在链表中进行的。对于文本的输入,采用头插法将文本信息存储到链表已申请好的存储空间中,在此部分设计中最大的问题在于输入文章过程中输入的字符数大于80时如何换行;对于文本内容的统计,使用循环对已存储的文章进行匹配,大写字母数、小写字母数37海南大学课程设计报告、空格数、数字数直接通过比较即可得到,标点符号通过ASCⅡ比较即可得到;对于文本内容的处理,查找部分仍是使用循环对已存储的文章进行匹配,判断需要查找的字符或者字符串是否与文章中某部分内容相同,如果存在
6、相同的记录相同的个数及位置并输出个数及位置。删除部分先使用程序的查找功能对文章中需要删除的字符或者字符串进行查找,然后对其进行删除。插入部分为通过输入的插入位置(行、列)将字符或者字符串插入到文章制定位置。2.6程序扩展与完善本程序为简单文本编辑器,如果加入磁盘文件的操作会使得该程序更加合理与完美。因此,在输入文本时可以分为:1.从键盘直接输入英文文本2.从磁盘文件中读取英文文本经过文本的输入后,可以把经过处理过的文本保存到原来的或新建的磁盘文件中去!加入文件的操作后,使该程序的可用性更加满足用户的需求!
7、37海南大学课程设计报告3文本编辑器的设计一、数据结构选择和概要设计数据结构选择:本程序是对输入的文字进行操作,并要求静态存储一页文本。由于是一页文本,包括多行,而且相邻两行的字符内容是依次读入该页的。因此,两行之间的内容要建立相应的联系。通过一个单链表,来控制该文本的行数,并额外设置一个前驱指针Linklist*pre来与上一行进行有效连接,通过Linklist*next来指向下取得与下一行的连接。为了控制每行的字符个数,在该链表的数据结构中设置一字符数组data[80],来存储每行的字符。设置row和
8、length分别记录行数与列数;使用的数据结构为单链表操作。根据第一部分的问题分析有该链表操作有3部分:PreTempNext另有全局变量*head,作为文章的头指针。故创建了以下结构体:typedefstruct_node{chardata[80];//记录一行字符intlength;//记录一行字符长度struct_node*next;//后继指针struct_node*pre;//前趋指针introw;//记录整篇文章的
此文档下载收益归作者所有