欢迎来到天天文库
浏览记录
ID:6817402
大小:8.92 MB
页数:17页
时间:2018-01-27
《算法与数据结构课程设计报告书-简单的文本编辑器设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、算法与数据结构 课程设计报告书姓 名 __ 班 级 10(17) 学 号 指导教师 盐城师范学院信息科学与技术学院16问题描述:设计一个简单的文本编辑器,使其具有通常编辑器(如Notepad)具备的功能。设计的软、硬件环境:WindowsxpMicrosoftVisualStudio6.0ADT(数据结构与算法)设计与功能模块:该文本编辑器使用的数据结构为单链表操作。该链表操作有3部分:PreTempNext另有全局变量*head,作为文章的头指针。故创建了以下结构体:typedefstruct_list{chardata[80]
2、;//记录一行字符intlength;//记录一行字符长度struct_list*next;//后继指针struct_list*pre;//前趋指针introw;//记录整篇文章的行数}LinkList;在文章内容创建部分中使用线性表的链式存储,并使用全局变量对文本的各种信息进行存储;文章的内容统计、删除、查找、插入都采用链表操作完成。本程序在菜单中使用了大量的dowhile语句。16主菜单:1.CreatWord()文本输入函数,实现菜单功能1,对文本的内容进行输入;2.PrintWord()当前文本内容输出函数,实现菜单功能2,将当前存储在链表中的文本内
3、容输出;3.CountWord()文章内容统计函数,实现菜单功能3,对存储在链表中文本内容进行统计,包括对文本内容中的大写字母、小写字母、数字、标点符号、空格以及文章所有字数的个数的统计;图2是对其完整描述;16子菜单3:16子菜单4:16程序输入与结果输出:主菜单:子菜单1:子菜单3:16子菜单4:实验结果分析及收获:通过这次实训,增加了我学习软件技术的兴趣,虽然还不明确软件技术包含的具体内容,但从C语言这门课程开始,已发现程序设计的乐趣,在学习C++语言的过程中也学到了许多计算机应用基础知识,对计算机的机体也有了一个大体的了解。通过实际操作,学会C++语
4、言程序编程的基本步骤、基本方法,开发了自己的逻辑思维能力,培养了分析问题、解决问题的能力。深刻体会到“没有做不到的,只有想不到的”,“团结就是力量”,“实践是检验真理的标准”,“不耻下问”……的寓意。16正文宋体小四行间距固定值22磅图表中的文本为宋体5号行间距固定值12磅附录(源程序清单)#include"stdio.h"#include"malloc.h"#include"string.h"#include"iostream.h"#include"stdlib.h"#include"conio.h"#defineLink_Size100intNUM,C,
5、N;typedefstructlist{chardata[80];intlength;structlist*next;structlist*pre;introw;}LinkList;LinkList*head;voidHeadWord(){//system("cls");printf("tt****************************************************");printf("tt****欢迎使用简单的文本编辑器****");printf("tt****************************
6、************************");}LinkList*CreatWord()16{LinkList*temp;charch;inti,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]=' ';printf("开始创建文本,请输入文章(输入#号结束):");for(j=0;j7、){for(i=0;i<80;i++){ch=getchar();temp->data[i]=ch;temp->length++;if(ch=='#'){NUM=j;break;}}if(ch=='#'){temp->length=i;temp->next=NULL;break;}temp->next=(LinkList*)malloc(sizeof(LinkList));temp->next->pre=temp;temp=temp->next;for(i=0;i<80;i++)temp->data[i]=' ';}temp->row=NUM+1;syst8、em("cls");returntemp;}void
7、){for(i=0;i<80;i++){ch=getchar();temp->data[i]=ch;temp->length++;if(ch=='#'){NUM=j;break;}}if(ch=='#'){temp->length=i;temp->next=NULL;break;}temp->next=(LinkList*)malloc(sizeof(LinkList));temp->next->pre=temp;temp=temp->next;for(i=0;i<80;i++)temp->data[i]=' ';}temp->row=NUM+1;syst
8、em("cls");returntemp;}void
此文档下载收益归作者所有