- 1、本文档共44页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第11章 C语言程序综合实训 第11章 C语言程序综合实训 学习目标 通过综合实践性训练,掌握一般应用程序的设计方法。 学习内容 应用程序设计的一般步骤,应用程序设计实例。 第11章 C语言程序综合实训 11.1 应用程序设计方法 11.2 应用程序设计实例 11.3 C语言课程实训 11.1 应用程序设计方法 程序设计就是针对给定问题进行设计、编写和调试计算机程序的过程。作为一名程序设计者,要想设计好一个程序,除了掌握程序设计语言本身的语法规则外,还要学习程序设计的方法和技巧,并通过不断的实践来提高自己的程序设计能力。 进行应用程序设计时一般遵循以下步骤: 1. 需求分析 在这个环节,根据用户的具体要求进行以下工作: (1)用户需求分析。务必详细、具体地理解用户要解决的问题,明确为了达到用户要求和系统的需求,系统必须做什么,系统必须具备哪些功能。 (2)数据及处理分析。通过分析实际问题,了解已知或需要的输入数据、输出数据,需要进行的处理。 11.1 应用程序设计方法 (3)可行性分析。用户提出的问题是否值得去解,是否有可行的解决办法。 (4)运行环境分析。即硬件环境和软件环境分析。 对初学者而言,关键处理好需求分析和数据及处理分析这两方面的工作。 2. 系统设计 系统设计可分为总体设计和详细设计。总体设计通常用结构图描绘程序的结构,以确定程序由哪些模块组成以及模块间的关系。 详细设计就是给出问题求解的具体步骤,给出怎样具体地实现各功能模块的描述。 11.1 应用程序设计方法 3. 系统实现 选择适当的程序设计语言,把详细设计的结果描述出来,即形成源程序,并上机运行调试源程序,修改发现的错误,直到得出正确的结果。在调试过程中应该精心选择典型数据进行测试,避免因测试数据不妥而引起的计算偏差和运行错误。 4. 建立文档资料 整理分析程序结果,建立相应的文档资料,以便日后对程序进行维护或修改。 11.2 应用程序设计实例 开发一个学生成绩管理系统,用于对班级的学生成绩进行处理。班级有N个学生,每个学生的信息包括学号、姓名和3门课成绩。 本系统实现的功能要求: (1)录入学生数据。 (2)显示学生数据。 (3)计算每个学生平均成绩。 (4)计算各科平均成绩。 (5)按照学生平均成绩排序。 11.2 应用程序设计实例 1. 系统分析与设计 通过分析以上功能描述,可以确定本系统的数据结构和主要功能模块。 (1)定义数据结构 由于学生的数据包括学号、姓名和3门课成绩,所以决定采用结构体类型来描述,具体定义如下: struct student { char num[6]; char name[8]; int score[3]; float avr; } 11.2 应用程序设计实例 (2)程序功能模块 根据系统功能要求,确定出6个功能模块,如图11-1所示,包括录入模块,显示模块,求每个学生平均成绩,求各科平均成绩,排序模块及显示菜单模块,每个模块对应一个函数,分别命名为creat、show、average、allaverage、sort、showmenu。 2. 各个模块设计 (1)主界面设计。为了程序界面清晰,主界面采用菜单设计,便于用户选择执行,如图11-2所示。 (2)数据录入模块。本模块功能是从键盘输入N个学生数据(包括学号、姓名、3门课成绩)并存放到磁盘文件“stud”中,“stud”为二进制数据文件,用函数fread()和fwrite()完成读写操作。数据录入过程如图11-3所示。 11.2 应用程序设计实例 显示学生数据模块。从磁盘文件中读取学生数据,以表格形式显示到屏幕上。显示格式如图11-4所示。执行此模块时,还没有计算平均成绩,因此信息表中的平均成绩均为0。 (3)计算每个学生平均成绩。从磁盘文件读取学生数据,计算每个人的平均成绩后输出,如图11-5所示。 (4)计算各科平均成绩模块。从磁盘文件读取学生数据,计算各科平均成绩后直接输出,如图11-6所示。 (5)按照学生平均成绩排序。从磁盘文件读取学生数据,按照平均成绩从高到低排序后输出结果,如图11-7所示。 11.2 应用程序设计实例 3. 源程序清单 #include stdio.h #include string.h #define N 3 /*以3个学生为例*/ struct student { char num[6]; char name[8]; int score[3]; double av; } stu[N],s[N]; void creat( ) /*录入学生原始数据并写入磁盘文件*/ 11.2 应用程序设计实例 { int i,j,sum; FILE *f
文档评论(0)