第11章综合项目——电子词典_1207分析.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第11章综合项目——电子词典_1207分析

综合项目——电子词典 学习目标 熟悉C语言开发项目的代码风格 理解项目需求分析,并且学会设计流程图 掌握项目的实现步骤,并完成电子词典项目 本书前10个章节针对C语言开发的相关知识进行了详细地讲解。学习一门编程语言,最重要的是学会在实际项目中如何去应用这些知识。因此,本章将为大家讲解如何开发一个综合项目——电子词典。 项目分析 一个好的程序员进行需求分析实现 编程思路 在了解了程序的功能后,接下来分析每一个功能的具体实现: 数据载入功能: 首先创建词典词条数组和记录词条数组,然后打开词典词条文件和记录词条文件,逐行读取文件中的字符串,将其分别存入词典词条数组和记录词条数组中。 单词查询功能: 获取用户输入的单词,遍历词典词条数组,若找到与输入的单词匹配的数组元素,则返回该元素的地址。 记录查询功能: 获取用户输入的单词,遍历记录词条数组,若找到与输入的单词匹配的数组元素,则返回该元素的地址。 显示收藏列表功能: 遍历记录词条数组,如果记录的单词标记为已收藏,则将该单词及其对应的翻译打印出来。 记录数据保存功能: 遍历记录词条数组,将元素中的数据转换成字符串并逐行写入记录词条文件中。 10、释放内存功能: 将词典词条数组和记录词条数组占用的内存空间释放。 在实现了所有功能后,就需要连接各个功能,使其协同工作。下面这张流程图将演示该程序的运行流程,如图11-1所示。 运行流程图 接下来解释一下图11-1所表示的流程图含义,具体如下所示: (1)程序开始运行时,首先执行数据载入功能; (2)等待用户的输入; (3)如果用户输入“$review”,则执行显示收藏列表功能,然后进入步骤②; (4)如果用户输入“$exit”,则进入程序退出模块,最终退出程序; (5)如果用户输入其他字符串,则程序认为是在查询单词,首先执行查询单词功能,如果找到相应的翻译,就进入记录修改模块,最后进入步骤②; (6)在程序退出模块中,程序执行两步操作:第一步,检查记录数据是否被修改,如果被修改,则执行记录数据保存功能;第二步,执行释放内存功能; (7)在记录修改模块中,程序执行三步操作:第一步,执行记录查询功能,如果未找到记录,就添加用户查询的单词的记录;第二步,将该单词的查询次数加1,将记录数据标记为已修改;第三步,检查该单词是否被收藏,如果未被收藏,则询问用户是否收藏该单词,如果用户希望收藏该单词,则收藏该单词。 项目实现开发任何一个项目的第一步,都是创建一个新的项目。打开VS工具,创建名为Dict的项目,并在该项目中添加三个文件,这三个文件的具体功能描述如下: dict.h头文件:该文件用于保存函数的声明。 dict.c源文件:该文件用于实现。 main.c源文件:该文件用于连接各个功能模块,并通过while循环保证数据查询的操作持续进行。 上述文件创建成功后,会在编辑器中生成对应的项目结构,如图11-所示。 Dict项目结构 从图11-可以看出,Dict工程中的头文件夹中包含一个dict.h头文件,源文件夹中包含一个dict.c源文件和main.c源文件。 // 词典词条数据结构体 { char * key; // 单词字符串的首地址 char * content; // 相应的翻译字符串的首地址 }; struct Record // 单词查找记录 { char * key; // 单词指针 int count; // 单词查询次数 int mark_flag; // 标记该单词是否已经被收藏 }; 2、函数设计 在开发项目时,除了要针对项目中的数据进行设计,还需要根据系统的需求,规划项目中需要定义的函数,接下来通过表11-3来列举本项目中所需使用的所有函数及其功能。 功能函数 函数声明 功能描述 int open_record(struct Record ** p, const char * record_file); 打开记录文件,将其中的数据存入数组中。 参数p的作用是获取结构体指针的地址,以传出生成的结构体数组的地址。 参数record_file的作用是获取记录数据文件的绝对路径。 函数的返回值是记录词条的数量。 int open_dict(struct Dict ** p,const char * dict_file); 打开词典文件,将其中的数据存入数组中。 参数p的作用是获取结构体指针的地址,以传出生成的结构体数组的地址。 参数dict_file的作用是获取词典数据文件的绝对路径。 函数的返回值是获取的词典数据的词条数量。 void release_record(struct Record ** p, int count); 释放记录词条数组所占用的内存空间。 参数p的作用是传入结构体指针的地址,

文档评论(0)

wbjsn + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档