文档详情

第十二章C语言程序开发实例.ppt

发布:2017-04-25约2.65千字共12页下载文档
文本预览下载声明
第12章 C语言程序开发实例;进行应用程序设计时一般遵循以下步骤: 1.可行性研究 在应用程序开发之前,要对需要解决的问题进行定义,对问题的性质、目标和规模进行确切的了解。同时要研究这个问题是否值得解决,也就是对要开发的系统进行可行性研究,可行性研究的目的就是用最小的代价在尽可能短的时间内,确定问题是否能够解决,从而确定问题是否值得解决。 2.需求分析 需求分析是指在可行性研究基础上进行更细致的分析工作,需求分析过程实际上是一个调查研究、分析综合的过程,是一个抽象思维的过程。需求分析阶段务必详细、具体地理解用户要解决的问题,明确系统必须做什么,系统必须具备哪些功能,把来自用户的这些信息加以分析提炼,最后从功能和性能上加以描述。还要通过分析实际问题,了解已知或需要的输入数据、输出数据,需要进行的处理。;3. 系统设计 系统设计是把软件需求变换成为软件的具体方案,可分为总体设计和详细设计。 总体设计通常用结构图描绘程序的结构,以确定程序由哪些模块组成以及模块间的关系,即解决怎样做的问题。 详细设计就是给出问题求解的具体步骤。这个阶段主要是对模块过程的说明,这种说明可以使用图形、表格、公式或文字来描述。不管使用哪种表达方式,都应当给编码人员提供足够准确的信息,尽量避免歧义性,根据它可以很快地写出源程序。 4.软件编码 软件开发的最终目标是把软件设计结果翻译成计算机能够理解和执行的形式,也就是选择适当的程序设计语言,把详细设计的结果描述出来,即形成源程序。 ;5.软件测试 可以选择若干具有代表性的输入数据,其中包括合理的数据(包括边界值)和不合理的数据,进行测试,尽量使程序中的每个语句和每个分支都被检查到,以期待发现程序中的错误的漏洞,然后针对出现的问题,对算法和程序进行修改。 6.文档编制 开发者编制程序文档的主要目的是为了让别人了解自己编写的算法和程序。文档包括源程序代码、算法(程序)的流程图、开发过程中各阶段的有关记录、算法(程序)的正确性证明、程序的测试结果、对输入/输出的要求及格式的详细描述等。 ;12.2.1 学生成绩管理系统 1.案例描述 开发一个学生成绩管理系统,用于对班级的学生成绩进行处理。学生的基本信息包括学号、姓名、三门课的成绩和平均分。 2.设计分析 本系统是一个学生综合管理系统,能够完成对学生成绩的综合管理,本系统具备如下的基本功能:输入学生基本信息、追加、修改、删除、查找、浏览学生和排序等功能。;本系统由9个模块组成,结构图如图12-1所示。;3.设计方案 (1)定义数据结构 由于学生的基本数据信息包括学号、姓名、3门课成绩和平均分,所以决定采用结构体类型来描述,具体定义如下: struct student { char num[6]; /*学号*/ char name[8]; /*姓名*/ int score[3]; /*3门课成绩*/ float avr; /*平均分*/ } ;(2)主界面设计。为了程序界面清晰,主界面采用菜单设计,便于用户选择执行,如图12-2所示。; (3)输入数据模块(函数名为creat)。本模块功能是从键盘输入N个学生数据(包括学号、姓名、3门课成绩)并存放到磁盘文件“stud”中,“stud”为二进制数据文件,用函数fread()和fwrite()完成读写操作。 (4)追加数据模块(函数名为add)。通过该模块可以随时添加多个学生的信息。 (5)修改学生信息模块(函数名为modify)。当输入数据出现错误时,可以使用修改学生信息模块进行修改,可以对每个学生的学号、姓名、成绩进行修改。 (6)删除学生信息(函数名为del)。用来删除某个学生的信息。 (7)浏览学生信息模块(函数名为show)。当每次进行一项操作后,可以通过调用该模块来查看操作情况,也可以单独浏览学生基本信息。 (8)查找学生信息模块(函数名为search)。本模块可以通过姓名查找某个学生的基本信息。 (9)排序模块(函数名为sort)。可按照学生的平均分进行降序排序。 4.实现程序 略; 12.2.2 单位员工通讯录管理系统 1.案例描述 为某个单位建立一个员工通讯录管理系统,可以方便查询每一个员工的办公室电话、手机号。其功能包括通讯录链表的建立、员工通讯信息的查询、修改、插入与删除、以及整个通讯录链表的输出。 2.设计分析 在本设计中,整个通讯录可以采用顺序表或链表方式存储。采用前者,可以提高查询速度;采用后者,可以提高插入与删除记录的效率。在本系统中对查询速度要求不高,所以采用链表存储结构。数据结点类型采用单链表来实现的。;3.设计方案 (1)存储结构类型定义 /*员工通讯信息的结构类型定义*/ typedef struct { char
显示全部
相似文档