




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
长春工程学院长春工程学院 C 语言课程设计语言课程设计 题目编号和名称 简单的行编辑器 教师姓名 学生姓名 学生学号 学生班级 所在院系 日期 2011 年 6 月 日 简单的行编辑器 目录 1 题目要求 2 需求分析 3 总体设计 4 详细设计 5 总结 1 题目要求 设计一个简单的行编辑器 要求 1 设置一个简单的行编辑器 每行以回车结束 2 数据以文件形式存储 3 编辑器具有查找 替换 修改数据的功能 2 需求分析 根据题目要求 行编辑器的数据以文本文件存放在文件中 故需要提供文件的输入 输出等操作 在程序运行过程中要实现查找 替换 修改数据的功能应提供查找 替换 修改数据等操作 另外还应提供键盘式选择菜单功能选择 3 总体设计 根据上面的需求分析 可以将这一系统的设计分为输入 查找 替换修改数据 退出 等四个模块 系统功能模块如图 1 所示 简单的行编辑器 输入数据修改替换 数据 替换 替换 图换 打印数据查找退出 删除 图 1 行编辑器功能模块图 4 详细设计 1 主函数 主函数的设计一般较简单 一般只提供输入 功能处理和输出部分的函数调用其中 各功能模块用菜单方式选择 主函数流程图如图 1 1 程序如下 void main cout t t t 简单行编辑 n Str s1 Str s2 Str ss Str ss1 Str ss2 int n s1 input str int choice 1 while choice 0 图 1 1 行编辑器主函数流程 system cls cout t t t 简单行编辑 n cout t t t n cout t t t 1 打印字符串 n cout t t t 2 插入字符串 n cout t t t 3 删除字符串 n cout t t t 4 复制整个字符串 n cout t t t 5 替换字符串 n cout t t t 6 查找一个字符串的位置 n cout t t t 7 继续输入 n cout t t t 0 退出 n cout t t t n 开始 显示一系列功能选项 输入 N 的值 根据 N 的值调用各 功能模块函数 结束 cout choice switch choice case 1 cout t t t1 打印出字符串 n s1 print str s1 break case 2 cout t t t2 插入字符串 n s1 insert str s1 s2 ss break case 3 cout t t t3 删除字符串 n s1 delete str s1 s2 break case 4 cout t t t4 复制整个字符串 n s1 copy str s1 s2 break case 5 cout t t t5 替换字符串 n s1 instead str s1 s2 ss1 ss2 n break case 6 cout t t t6 查找一个字符串的位置 n s1 find position s1 ss n break case 7 cout t t t7 继续输入 n s1 go on input s1 break case 0 cout t t t0 退出 n break default cout t t terror n break 2 各功能模块的设计 1 输入 打印模块 该程序需要输入一段字符串作为其待处理数据 所以通过键盘输入字符串作为待处 理数据 以回车进入主函数界面 选择菜单 1 打印出该段字符串 其程序如下 程 序运行截图如图 2 1 2 2 void Str input str cout ch k ch k k ch k len k 下面的程序为 显示整个字符串 void Str print str Str for int k 0 s1 ch k k cout ch k cout n n 图 2 1 图 2 2 2 数据修改模块 该功能可通过数据插入与数据修改两部分完成对数据的修改 1 插入 完成插入操作 时 须先输入要插入的位置 然后输入所要插入的字符串 以 结束 回车完成插入其 程序如下 运行截图如图 2 3 void Str insert str Str i if i s len cout t t t 插入位置不存在 n else cout ss ch r ss ch r r ss ch r ss len r if ss len MaxSize s len ss len MaxSize cout t t t 插入字符串大于最大值无法插入 n else int p 0 for int k 0 k i k s2 ch p s ch k p for k 0 k ss len k s2 ch p ss ch k p for k i 1 k s len k s2 ch p s ch k p s2 len p cout t t t 新字符串的长度为 s2 len s2 ch p for int q 0 s2 ch q q s ch q s2 ch q s ch q s len s2 len cout 插入成功 n print str s 图 2 3 2 删除 删除操作是作为修改模块的一部分 同插入操作共同完成修改数据的功能 进行 删除操作时 输入想从字符串上开始删除的位置 再输入删除的字符串长度 回车即可完 成删除 其程序如下 运行截图如图 2 4 void Str delete str Str if i s1 len cout t t t 太大无法删除 n else cout j if i j s1 len cout t t t 删除的太长无法删除 n else int p 0 for int k 0 k i k s ch p s1 ch k p for k i j k s1 len k s ch p s1 ch k p s len p 1 s ch p 1 for int q 0 s ch q q s1 ch q s ch q s1 ch q 1 s1 len s len 1 cout t t t 删除成功 n s1 print str s1 图 2 4 3 查找模块 在字符串内寻找你想要的一段字符串 显示找到的位置 选择查找功能的菜单 通过键盘 输入所要查找字符串 回车即可找出其所在位置 程序如下 运行截图如图 2 5 void Str find position Str ss input str int y 0 for int i 0 i s len i for int j i k 0 s ch j ss ch k j k if k ss len 1 cout t t t 位置是 i 1 n position y i 1 y if y cout t t t 没有找到要字符 n position y 1 n y n 图 2 5 4 替换模块 在字符串内 把某些小段字符串替换为你想要的字符串 先输入你要改变的小段字符 串 程序先找到这些字符串 再输入想要替换成的 字符串 程序完成替换功能 其程序如 下 void Str instead str Str if n 0 cout t t t 输入你想替代的字符 n ss2 input str cout t t t 替换成功 n cout s1 len s1 len n cout ss1 len ss1 len n cout ss2 len ss2 len n cout n n MaxSize cout 太长 n else int p 0 position n s1 len 1 for int i 0 i position 0 1 i s2 ch p s1 ch i p for int nn 0 nn n nn for int j 0 j 4 j s2 ch p ss2 ch j p for int kk position nn 1 ss1 len kk position nn 1 1 kk s2 ch p s1 ch kk p s2 ch p s2 len p for int qq 0 s2 ch qq qq s1 ch qq s2 ch qq s1 ch qq s1 len s2 len 5 退出 当所要运行操作完成时 可通过主函数选择退出菜单 实现程序的退出 程序运行截 图如图 2 6 图 2 6 5 总结 通过为期一周的课程设计 我们对 C 语言 这门课程有了更深一步的了解 它是计 算机程序设计的重要理论技术基础 在我们专业的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030功能性食品原料创新与消费者认知度分析报告
- 2025-2030共享经济行业市场深度调研及发展前景与投资策略报告
- 2025-2030共享经济模式创新与监管政策调整趋势预测报告
- 2025-2030共享办公空间运营效率提升路径分析报告
- 2025年智能物流配送系统优化与智能化升级报告
- 2025年放射科肿瘤放疗剂量计算习题答案及解析
- 2025年车站工作人员岗位职业资格知识试题(附答案)
- 2025年起重机械指挥考试试题及答案
- 2025年执业药师继续教育必考题库与答案
- 2025年国家金属非金属矿山安全检查作业(露天矿山)理论考试题库(附答案)
- 2025湖南益阳安化县事业单位招聘工作人员61人考试参考试题及答案解析
- 7 呼风唤雨的世纪 课件
- 电瓶托盘堆垛车安全培训课件
- 快递分拣中心操作流程及安全规范
- 第七章-辐射防护分析课件
- 研究生英语阅读综合教程reading more
- 比较思想政治教育学-课件
- 眼科学教学课件:眼睑病
- ZXONE8700技术规范书
- 微观经济学生产与成本理论
- 环境监测第2章(2)——水和废水监测ppt课件
评论
0/150
提交评论