零点起飞学C++之面向过程实战.pptxVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
零点起飞学C之面向过程实战

第11章 面向过程实战 “面向过程”是一种以算法为中心的编程思想,常用“程序=算法+数据结构”的公式来描述面向过程的设计原则,映射到实际程序就是“函数+数据结构”。数据结构是程序要处理的对象,函数就是处理这些数据结构的算法。一般来讲,程序员会将共同完成同一个“算法”的函数组合起来,这就形成了模块。每个模块执行一种特定的功能,多个模块有机结合,共同完成程序的任务。因此,面向过程的程序一般都是多模块程序。上述公式就可以改做“面向过程=模块+数据结构=函数+数据结构”。 读者若想要可以成为一个初级的程序员,想对编写程序有一个完整的认识,还等什么,来读本章吧。 11.1 问题定义 面向过程主要是强调把整个系统划分为细小的功能模块。每个模块包含多个函数,实现细分后的这些模块和函数,也就实现了整个程序。本章将通过一个图书管理案例来逐步讲解面向过程的程序设计方法。限于篇幅的原因,本章需求阶段的分析仅从问题定义和需求分析两个方面来谈,重点在总体设计和编码两节。 问题定义就是要定义系统是什么样的,要完成什么样的功能,要干什么。这是从用户角度来分析系统,是程序设计的第一步。下面就来看一下图书管理系统的问题定义。 图书管理系统是一个管理系统。它的使用者包括图书管理人员和图书借阅者。图书管理人员是该系统的操作员,他负责图书的日常管理,系统的日常维护。图书管理人员要能掌握图书的出、入库情况,包括录入新的图书,查询某本书是否已经录入或没有录入,删除已经录入的数据;还要能掌握图书的借阅情况,包括将图书借给注册的会员,返还归还的图书。 系统的服务对象是注册的会员,管理人员要能利用系统管理会员的综合情况,包括注册新的会员,注销退会的会员,还要能查询某个特定的会员是否存在。如果录入错误,还要能够修改。会员是系统的服务对象,是被动使用者。会员的各种功能要求都通过管理人员来实现,不能直接接触系统,每个会员限借3本书。 通过上述对问题的分析,就明白了系统是什么样的,要干什么,对要解决的问题有了清晰的定义。第11.2节中将详细分析一下系统的需求。 11.2 需 求 分 析 需求分析是程序设计中最关键,也是最难的一个过程。它是开发者和使用者之间的媒介,让开发者知道用户想要系统干什么。需求分析阶段不是去解决问题,而是弄清楚要解决什么问题。 从11.1节的分析可知,图书管理系统应该主要分两大部分:图书管理和会员管理。图书管理主要负责图书的录入、修改、查询、删除、借阅、返还,这些功能实现了图书本身的管理。会员管理部分主要负责会员的注册、注销、查询等功能。 图书管理部分的具体需求如下: 录入:录入图书数据,要能识别重复录入; 修改:对于录入错误的要能予以修改; 查询:要能根据书名、ISBN、出版社、作者等来查询; 删除:删除不再需要的图书; 借阅:借出图书,有库存时才允许借出,同时递减图书的库存,在会员数据中进行记录; 返还:归还图书,递增图书库存,删除会员数据中的借阅信息。 会员管理部分的具体需求如下: 注册:注册新会员,不能重复注册; 注销:删除会员,有借书的不能注销; 查询:要能根据会员姓名查询。 系统限制会员借阅的上限为3本。通过这个简单的需求分析,程序员就可以了解系统要完成的功能,了解用户的需求。依据它才能进行系统功能和模块的分析与设计。 11.3 总 体 设 计 通过11.1节和11.2节的分析,到现在为止,用户对系统的外观就有了一个清晰的认识。本节将设计如何来实现这些功能。首先介绍用到的主要数据结构,然后详细讲解系统的4大模块:图书基础数据维护、图书借阅、图书返还和会员基础数据维护。 11.3.1 数据结构 下面来分析系统要用到的数据结构。从上述逐项的分析可知,系统中要用到两类数据:图书和会员。系统中采用结构体来设计它们,具体构成如下所示。 1.图书的数据结构 struct tagBOOK{ char isbn[12]; //ISBN 12B char name[20]; //书名 20B char publisher[20]; //出版社 20B char author[20]; //作者 20B short ver; //版次 float price; //价格 short count; //库存 }BOOK; 2.会员的数据结构 struct tagMEMBER{ char name[20]; //会员名 20B char address[20]; //住址 20B short borrow; //借阅数 char isbn1[12]; //第1本的isbn 12B char isbn2[12]; //第2本的isbn 12B char isbn3[12]; //第3本的isbn 12B }MEMBE

文档评论(0)

l215322 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档