小型电子辞典.doc_第1页
小型电子辞典.doc_第2页
小型电子辞典.doc_第3页
小型电子辞典.doc_第4页
小型电子辞典.doc_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

小型英汉电子辞典 I 小型英汉电子辞典小型英汉电子辞典 田鑫 目录 摘摘 要要 1 1 1 绪论 绪论 1 2 2 系统分析系统分析 1 2 1 数据需求 1 2 2 功能需求 1 2 3 性能需求 2 3 3 总体设计总体设计 2 3 1 功能模块设计 2 3 2 系统设计方案 3 4 4 详细设计详细设计 4 4 1 插入词条模块 4 4 2 修改单词信息模块 5 4 3 查询单词信息模块 6 4 4 显示单词模块所有信息 8 4 5 添加新单词模块 9 4 6 删除单词模块 10 4 7 保存模块 11 5 5 结论结论 12 结束语结束语 13 参考文献参考文献 13 附录附录 1 1 用户手册 用户手册 14 附录附录 2 2 源程序 源程序 17 小型英汉电子辞典 1 摘摘 要要 小型英汉电子辞典小型英汉电子辞典是一个生活不可缺少的部分 它是人们学习生活的必须 品 是人们学习知识的好工具 他能使人们在学习时不再为单词所困 学习变 的更加方便有效 是人们学习的好助手 本系统使用 C 语言作为程序开发的语言 开发小型英汉电子辞典小型英汉电子辞典 实现英 汉互译功能 可以对单词信息进行添加 删除 修改和查询功能 本文从分析综合训练的题目背景 题目意义 题目要求等出发 分别从需 求分析 总体设计 详细设计等各个方面详细介绍了系统的设计与实现过程 最后对系统的完成情况进行了总结 关键词 单词 汉字 解释 1 1 绪论 绪论 小型英汉电子辞典小型英汉电子辞典是一个生活不可缺少的部分 它是人们学习生活的必须 品 是人们学习知识的好工具 他能使人们在学习时不再为单词所困 学习变 的更加方便有效 是人们学习的好助手 根据综合训练任务书要求 本系统开发主要完成以下功能和性能 Wf2 1 1 英译汉或汉译英 查询英语单词的汉语信息 查询汉语词组的英语翻 译 系统可以根据使用者的给出的条件查询对应的信息 2 词库的管理 根据使用者的要求 可以对系统的词库进行添加 修改 和删除单词及其解释 3 新增单词解释 用户可以根据需要对词库中汉语的解释进行丰富 当 使用者添加了重复的单词和解释时 系统回提示使用者录入重复并取消录入 4 循环显示的主菜单 使用者可以对整个系统进行反复的使用 保证系统 的连贯性与使用性 2 2 系统分析系统分析 2 12 1 数据需求数据需求 本系统主要是小型英汉电子词典系统 需要向系统输入单词 汉字及其解释 2 22 2 功能需求功能需求 本系统需要有添加 删除 查询 修改 循环显示主菜单 保存信息功能 小型英汉电子辞典 2 能将单词词条注销 利用显示函数将单词信息显示 要求有循环显示菜单工能 2 32 3 性能需求性能需求 在运行本程序时只要按照正确的操作方法要求不会出现无法运行的情况 系统稳定性好 安全 可靠 3 3 总体设计总体设计 3 13 1 功能模块设计功能模块设计 根据分析整个系统主要划分为 7 个功能模块 分别执行要求中的功能 该 系统需要有添加 删除 查询 修改 插入 循环显示主菜单 保存信息功能 能将录入单词进行删除注销 利用显示函数将单词内所有信息显示 要求有循 环显示菜单工能 功能模块图如图 1 所示 小型英汉电子词典 词 条 插 入 修 改 单 词 信 息 查 询 单 词 信 息 显 示 单 词 资 料 添 加 新 单 词 删 除 录 入 单 词 保 存 图图 1 1 功能模块图功能模块图 1 插入词条模块 插入单词信息 对单词进行更新 2 修改单词信息模块 对单词内部信息的修改 其内部分为对单词 汉字 及其解释等子模块 3 查询单词信息模块 对单词内部信息的查询包括通过单词和按汉字 对单词的解释等信息查询 小型英汉电子辞典 3 的子模块 4 显示单词资料系统所有资料模块 该模块实现显示单词系统内部一切单词信息清单 5 添加新单词模块 实现对新单词一切信息的输入并保存使系统自动生成新词条 6 删除录入单词模块 实现对已存单词所有信息的删除 7 保存模块 即在运行完系统功能后自动保存信息 此功能不在菜单中显示 3 23 2 系统设计方案系统设计方案 1 菜单 设计一个总菜单 1 添加 2 删除 3 修改 4 插入 5 按单词查找 6 按汉 字查找 9 结束 基本功能的实现都将体现在这几个菜单选项中 2 数据结构 建立结构体如下 include include include define NULL 0 define LEN sizeof struct dictionary struct dictionary char ci 20 shi 20 han 20 jie 30 dao 30 int num struct dictionary next int n 类型的结构体成员定义一个指向结构体的指针 根据模块需要本系统需要用到链表结构 3 函数 定义了 9 个函数 都实现以下功能 struct dictionary del struct dictionary head char ci 20 删除 小型英汉电子辞典 4 struct dictionary correct struct dictionary head char ci 30 修改 struct dictionary insert struct dictionary head struct dictionary chee 插入 struct dictionary search struct dictionary head char ci 20 按单词查找 struct dictionary seek struct dictionary head char han 20 按汉字查找 void save struct dictionary head 保存 struct dictionary load struct dictionary head 读取 struct card show void 显示 4 4 详细设计详细设计 4 14 1插入词条模块插入词条模块 插入词条主要是操作员将需要插入的单词插入到以有的词条当中 程序流程如 图 2 所示 小型英汉电子辞典 5 开始 structdictionary p0 p1 p2 head NULL n n 1 return head head p0 strcmp p0 ci p1 ci 0 p1 next p0 head p1 p0 next p1 p2 next p0 结束 图图 1 1 插入词条流程图插入词条流程图 4 24 2 修改单词信息模块修改单词信息模块 对单词内部信息的修改 其内部分为对单词 汉字 解释等子模块 找到 要修改的单词 输入修改后的信息覆盖原有信息 小型英汉电子辞典 6 开始 structdictionary p1 p2 head NULL p1 head printf 输入错入 n strcmp ci p1 ci 0p1 p1 next end return head printf 输入新的单词信息 n 结束 图图 2 2 修改单词信息流程图修改单词信息流程图 4 34 3 查询单词信息模块查询单词信息模块 该模块包括两种可查询的选项 按字母查找 按汉语意思查找 对单词内部信息的查询包括通过字母查询和汉语意思查询的子模块 每一 个子模块基本思想相同 先输入需要查寻的方式然后输入查询所需要的信息 如果输入信息与系统中的单词信息相匹配则输出此单词所有信息 小型英汉电子辞典 7 开始 structdictionary p1 p2 head NULL p1 head printf nlist null n gotoend strcmp ci p1 ci 0p1 p1 next printf 错误输入 n end return head printf 单词信息为 n 结束 图图 3 13 1 按单词范围查找流程图按单词范围查找流程图 小型英汉电子辞典 8 开始 structdictionary p1 p2 head NULL p1 head printf nlist null n gotoend strcmp han p1 han 0p1 p1 next printf 输入错误 n end return head printf 单词信息为 n 结束 图图 3 23 2 按汉字范围查找流程图按汉字范围查找流程图 4 44 4 显示单词模块所有信息显示单词模块所有信息 该模块实现显示单词系统内部一切单词信息清单 打开已存文本文件调用 fopen 函数 用被定义的两个指针 p1 p2 完成文件的读取 返回头指针 调用 print 函数输出文件信息 小型英汉电子辞典 9 开始 structdictionary p1 p2 fp fopen dictionary tx t a NULL n 0 1 printf 不能打开 n returnhead fclose fp return head fread p1 sizeof structdic tionary 1 fp 1 break n n 1 n 1 p2 p1 p2 next p1 结束 图图 4 4 显示单词系统流程图显示单词系统流程图 4 54 5 添加新单词模块添加新单词模块 实现对新单词一切信息的输入后使系统自动生成词条并保存到文本文件中 程序中的自动生成词条就是在新添加单词时将单词当时已注册到的号码找到 然后使这个数加 1 赋给即将要添加的单词的词条 小型英汉电子辞典 10 开始 structdiction ary head strcmp p1 ci 0 0 p2 next NULL return head n n 1 n 1 p2 p1 p2 next p1 结束 图图 5 5 添加新单词流程图添加新单词流程图 4 64 6 删除单词模块删除单词模块 先定义两个头指针 p1 p2 找到要删除的单词 如果单词是链表的头则将 head 赋给此会员所存结点的 next 此会员所存结点不是头结点就将此会员上一 个结点的 next 与此会员的结点的 next 相连 小型英汉电子辞典 11 开始 structdictionary p1 p2 head NULL p1 head printf nlist null n gotoend strcmp ci p1 ci 0p1 p1 next printf s 未找到 n ci end return head p1 head printf 删 除 s n ci p2 next p1 next 结束 图图 6 6 删除单词流程图删除单词流程图 4 74 7 保存模块保存模块 保存所存储的单词信息 以二进制写的方式打开一个名字为 card 的文本文 件 调用 fwrite 函数将信息存储到名为 null 的文本文件中 最后关闭文件 小型英汉电子辞典 12 开始 structdictionary p1 fp fopen dictionary txt w NULL p1 head p1 NULL p1 p1 next fclose fp printf 不能打开 n return fwrite p1 sizeof structdictio nary 1 fp 1 结束 图图 7 7 保存单词信息流程图保存单词信息流程图 5 5 结论结论 综合训练顺利完成 任务书中所提出的要求全部实现 可以对单词信息进 行添加 修改 删除以及按各种信息查找 不过这个程序还有些不够完善 例 小型英汉电子辞典 13 如 在添加新单词时当单词信息全部输入之后系统中的全部单词信息自动显示 这样非常占用操作界面 使操作不是十分清晰 再一个就是系统无法正确识别 汉语字意只能靠操作人员的认真细心才能减少出错 改进方式 调用一个可以 判断号码位数的函数 如果输入位数不合法则提出警告重新输入 结束语结束语 为期一个礼拜的 C 语言综合训练设计实习终于顺利完成 在这期间真正的 学到了一些经验 能够熟练的掌握一些 C 语言的编程思路 能够熟练的运用学 到的函数 学会了在曾经编写过的函数上加以修改实现了我期望实现的功能 知道学习编程必须亲手将每一个字符敲入电脑中这样才能真正的学到课本或一 些理论中学不到的知识 这才达到了实践的目的 当程序编写完成而且能够正 常运行心里一种说不出的自豪感 虽然我不是专业的编程人员但是通过这次实 习还是体会到其中的艰辛 同时这也是对我的自勉 望我以后能更加努力的学 习知识 参考文献参考文献 1 谭浩强 C 语言程序设计 第三版 北京 清华大学出版社 2005 2 林碧英 C 语言程序设计教程 中国电力出版社 2006 3 美赫伯特 希尔特 王子恢等译 C 语言大全 电子工业出版社 2003 小型英汉电子辞典 14 附录附录 1 1 用户手册 用户手册 点击运行 首先出现的是菜单界面 选择菜单选项进行操作 可进行如图 8 所示 图图 8 8 菜单界面菜单界面 点 1 后按回车 即进行添加新单词的操作 在添加完所有信息输入 0 结 束添加如图 9 所示 小型英汉电子辞典 15 图图 9 9 添加界面添加界面 输入 3 后点击回车执行对单词修改操作 如图 10 所示 图图 1010 单词修改界面单词修改界面 输入 5 后点击回车进行单词查找操作 如图 11 所示 图图 1111 单词查找界面单词查找界面 输入 6 后点击回车进行汉字查找功能的操作 如图 12 所示 小型英汉电子辞典 16 图图 1212 显示界面显示界面 输入 2 后点击回车进行对单词删除操作 如图 13 所示 图图 1313 删除单词界面删除单词界面 小型英汉电子辞典 17 附录附录 2 2 源程序 源程序 include include include define NULL 0 define LEN sizeof struct dictionary struct dictionary char ci 20 shi 20 han 20 jie 30 dao 30 int num struct dictionary next int n 添加 struct dictionary creat void struct dictionary head struct dictionary p1 p2 n 0 p1 p2 struct dictionary malloc LEN printf 请输入单词 scanf s p1 ci printf 请输入汉字 scanf s p1 han printf 请输入解释 scanf s p1 jie head NULL while strcmp p1 ci 0 0 n n 1 if n 1 head p1 else p2 next p1 p2 p1 p1 struct dictionary malloc LEN printf 请输入单词 scanf s p1 ci printf 请输入汉字 scanf s p1 han printf 请输入解释 scanf s p1 jie 小型英汉电子辞典 18 p2 next NULL return head 建立链表 void print struct dictionary head struct dictionary p1 printf n 现在 有 d 个词典信息 n n p1 head printf n printf 单词 汉字 解释 if head NULL do printf s s s n p1 ci p1 han p1 jie p1 p1 next while p1 NULL printf n void menu printf n printf n printf top 英汉电子词典 n printf n printf n printf 1 添加 2 删除 3 修改 4 插入 n printf n printf 5 单词查找 6 汉字查找 n 小型英汉电子辞典 19 printf n printf 9 结束 n printf n printf n 删除 struct dictionary del struct dictionary head char ci 20 struct dictionary p1 p2 if head NULL printf nlist null n goto end p1 head while strcmp ci p1 ci 0p1 p1 next if strcmp ci p1 ci 0 if p1 head head p1 next else p2 next p1 next printf 删除 s n ci n n 1 else printf s 未找到 n ci end return head 修改 struct dictionary correct struct dictionary head char ci 30 struct dictionary p1 p2 if head NULL printf 输入错入 n goto end p1 head while strcmp ci p1 ci 0p1 p1 next if strcmp ci p1 ci 0 printf 输入新的单词信息 n printf 请输入单词 scanf s p1 ci printf 请输入汉字 scanf s p1 han printf 请输入解释 scanf s p1 jie printf 修改后的信息为 n printf n printf 单词 汉字 解释 printf s s s n p1 ci p1 han p1 jie printf n end return head 插入 struct dictionary insert struct dictionary head struct dictionary chee struct dictionary p0 p1 p2 p1 head p0 chee if head NULL head p0 p0 next NULL else while strcmp p0 ci p1 ci 0 p1 p1 next 小型英汉电子辞典 21 if strcmp p0 ci p1 ci ci p1 ci 0 if head p1 head p0 else p2 next p0 p0 next p1 else p1 next p0 p0 next NULL n n 1 return head 通过单词查找 struct dictionary search struct dictionary head char ci 20 struct dictionary p1 p2 if head NULL printf nlist null n goto end p1 head while strcmp ci p1 ci 0p1 p1 next if strcmp ci p1 ci 0 printf 单词信息为 n printf n printf 单词 汉字 解释 printf s s s n p1 ci p1 han p1 jie printf n else printf 错误输入 n end return head 小型英汉电子辞典 22 通过汉字查找 struct dictionary seek struct dictionary head char han 20 struct dictionary p1 p2 if head NULL printf nlist null n goto end p1 head while strcmp han p1 han 0p1 p1 next if strcmp han p1 han 0 printf 单词信息为 n printf n printf 单词 汉字 解释 printf s s s n p1 ci p1 han p1 jie printf n else printf 输入错误 n end return head 保存 void save struct dictionary head struct dictionary p1 FILE fp if fp fopen dictionary txt w NULL printf 不能打开 n return for p1 head p1 NULL p1 p1 next if fwrite p1 sizeof struct dictionary 1 fp 1 printf 写入错误 n 小型英汉电子辞典 23 fclose fp 读取 struct dictionary load struct dictionary head struct dictionary p1 p2 FILE fp if fp fopen dictionary txt a NULL printf 不能打开 n return head n 0 p1 p2 struct dictionary malloc LEN head NULL while 1 if fread p1 sizeof struct dictionary 1 fp 1 n n 1 if n 1 head p1 else p2 next p1 p2 p1 p1 struct dictionary malloc LEN else break fclose fp return head 主函数 void main struct dictionary head dict char del ci 20 cor ci 20 sea ci 20 se han 20 int a 小型英汉电子辞典 24 do menu printf 输入你想选择的内容 scanf d switch a case 1 head creat pri

温馨提示

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

评论

0/150

提交评论