00:00
同学们,我们来编写第二个项目,客户信息管理系统。还是按照我们以前这样一个流程,首先呢,先给同学们介绍一下这个项目的需求,也就是说我们要完成怎样一个功能。这个功能是模拟实现基于文本界面的客户信息管理软件。那这个软件呢,它能够实现这样的一些功能,可以插入我们的客户,也就是添加,可以修改我们的客户信息,可以删除。可以删除我们的客户信息,那这里呢,我们这儿已经给出了一个要求,用数组来实现,因为我们这些客户呢,不是一个两个了,它是很多对不对,那既然是很多客户,所以说我们需要把这个客户呢,存放到我们数组里面进行一个管理,好,这就是我们的一个需求,那我们来看一下这个项目的界面吧,还是老规矩,从哪里来找呢?从我们给出的这一个。
01:04
呃,需求来看,同学们可以看到呢,在这里哈,有一个项目二,这里面有一个幻灯片,我们来简单的搂一。那首先我们可以看到这个客户信息管理软件呢,它涉及到的知识点有这么一些结构体的各种操作啊,这里面就是说会把我们前面学到结构体的各种操作使用起来,第二个呢,我们还用到数组,那也就是说这里面可能是一个结构体数组,为什么是结构体数组呢?因为我们一个结构体变量可以保存一个客户信息,那保存多个这样的客户信息,是不是就需要一个数组了?没问题吧,后边呢,我们还有数组的插入、删除和替换,这里面会涉及到结构体变量的协同工作。OK,好,紧接着我们继续下面看,那下面呢,就是一些关于这个软件的需求,首先呢,我们项目仍然采用分级菜单方式,这里面呢,打开过后有这样一些。
02:09
选项可以添加客户,修改删除,还有可以显示客户的列表,以及退出我们这个系统。好的,那首先我们来看下面几个界面吧,添加客户界面呢,是这样一个界面,就说别人呢,可以输入他,他可以输入姓名,性别,年龄,电话,邮箱,然后如果添加成功呢,咱们给出一个添加。完成的信息,那也就是说从这一个界面我们可以干什么呢?我们可以分析出来我们这一个结构体。就是客户这个结构体,它包含的成员,这个大家能看出来吗?至少是不是应该有这么。五个啊,但实际上还应该还有一个就是编号,因为你必须要通过编号来区分不同的客户。
03:04
好,我们接着往下看,修改,对修改这个是什么呢?删除删除这里呢,要给出这样几个提示。首先呢,他给一个他要删除的客户的编号。因为我们认为编号是唯一的。然后一回车过呢,还要让他确认一下是不是不是要真的删除,因为有可能呢,它是一个误操作。那在这个删除的时候,你必须要考虑几个情况,什么情况呢?第一个这个编号是存在的。第二个这个编号不存在,是不是也就是说你你比如说我客户只有五个。那你偏偏要删一个编号为十的可能就没有,那你是不是应该给用户一个提示信息删除失败,或者说该编号不存在这样的相信提示,这样才是一个比较完整的。一个功能的完成,那紧接着呢,我们看下一个界面呢,就是客户列表。
04:01
当我们选择四的时候呢,可以把这个客户的信息列出来。把这个客户的信息列出来,比如他的编号,姓名,性别,年龄,电话邮箱等等啊把它列出来,下边呢,就是我们说了,整个这个客户的信息呢,会封装到一个结构体里边去,我们把它取个名叫customer。那里面包含的这一个信息呢,也就是说这个这个就是我们的成员了,就结构体的成员有至少应该有ID名字,性别,年龄,电话号码,还有电子邮件,对不对,好这样一些信息,那下面呢,是他的几个结构图。几个结构图和流程图好,大体呢,同学们根据刚才老师的分析,对我们项目的界面应该有了一个初步的认识,那下面呢,我们要开始来编程了。那同学们,我们在编写这个程序之前,因为这个项目呢,相对比较综合,所以说我我们首先要画出这个程序的框架图。
05:06
那这个程序的框架图是干什么的呢?我简单解释一下程序框架图的作用哈,程序程序框架图。啊,陈俊程序。程序。框架图,它的作用是这样子的,说明或者描述。他要描述该软件或者该项目包含包含多少个文件,这是他第一个要完成的事情,第二个呢,他还要搞清楚,或者是或者是明确。他要明确什么呢?明确就是文件与与文件之间的一个调用关系,哎,他就是要干这个事情的。那这样子我们呢,用一个Excel表给他画下好不好来就是老师思路啊,这个呢,同学们以后在做开发的时候,或者在做项目的时候,都会用到我们写一个叫做。
06:05
就是我们叫做客户,客户关系管理。关系管理系统。的什么呢?程序程序框架图。OK,好,这样子,我们先把它做成一个比较大的一个字体,好看,那现在老师就开始描述了,首先大家觉得应该有什么文,有一个什么样的文件啊,至少是不是应该有这么一个文件,同学们想一想,就是有个cost。Manager。点C这个文件,这个文件它是干什么呢?它要提供提供什么呀?操作界面,什么操作界面呢?我们来分析分析,大家想一想,待会儿在我们做这个开发的时候,你们觉得有几个界面需要提供啊。首先第一个是不是添加客户的店面。
07:00
客户界面肯定是要给给提供的吧。第二个界面,还有什么界面呢?同学们想一想。是不是我们有添加还有一个显示客户的界面啊,所以说还有个显示客户的界面需要来提供,还有什么界面呢?各位朋友是不是还有删除的界面呀。是不是就是你?给他一个标号,他删除还是有没有删除,应该有一个相应的界面显示,还有一个什么界面呢,同学们是不是应该还有一个修改的界面啊,修改课件,那这些界面呢,它都是属于我们这个操作界面的,所以说呢,我把它。勾画一下好吧。勾画一下。好,这边我们标成一个粗体吧。标成一个粗体好看,还有什么呀,还有删除客户的界面。对不对,删除客户界面也需要有,还有什么呢?还有一个修改客户的界面也必须给我们提供好,大体呢,就是这么几个界面。
08:01
那有了这几个界面过后,我问同学们,你光有界面这个事情就能办成吗?是不行的,是不是我们这儿还有一个非常重要的一个结构体啊?大家看一下,我在这里是不是再应该画一个这样的示意图啊?插入。好,我们再插入一个形状。待会儿呢,肯定我们所有的数据呢,都会放在一个customer结构体里面,所以说应该设计一个customer结构体。这个结构体干什么呢?它是保存,就是这样这样理解哈,一个cost。变量。变量他看什么呢?保存一个客户信息能理解哈,就是我们有一个结构体这样的变量呢,它就保存一个客户的信息,那问题又来了,我们界面,我们界面能不能直接去操作这个结构体呢?一般来讲我们不会这么做。
09:02
为什么?因为如果通过这个界面直接操作这个结构体,我们将来会在这个界面里边会有大量的业务逻辑,这样不利于我们的分层结构,也不利于我们的扩展。因此在我们实际开发中呢,往往中间有一层叫做业务层。OK,那我给大家画一下,也就是说这里面呢,我们还要提供一个文件,什么文件呢,就是我写一个哈,叫cost什么呢?Manager,诶customer就就叫这样子啊,就是一系列的函数叫customer这样这样写吧,对。他是term什么呢?结构体数组的数组的相关操作。相关操作。我要说明一下,就是同学们知道将来我们有多个这个customer变量呢,是存放在一个数组里边的,所以说将来呢,对这个customer结构体的数组的相关操作呢,我们就放到这里,这里面呢会有一系列的有什么呢?一系列的函数。
10:13
对,那这个函数用来干什么呢?好,这个函数它用来操作我们的这一个结构体。啊,大致是这样一个流程。大家看一下能能能否理解哈。来看一下就是。怎么理解呢?就是我们这个界面。我们这个界面呢,会去操作我们的函数,而这个函数呢,会去直接操作我们结构体的变量。那最后呢,整个这个结果超出来的结果呢,会显示到相应的这个界面来,成功了还是失败了。对不对,另外呢,我们这儿显示客户,客户见面的时候呢,能够把所有的客户显示出来,那同学们一定要非常清晰的知道。一一定要非常清晰的知道我们这一个customer变量保存一个客户信息,那我问大家一个问题,能回答大家吗?当所是不是如果保存保存多个。
11:11
保存多个客户信息就应该保存到哪里去呢?各位同学是不是就应该保存到结构体数组中去,所以说所以说大家有没有发现,有没有发现在这里我写的是什么呀,对customer结构体数组的操作,而不是写的别的。也就是说,将来我们是整体的对customer结构体数组进行操作。好,同学们,那关于这个客户关系管理系统的一个程序框架图呢,老师就基本上分析完毕了,待会儿呢,我们就按照老师刚才这一个。程序框架图的一个设计,来把这个代码给大家完成,也就是说现在已经分析完毕了,下面呢,我们就一步一步的把这些文件把把把这些操作给他写完。
12:03
我们现在其实就一个文件就可以了,在这个文件里面呢,我们可以把这些操作函数还有结构体一次性的全部完成。OK,那我问大家,像这样一个界面,将来体现出来是个什么呢?它也是一个函数对不对?我们可以把这个界面呢,也封装到函数里边去,能理解我的意思吧。哎,这边也是一堆,也是一些函数。这样呢,我们整个这个模块化编程就体现出来了,好各位同学,那关于这个。项目就是客户信息管理系统的一个分析呢,我们就到这,我们现在把它简单梳理一下哈,我们讲的这个内容简单梳理一下来往下梳理。这个呢,我们直接也写到这里,就是我们的又一个项目,对不对,好放这就可以了。这个呢,我们叫做项目二。还是项目二好。走起来。好。项目二,那这个项目呢,首先我们刚才是怎么讲的呀。
13:04
是不是先给各位同学说了一下他的需求能理解不?他的一个需求说了一下,是不是大家知道心中我知道我们要做什么事情,然后紧接着是不是给同学们看了一下我们这一个项目的界面啊,就是将来我们大概要完成的一个界面是什么样子的界面呢?我简单的给同学们梳理几个哈。啊,其实就这么几个界面也不多,第一个界面呢,各位同学就是我们这个菜单。是不是就是我们这个主菜单,相当于相当于是我们主菜单吧。对,是这个项目的主菜单。然后紧接着还有哪个界面呢,各位同学。有了这个界面过后,是不是我们这里还有一个选择添加客户的界面,对又是一个界面给他拿过来好吧。那有了这个添加的界面,我们还有什么界面呢?诶这写错了。还有什么界面呢?是不是还有一个显示啊,还有一个修改的界面。
14:04
对,修改客户的界面。诶,我这粘贴拷贝一下,有了修改这个界面过后,我们还有什么界面,同学们是不是我们还有删除客户的界面。是这样子吧,同学们,删除客户的界面也有了。那有了删除客户的界面过后呢,同学们还有什么界面啊,是不是还有一个显示客户列表的界面能理解?放这里。显示客户列表的界面,有了显示客户列表界面,我们还有什么界面呢?对,应该还有最后一个界面,我记得啊,没有了啊,基本上就就这样几个几几个界面,好,那界面有了过后,是不是我们又根据这个需求分析来画出了它的一个程序啊框架图,这个程序框架图它主最主要的目的是什么,我刚才已经讲过了,就是他要描述该项目有多少个文件,以及它的调用关系。或者说有多少个文件,有多少个函数,哎,这样就分析的更到位了。
15:04
其实我们这个项目呢,可以把所有的函数都放在一个文件里面去,当然也可以分开。然后用头文件把调用起来就可以了,是不是好,那这一个程序的框架图我也给大家阐述一下好不好,也不难也不难,OK。各位,我把这个图呢给大家复制一下。然后把它放在这里。放这里,好的,同学们,那关于我们这个客户关系管理系统的第一部分分析就到这了,包括他的需求,包括他的一个程序框架图,我们就分析出来了,那下面呢,就按照这个流程,一步一步的完成,一步一步完成好的,那这一讲我们先到这里。
我来说两句