- 6
- 0
- 约1.32万字
- 约 38页
- 2017-04-10 发布于辽宁
- 举报
数据结构课程设计:文本编辑(最后附完整代码)
一.问题描述---------------------------------------------1
二.设计思路---------------------------------------------1
三.系统实现功能
1.建立单链表-------------------------------------------2
2.显示文章内容---------------------------------------- 3
3.查找文章语句-----------------------------------------3
4.删除文章语句-----------------------------------------5
5.替换文章语句-----------------------------------------7
6.统计文章字数-----------------------------------------10
7.写入文本结束程序--------------------------------------10
四.系统不足及需改进分------------------------------------11
五.文件清单说明------------------------------------------11
六:附录-------------------------------------------------12
一:问题描述
本次我所做的课程设计为:文本编辑,主要内容是对中文文本的显示、查找、删除、替换、统计、写入文本。在程序选择功能后根据提示,输入任意长度中文语句即可对文章进行操作。
二:设计思路
文本编辑,顾名思义就是对一遍文章进行编辑,我所设计的是对中文的编辑。中文有两个字节(汉字、标点),通常情况下通过文件输入流仅仅可以取一个字节或者是以空格为分隔符取单词这仅仅对英文的文章适用,周六周日我从网上搜索相关方法,未找到一条切实可用的对中文字符操作的方法。后因看到一种对string的操作灵光一闪,想到了对中文的操作。
因中文是两个字节,由两部分ASCII码组成,所以可用单链表一个节点存放一个汉字或字符,单链表的数据域是一个长度为二的char数组分别存汉字的两个字节。若用户从键盘输入则将其存入string然后遍历将其每一个字节取到char数组中,这样只需两个字节对比一次使char数组中相邻的两个字节与单链表中每一个节点的两个char对比即可遍历。
我所用的数据结构为单链表,结构中由一个长度为2的char数组和一个指针组成具体结构如下:
typedef struct LNode
{
ElemType data[2];//长度为2的char数组,char[0]存汉字前半部分,char[1]存后半部分
struct LNode *next;
}LinkList;
三:系统实现的功能
1.建立单链表
void CLinkList(LinkList *L)
{
LinkList *s,*r;
r=L;
r-next=NULL;
char temp; //存放判断变量,同时起到中间变量的作用
ifstream fin(a.txt);//打开文件输入流
while(!fin.eof())
{
s=(LinkList *)malloc(sizeof(LinkList));//一个节点存一个汉字或字符
temp=fin.get(); //从文件取一个字符
if(temp!= ) //判断是否为空格、回车,若为空格回车则只存一个字符剩下一个用1代替
{
s-data[0]=temp;
s-data[1]=fin.get();
}
else if(temp== )
{
s-data[0]=temp;
s-data[1]=1;
}
else
{
fin.get();
s-data[0]=\n;
s-data[1]=1;
}
r-next=s;
r=s;
}
r-next=NULL;
fin.close();
}
2.显示文章内容
void DisList(LinkList *L)
{
LinkList *p=L-next;
while(p!=NULL)//遍历单链表依次输出
{
if(p-data[0]!= )//判断是否为空格决定输入方式
coutp-data[0
您可能关注的文档
- olan’s survival philosophy in the good earth 英语专业_毕业论文.doc
- ngw行星减速器的设计_毕业论文.doc
- mplsvpn技术在大型企业网中的应用_毕业论文.doc
- p2p网络借贷平台运营模式研究_毕业论文.doc
- personality and destinyheroine living in the famous literature works 英语专业_毕业论文.doc
- photoshop图像处理结婚请柬的设计与制作_毕业论文.doc
- plc课程设计报告箱体加工专用机床的plc控制_毕业论文.doc
- plc课程设计三相异步电机可逆控制_毕业论文.doc
- plc课程设计电镀自动生产线控制_毕业论文.doc
- polycom视频会议解决方案_毕业论文.doc
- tc4钛合金在模拟体液中腐蚀行为的研究材料成型及控制工程_毕业设计.doc
- tcl集团盈利能力分析_毕业设计.doc
- 新建铁路路基工程施工组织设计.doc
- taskbased teaching method group work in oral english class in junior middle school 英语专业_毕业设计.doc
- 游泳运动员心率监测仪设计--医学仪器综合课程设计.doc
- the analysis of female characters in the thorn birds荆棘鸟中女性人物分析_毕业论文.doc
- 现代物流园1期工程施工组织设计.docx
- 年产12000吨高白料酒瓶燃油蓄热式马蹄焰池窑--课程设计说明书.docx
- syj机头孔加工专用机床设计_毕业设计.doc
- 船舶及海工装备研发设计中心施工组织设计.doc
最近下载
- 创伤概论(外科学课件).ppt VIP
- 2025-2026学年小学综合实践活动一年级下册沪科黔科版教学设计合集.docx
- 《国家地理》评选50 个中国必去景点宣教PPT课件.pptx VIP
- 2024-2025学年济南版初中生物八年级下册全册(教案含反思).docx VIP
- 新生儿口腔运动干预步骤.docx VIP
- 进口新鲜水果检验检疫要求及包装厂注册指南.docx VIP
- 进口马来西亚冷冻榴莲检验检疫要求.doc VIP
- 【2026春86页】二年级语文寒假作业30天每日一练.pdf VIP
- 实验诊断学-骨髓细胞学检测.pptx VIP
- 人民大2024西方文明史 PPT导 论.pptx VIP
原创力文档

文档评论(0)