C语言课程设计简单的行编辑器

上传人:无*** 文档编号:45788301 上传时间:2021-12-08 格式:DOC 页数:13 大小:104KB
收藏 版权申诉 举报 下载
C语言课程设计简单的行编辑器_第1页
第1页 / 共13页
C语言课程设计简单的行编辑器_第2页
第2页 / 共13页
C语言课程设计简单的行编辑器_第3页
第3页 / 共13页
资源描述:

《C语言课程设计简单的行编辑器》由会员分享,可在线阅读,更多相关《C语言课程设计简单的行编辑器(13页珍藏版)》请在装配图网上搜索。

1、中国地质大学C语言课程设计 题目编号和名称 16 简单的行编辑器 教师姓名 学生姓名 学生学号 学生班级 所在院系 日期 2010 年 7 月 16 日简单的行编辑器目录1.题目要求2.需求分析.3.总体设计4.详细设计5.总结. 1.【题目要求】设计一个简单的行编辑器 【要求】 (1) 设置一个简单的行编辑器,每行以回车结束 (2) 数据以文件形式存储 (3) 编辑器具有查找、替换、修改数据的功能2.【需求分析】根据题目要求,行编辑器的数据以文本文件存放在文件中,故需要提供文件的输入、输出等操作;在程序运行过程中要实现查找、替换、修改数据的功能应提供查找、替换、修改数据等操作;另外还应提供键

2、盘式选择菜单功能选择。3.【总体设计】根据上面的需求分析,可以将这一系统的设计分为输入、查找、替换修改数据、退出等四个模块(系统功能模块如图1所示)简单的行编辑器输入数据修改替换数据替换 替换图换打印数据查找退出删除 图1 行编辑器功能模块图 4.【详细设计】1. 主函数主函数的设计一般较简单,一般只提供输入、功能处理和输出部分的函数调用其中各功能模块用菜单方式选择。主函数流程图如图1-1 程序如下void main()开始显示一系列功能选项coutttt 简单行编辑.n;Str s1;输入N的值Str s2; Str ss;根据N的值调用各功能模块函数Str ss1;Str ss2;结束in

3、t n;s1.input_str();int choice=-1;while(choice!=0) 图1-1 行编辑器主函数流程/system(cls);coutttt *简单行编辑*n;coutttt *n;coutttt 1: 打印字符串.n; coutttt 2: 插入字符串.n; coutttt 3: 删除字符串.n;coutttt 4: 复制整个字符串.n; coutttt 5: 替换字符串.n; coutttt 6: 查找一个字符串的位置.n;coutttt 7: 继续输入. n;coutttt 0: 退出.n;coutttt *n;coutchoice;switch(choice

4、)case 1: coutttt1: 打印出字符串.n; s1.print_str(s1);break; case 2: coutttt2: 插入字符串.n; s1.insert_str(s1,s2,ss);break; case 3: coutttt3: 删除字符串.n; s1.delete_str(s1,s2);break;case 4: coutttt4: 复制整个字符串.n; s1.copy_str(s1,s2);break; /*case 5: coutttt5: 替换字符串.n; s1.instead_str(s1,s2,ss1,ss2,n);break;*/ case 6: co

5、utttt6: 查找一个字符串的位置.n; s1.find_position(s1,ss,n);break;case 7: coutttt7: 继续输入.n; s1.go_on_input(s1);break; case 0: coutttt0: 退出.n;break;default:coutttterror.n; break;2各功能模块的设计(1)输入、打印模块该程序需要输入一段字符串作为其待处理数据,所以通过键盘输入字符串作为待处理数据,以回车进入主函数界面。选择菜单1打印出该段字符串。其程序如下,程序运行截图如图2-1 2-2void Str:input_str() coutchk,c

6、hk!=# ) k+;chk=#;len=k;/下面的程序为:显示整个字符串。void Str:print_str(Str &s1)coutnttt整个字符串为:;for(int k=0;s1.chk!=#;k+)coutchk;coutnn; 图2-1 图2-2(2)数据修改模块该功能可通过数据插入与数据修改两部分完成对数据的修改。1】插入 完成插入操作时 须先输入要插入的位置,然后输入所要插入的字符串,以#结束,回车完成插入其程序如下,运行截图如图2-3void Str:insert_str(Str &s,Str s2,Str ss) couti;i-;if(is.len) coutttt

