模块化程序设计实例

模块化程序设计实例

ID:18833176

大小:84.00 KB

页数:21页

时间:2018-09-25

模块化程序设计实例_第1页
模块化程序设计实例_第2页
模块化程序设计实例_第3页
模块化程序设计实例_第4页
模块化程序设计实例_第5页
资源描述:

《模块化程序设计实例》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、9.5模块化程序设计实例《程序设计基础》(基于C语言讲解)石光华编著—北京:清华大学出版社下面以设计一个简单的成绩管理软件为例,一步一步地按模块化程序设计方法进行设计。1.定义问题设计一个成绩管理软件,其基本功能包括:输入成绩,成绩加分,计算平均成绩,找出最高分,找出最低分,输出成绩等。2.确定组成程序的模块根据成绩管理软件的功能,确定软件的基本模块包括:输入模块,加分模块,平均分模块,最高分模块,最低分模块,输出模块等。142程序设计基础3.绘制程序结构图成绩管理软件的结构图如图9-5所示。图9-5成绩管理软件结构图4.流程图用流程

2、图确定主程序的逻辑结构,如图9-6所示。在流程图中,istate的作用是记录是否已经输入成绩。istate的使用有如下两种方式。(1)作为全局变量使用。此时istate可以在所有模块中改变其值,主程序更简洁,但可能产生边际效应。(2)作为主程序的局部变量使用。此时istate只能在主程序中改变其值。在主程序中可以直观地看到其变化,能够防止边际效应。采用方式(2)的主程序如下。#include#defineSIZE10voidmain(){intiscore[SIZE]={0};intkey=-1;intiresult

3、=0;floatfresult=0;intistate=0;printf(″1:Inputscores;″);第9章模块化程序设计143图9-6成绩管理软件主程序流程图printf(″2:Outputscores;″);printf(″3:Countforthemaxscore;″);printf(″4:Countfortheminimumscore;″);printf(″5:Countforthetotalscore;″);printf(″6:Countfortheaveragescore;″);printf

4、(″-1:Exit.″);while(1){printf(″Pleaseinputyourchoose:″);scanf(″%d″,&key);if(key==-1)144程序设计基础break;switch(key){case1:istate=input_all_numbers(iscore,SIZE);break;case2:if(istate==0)printf(″ERROR:Youmustinputscoresfirst!″);elseoutput_all_numbers(iscore,SIZE);break;case

5、3:if(istate==0)printf(″ERROR:Youmustinputscoresfirst!″);else{iresult=count_for_max(iscore,SIZE);printf(″themaxscoreis%d″,iresult);}break;case4:if(istate==0)printf(″ERROR:Youmustinputscoresfirst!″);else{iresult=count_for_min(iscore,SIZE);printf(″theminscoreis%d″,

6、iresult);}break;case5:if(istate==0)printf(″ERROR:Youmustinputscoresfirst!″);else第9章模块化程序设计145{iresult=count_for_total(iscore,SIZE);printf(″thetotalscoreis%d″,iresult);}break;case6:if(istate==0)printf(″ERROR:Youmustinputscoresfirst!″);else{fresult=count_for_average

7、(iscore,SIZE);printf(″theaveragescoreis%.2f″,fresult);}break;default:printf(″ERROR:Inputerror,pleaseinputagain!″);}}}5.编写算法为程序结构图中每个模块编写算法。在前面的学习中,已经学过如何加分,计算平均分,以及查找最高、最低分,在这里就不再画出流程图了。6.审查算法最后审查整个算法,直到没有任何逻辑错误。7.编程调试审查算法后,即可进行编程调试。【例9-12】成绩管理软件的完整程序。/*name:amanage

8、mentsystemaboutscores*//*creat:stone,2004/3/8*/146程序设计基础/*modify:stone,2004/3/20*//*version:1.0#include

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。