已阅读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年江西省省直及部分省辖市事业单位招聘考试真题试卷 公共基础知识含答案详解(黄金题型)
- 2025年驻马店市西平县事业单位联考招聘10人参考题库及一套完整答案详解
- 2026年河南省新乡市单招职业倾向性测试题库必考题
- 2025年湖南省省直事业单位招聘考试真题题库 公共基础知识及答案详解(真题汇编)
- 2025广东汕头大学医学院对外合作交流处行政人员招聘1人参考题库附答案详解(培优a卷)
- 2026年台州学院单招职业适应性测试必刷测试卷必考题
- 2025广西壮族自治区农业农村厅直属事业单位第二批招聘189人参考题库及答案详解(必刷)
- 2025广东深圳市龙华区招聘社区网格员72人考试笔试参考题库附答案解析
- 服装店店长岗位职责详述
- 工业废水处理工岗位标准化技术规程
- 2026年南京科技职业学院单招职业倾向性测试题库及答案1套
- 私宴接待流程标准化管理
- 2025年农商银行面试题目及答案
- (14)普通高中音乐课程标准日常修订版(2017年版2025年修订)
- 《Web前端开发(JavaScript)》技工中职全套教学课件
- 中级育婴员岗位技能提升培训计划-Training-Plan-for-Enhancing-Job-Skills-of-Intermediate-Childcare-Worker
- 跨境电商税务合规及操作指南
- 全国大学生职业规划大赛《智能物流技术》专业生涯发展展示【高职(专科)】
评论
0/150
提交评论