数据结构课程设计-小型文本编辑器的设计
更新时间:2023-09-18 06:40:01 阅读量: 幼儿教育 文档下载
- 数据结构文本编辑器代码推荐度:
- 相关推荐
沈阳航空航天大学
课 程 设 计 报 告
课程设计名称:数据结构课程设计 课程设计题目:小型文本编辑器的设计
院(系):计算机学院 专 业: 班 级: 学 号: 姓 名: 指导教师:
沈阳航空航天大学课程设计报告
目 录
沈阳航空航天大学 ........................................................................................................... I 1 程序模块说明 ............................................................................................................ 2 1.1 程序模块 .............................................................................................................. 2 1.2 模块功能说明 ...................................................................................................... 2 2 程序流程图说明 ........................................................................................................ 3 2.1 主函数流程图 ...................................................................................................... 3 2.2 显示模块流程图 .................................................................................................. 4 2.3 查找模块流程图 .................................................................................................. 5 2.4 替换模块流程图. ................................................................................................. 6 2.5 将文本初始化 ...................................................................................................... 7 3 函数的描述 ................................................................................................................ 8 3.1 串的初始化 .......................................................................................................... 8 3.2 查找函数 .............................................................................................................. 8 3.3 替换函数 .......................................................................................................... 8 3.4 串的块链存储 .................................................................................................. 8 4 程序测试和运行的结果 ............................................................................................ 9 4.1 初始化一个串 ...................................................................................................... 9 4.1.1 ........................................................................................................................... 9 4.1.2. ....................................................................................................................... 9 4.2 查找与替换字符串 .............................................................................................. 9 4.2.1 ........................................................................................................................... 9 4.2.2 ......................................................................................................................... 10 4.2.3 ......................................................................................................................... 10 4.2.4 ......................................................................................................................... 10 4.2.5 ......................................................................................................................... 10 4.2.6 .......................................................................................................................... 11 参考文献 ........................................................................................................................ 12 附 录(关键部分程序清单) .................................................................................. 13 查找和替换函数 ......................................................................................................... 13 生成一个其值等于CHARS的串T,成功返回1,否则返回0 ............................... 15 输出字符串T ............................................................................................................. 17 源代码 ............................................................................................................................ 19
沈阳航空航天大学课程设计报告
1 程序模块说明
1.1 程序模块
为了更方便地完成字符串的查找,此程序采用串的块链式存储结构存储方式。通过主模块调用四个小模块完成文本编辑的各种功能。用户可在主模块上循环对程序进行操作。
编 辑 文 本 信 息 查 找 模 块 替 换 模 块 退 出 模 块 主模块 1.2 模块功能说明
1.主模块:用户可编辑任一文档,输入要在文本中查找的信息。初始化一个字符串,并用串的块链式存储结构存储。
2. 编辑文本信息:将用户编辑的文本信息分行输出来,并输出字符串的长度和行数。
3.查找模块:遍历整个文本,查找字符串在串中的位置,并输出其所在位置,直到遍历完整个文本结束。
4.替换模块:先查找你要替换的字符所在位置,然后根据用户选择是否替换该字符。
5.退出模块:退出程序,等待用户下次重行运行该程序。
沈阳航空航天大学课程设计报告
2 程序流程图说明
2.1 主函数流程图
开始输入命令命令123显示字符串查找与替换退出程序结束
图2.1.主程序流程图
用户可根据此函数输入想要进行的操作来实现其相应的编辑文本信息、查找字符在文本中的所在位置、替换文本中的字符串及查看当前文本的字符数以及行数的信息等一系列功能。详见图2.1.
沈阳航空航天大学课程设计报告
2.2 显示模块流程图
开始输入一新文档统计出文档的长度和行数初始化该文档用块链存储结构存储输出文档的长度和行数及字符串初始化该文档用块链存储结构存储结束
图2.2 显示模块流程图
此模块主要实现用户所编辑的文本信息的行数和字符总个数,以及输出文本的字符信息。显示出用户所编辑的文本信息,并输出到屏幕上,为满足用户需求,此模块可循环操作。详见流程图2.2。
沈阳航空航天大学课程设计报告
}
}
if(!*(q->ch+c+1+m))//串查完/ {
printf(\查找完成,已无匹配字符\\n\ break;
}
else { p=T->head;
for(a1=1;a1
p=p->next;q=p;
}
c=c+1;m=0;
}
}
}
生成一个其值等于chars的串T,成功返回int StrAssign(LString *T,char *chars) { int i,j,k,l,m=0; Chunk *p,*q;
i=strlen(chars); // i为串的长度 if(!i)
return 0;
1,否则返回0
沈阳航空航天大学课程设计报告
(*T).curlen=i; j=i/CHUNKSIZE;
// j为块链的结点数,块的个数 ,即行数
//不足一个块的,当成一个块即块数加1
if(i%CHUNKSIZE>0)
j++;
printf(\长度是%d\\n行数是%d\\n\for(k=0;k p=(Chunk*)malloc(sizeof(Chunk)); if(!p) return 0; if(k==0) (*T).head=q=p; else { q->next=p; q=p; } for(l=0;l { q->ch[l]=chars[m];m++;} } if(!*chars) { (*T).tail=q; q->next=NULL; for(;l *(q->ch+l)=blank; 沈阳航空航天大学课程设计报告 } return 1; 输出字符串T void StrPrint(LString T) { } int i=0,j; Chunk *h; h=T.head; while(i printf(\ for(j=0;j if(*(h->ch+j)!=blank) // 不是填补空余的字符 { } printf(\h=h->next; printf(\i++; 沈阳航空航天大学课程设计报告 课程设计总结: 指导教师评语: 指导教师(签字): 年 月 日 课程设计成绩 沈阳航空航天大学课程设计报告 源代码 #include #define CHUNKSIZE 4 #define n 26 char blank = '#'; // 全局变量,用于填补空余 typedef struct Chunk { char ch[CHUNKSIZE]; struct Chunk *next; }Chunk; typedef struct { Chunk *head,*tail; int curlen; }LString; void InitString(LString *T)// 初始化(产生空串)字符串T。 { (*T).curlen=0; (*T).head=NULL; (*T).tail=NULL; } int StrAssign(LString *T,char *chars)// 生成一个其值等于chars的串T, 成功返回1,否则返回0 { int i,j,k,l; Chunk *p,*q; i=strlen(chars); // i为串的长度 if(!i||strchr(chars,blank)) // 串长为0或chars中包含填补空余的字符 return 0; (*T).curlen=i; j=i/CHUNKSIZE; // j为块链的结点数,块的个数 if(i%CHUNKSIZE) //不足一个块的,当成一个块即块数加1 j++; printf(\长度是%d\\n行数是%d\\n\ for(k=0;k
正在阅读:
数据结构课程设计-小型文本编辑器的设计09-18
湖南预拌商品混凝土及混凝土预制构件生产企业内设试验室要求06-20
家乡的四季作文600字07-16
像经济学家一样思考习题及答案03-29
2017-2022年中国电子标签(RFID)产业发展预测及投资战略(报告目录)08-28
公函相关范文02-20
连云港市第十四届中小学青年教师“五四杯”论文竞赛获奖名单05-27
通知书【精选5篇】03-27
后置埋件习题05-26
- 元旦晚会节目单
- 学案
- 光电显示技术期末复习资料 - 图文
- p2p与供应链结合案例
- 2016--2017学年度第二学期五年级班主任工作计划
- 尔雅2017年西藏的历史和文化期末考试满分答案解析
- 智慧树创新工程实践期末考试答案
- 六年级下美术教案-有趣的纸浮雕广西版
- 设备操作规程汇编
- 通信综合实训系统实验报告
- 南京财经大学金融学期末考试简答题
- 现代服务业发展规划研究 - 图文
- 锚杆支护工知识竞赛题
- 实验五
- 债权法习题集及详细解答
- 上海寺庙大全 - 图文
- 机会成本在企业决策中的应用研究
- 高考总复习语文选择题百题精炼第一季专题01 识记现代汉语字音(教师版)
- A9785-B中文资料
- 56m连续梁主墩冷却管布置技术交底
- 设计
- 数据结构
- 编辑器
- 小型
- 文本
- 课程
- 静安区2014年第二学期期末教学质量调研八年级数学试卷
- 浅谈《论语》君子观
- 上外贸校园介绍 - 图文
- “十三五”重点项目-汽车定期保养项目商业计划书
- 小学三年级较复杂有余除法
- 实变函数试题库(5)及参考答案
- T梁预应力张拉计算示例
- 承台施工技术方案
- 2016朝阳一模化学试卷和答案 - 图文
- 2013学年 粤教版 语文选修1电子题库:第四单元第23课知能优化演练 Word版含答案
- 2015至2016w五年级语文下学期期中试卷
- 风塔工艺流程
- 叶圣陶教育名篇读后感
- 物料衡算
- 2019年中国大众餐饮行业市场调研与发展前景分析报告(定制版)目录
- 高三数学高考复习:空间向量与立体几何复习指津(理)
- 毕业班备考工作会议发言稿
- 隆昌县响石镇旅游开发规划
- 仔猪水肿病综合防治措施
- 华为的国际化战略案例分析 - 图文