程序设计文本编辑器的设计与实现Word格式.docx
- 文档编号:12972065
- 上传时间:2022-10-01
- 格式:DOCX
- 页数:42
- 大小:504.55KB
程序设计文本编辑器的设计与实现Word格式.docx
《程序设计文本编辑器的设计与实现Word格式.docx》由会员分享,可在线阅读,更多相关《程序设计文本编辑器的设计与实现Word格式.docx(42页珍藏版)》请在冰豆网上搜索。
分
细
则
评分项
优秀优优秀优秀优秀优秀
良好
及格
差
遵守机房规章制度
上机时的表现
学习态度
程序准备情况
程序设计能力
团队合作精神
课题功能实现情况
算法设计合理性
用户界面设计
报告书写认真程度
内容详实程度
文字表达熟练程度
回答问题准确度
简
单
评
语
教师签名
年月日
等
级
备注
评分等级分为五种:
优秀,良好,中等,及格,不及格
一课题内容与要求
文档编辑器系统是对一个文本内容进行各种常规操作,例如:
插入、删除、查找、替换等功能。
通过此课题,熟练掌握文本文件的操作及用字符数组来实现字符串操作的功能。
基本要求:
(1)首先文件标准化处理:
如果句子有前导空格和后导空格,则删除这些空格,单词与单词之间只保留一个空格。
(2)统计功能:
可方便地统计出文档中所有出现次数最多和最少的字符串。
(3)查找与替换功能:
能够查找任意一个字符串在文档中出现的次数,并可以选择全部或有选择地将其替换为另一个字符串。
(4)显示功能:
编辑完成后可以显示编辑后的文档。
(5)抽取功能:
根据要求将文件中的某一类字符抽取,并存入另外的文件,如抽取所有的数字、抽取所有的字母等。
二需求分析
图一:
文档编辑器系统的功能框架图
(1)提供可操作的主菜单:
输出个菜单,用于显示若干个可选的功能选项。
根据输入的选项来运行不同的功能,运行不同的函数。
(2)进行文本信息的载入:
选择输入方式,输入文本内容,提供可操作文本。
(3)统计数据功能:
输出第二子菜单,用于显示若干个可选的功能选项。
(4)编辑数据功能:
根据输入的选项来运行查找、删除、插入、显示当前文本等不同的功能,运行不同的函数。
(5)退出程序:
退出当前程序。
三概要设计
本程序共有11个函数
1、HeadWord()标题函数,即一个输出标题,永远出现在程序的最顶端。
2、CreatWord()文本输入函数,实现对文本的内容进行输入;
3、PrintWord()当前文本内容输出函数,实现文本内容输出;
4、CountWord()文章内容统计函数,文本内容进行统计,包括对文本内容中的大写字母、小写字母、数字、标点符号、空格以及文章所有字数的个数的统计;
5、SearchWord()文章内容查找函数,实现查找部分;
6、DeleteWord()文章内容删除函数,实现删除部分;
7、InsertWord()文章内容插入函数,实现插入部分;
8、Bmenu()第二子菜单函数,实现子菜单功能;
9、AboutWord()显示作者信息的函数;
10、menu()主菜单函数,实现可操作菜单;
11、main()主函数。
(1)查找功能:
图二:
查找功能图
(2)插入功能
图三:
插入功能图
(3)删除功能
图四:
删除功能图
(4)统计功能
图五:
统计功能图
四源程序代码
#include<
stdio.h>
malloc.h>
string>
iostream>
stdlib.h>
conio.h>
fstream>
usingnamespacestd;
#defineLink_Size100
intNUM,C,N;
typedefstructlist
{
chardata[80];
intlength;
structlist*next;
structlist*pre;
introw;
}LinkList;
LinkList*head;
voidHeadWord()
//system("
cls"
);
cout<
<
"
\t\t****************************************************\n"
;
\t\t****欢迎使用简单的文本编辑器****\n"
}
LinkList*LoadWord()
LinkList*temp;
charch;
inti,j;
head->
next=(LinkList*)malloc(sizeof(LinkList));
pre=NULL;
temp=head->
next;
temp->
length=0;
for(i=0;
i<
80;
i++)
data[i]='
\0'
继续上次输入(输入#号结束):
\n"
for(j=0;
j<
Link_Size;
j++)
{
ch=getchar();
data[i]=ch;
length++;
if(ch=='
#'
)
NUM=j;
break;
}
}
length=i;
next=NULL;
next=(LinkList*)malloc(sizeof(LinkList));
next->
pre=temp;
temp=temp->
ofstreamocout;
ocout.open("
f:
//text.txt"
ios:
:
app);
ocout<
temp->
data;
ocout.close();
row=NUM+1;
system("
returntemp;
LinkList*CreatWord()
开始创建文本,请输入文章(输入#号结束):
voidPrintWord()
ifstreamicin;
icin.open("
chartt[100]={0};
icin.getline(tt,100,0);
cout<
tt<
endl;
voidCountWord()
inti,j,t;
intWORD=0,word=0,space=0,num=0,punct=0,sum=0;
for(j=0;
=NUM;
(i<
80)&
&
(temp->
data[i])!
='
ch=temp->
data[i];
if((ch>
A'
)&
(ch<
Z'
))
WORD++;
elseif((ch>
a'
z'
word++;
0'
9'
num++;
elseif(ch=='
'
space++;
elseif(ch==33||ch==34||ch==39||ch==44||ch==46||ch==58||ch==59||ch==63)
{punct++;
}
sum=WORD+word+num;
while
(1)
HeadWord();
\t\t****文章内容统计菜单****\n"
\t\t****1、文章中大写字母的个数****\n"
\t\t****2、文章中小写字母的个数****\n"
\t\t****3、文章中数字的个数****\n"
co
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 文本 编辑器 设计 实现