7、 插入位置不存在.n;else coutss.chr,ss.chr!=# ) r+; ss.chr=#; ss.len=r; if(ss.lenMaxSize| ( s.len +ss.len )MaxSize) coutttt插入字符串大于最大值无法插入.n; else int p=0; for (int k=0; k=i; k+) s2.chp=s.chk;p+; for(k=0;kss.len;k+) s2.chp=ss.chk; p+; for(k=i+1;ks.len;k+) s2.chp=s.chk; p+; s2.len=p; coutttt 新字符串的长度为s2.len; s2

8、.chp=#; for(int q=0; s2.chq!=#; q+) s.chq=s2.chq; s.chq=#; s.len=s2.len ; cout 插入成功.n; print_str(s); 图2-32】删除 删除操作是作为修改模块的一部分,同插入操作共同完成修改数据的功能。进行删除操作时,输入想从字符串上开始删除的位置,再输入删除的字符串长度。回车即可完成删除。其程序如下,运行截图如图2-4void Str:delete_str(Str &s1,Str s) couti; if(is1.len) coutttt 太大无法删除.n;else coutj; if(i+js1.len)

9、coutttt 删除的太长无法删除.n; else int p=0; for (int k=0;ki;k+) s.chp=s1.chk; p+; for (k=i+j;ks1.len;k+) s.chp=s1.chk; p+; s.len=p+1; s.chp+1=#; for(int q=0; s.chq!=#; q+) s1.chq=s.chq; s1.chq-1=#; s1.len=s.len-1; coutttt 删除成功.n; s1.print_str(s1); 图2-4(3)查找模块在字符串内寻找你想要的一段字符串,显示找到的位置。选择查找功能的菜单,通过键盘输入所要查找字符串,回

10、车即可找出其所在位置。程序如下,运行截图如图2-5void Str:find_position(Str &s,Str &ss,int &n)coutttt 输入字符串:; ss.input_str(); int y=0; for(int i=0;is.len;i+) for(int j=i,k=0; s.chj=ss.chk; j+,k+) if(k=ss.len-1) coutttt 位置是 i+1 .n; positiony=i+1; y+;if(!y) coutttt 没有找到要字符n; positiony=-1; n=y; /n 图2-5(4)替换模块在字符串内,把某些小段字符串替换为

11、你想要的字符串。先输入你要改变的小段字符串,程序先找到这些字符串,再输入想要替换成的/字符串,程序完成替换功能。其程序如下void Str:instead_str(Str &s1,Str s2,Str ss1,Str ss2,int n)s1.find_position(s1,ss1,n);if(n!=0) coutttt 输入你想替代的字符.n; ss2.input_str(); coutttt 替换成功n; couts1.len=s1.lenn; coutss1.len=ss1.lenn; coutss2.len=ss2.lenn; coutn=nMaxSize) cout太长.n; el

12、se int p=0; positionn=s1.len+1; for(int i=0;iposition0-1;i+) s2.chp=s1.chi; p+; for(int nn=0;nnn;nn+) for(int j=0;j4;j+) s2.chp=ss2.chj; p+; for(int kk=(positionnn-1+ss1.len);kkpositionnn+1-1;kk+) s2.chp=s1.chkk; p+; s2.chp=#; s2.len=p; for(int qq=0; s2.chqq!=#; qq+) s1.chqq=s2.chqq; s1.chqq=#; s1.l

13、en=s2.len ; (5)退出当所要运行操作完成时,可通过主函数选择退出菜单,实现程序的退出。程序运行截图如图2-6 图2-6 5.【总结】通过为期一周的课程设计,我们对C语言这门课程有了更深一步的了解。它是计算机程序设计的重要理论技术基础,在我们专业的学习中占据着十分重要的地位。同时也使我们知道,要学好这门课程,仅学习书本上的知识是不够的,还要有较强的实践能力。因为我们学习知识就是为了实践。而只有多实践,多编写程序,才能更好的理解与掌握书本上的东西。 运用C语言中的算法思想作数据结构,结合C语言基本知识,编写一个简单的行编辑器。通过完成本课题,进一步熟悉C语言的基本知识,同时提升了自己的实践动手能力。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!