例程10-1]计算常用圆形体体积 设计一个常用圆形体体积计算器,采用命令方式 输入1、2、3,分别选择计算球体、圆柱体、圆 锥体的体积,并输入计算所需相应参数。 析 ◇输入1、2、3选择计算3种体积,其他输入结束计算 ◆设计一个控制函数caO,经它辨别圆形体的类型 再调用计算球体、圆柱体、圆锥体体积的函数 令设计单独的函数计算不同圆形体的体积
设计一个常用圆形体体积计算器,采用命令方式 输入1、2、3,分别选择计算球体、圆柱体、圆 锥体的体积,并输入计算所需相应参数。 分析: 输入1、2、3选择计算3种体积,其他输入结束计算 设计一个控制函数cal(),经它辨别圆形体的类型 再调用计算球体、圆柱体、圆锥体体积的函数 设计单独的函数计算不同圆形体的体积
程序结构 maino cal( vol ball( vol_ cylind() vol cone () ◇3层结构,5个函数 ◇降低程序的构思、编写、调试的复杂度 ◇可读性好
3层结构,5个函数 降低程序的构思、编写、调试的复杂度 可读性好 main( ) cal ( ) vol_ball ( ) vol_cylind ( ) vol_cone ( )
例10-1源程序 # define p|3.14159265 f (sek<1 se1>3) void cal( int sel break int main(void) e cal(se1 ); int sel whi le(1)I return 0: pr intf("1-计算球体体积\n"); pr intf("2-计算圆柱体积\n") pr intf("3-计算圆锥体积\n"); pr intf("其他一退出运行\n") pr intf(“请输入计算命令:”) scan f("%d",&se);
#define PI 3.14159265 void cal ( int sel ); int main(void) { int sel; while( 1 ){ printf(" 1-计算球体体积\n"); printf(" 2-计算圆柱体积\n"); printf(" 3-计算圆锥体积\n"); printf(" 其他 -退出运行\n"); printf(“请输入计算命令:”); scanf("%d",&sel); if (sel<1 || sel>3) break else cal(sel); } return 0; }
主控函数Cl void cal( int sel double vol bal I(void) double vol cy l ind (void double vol cone(void) switch (sel) case1: printf("球体积为:%.2f\n", vol ball() break; case2: printf("圆柱体积为:%.2f\η", vol cyl ind()); break case3: printf("圆锥体积为:%.2fⅦn", vo cone()); break
void cal ( int sel ) { double vol_ball(void ); double vol_cylind(void ); double vol_cone(void ); switch (sel) { case 1: printf("球体积为:%.2f\n", vol_ball( )); break; case 2: printf("圆柱体积为:%.2f\n", vol_cylind( ) ); break; case 3: printf("圆锥体积为:%.2f\n", vol_cone( ) ); break; } }
球体体积函数 vol ball double vol balI() double r pr intf("请输入球的半径:"); scanf(%If, &r) return(4.0/3.0*P|**r*r)
double vol_ball( ) { double r ; printf("请输入球的半径:"); scanf("%lf",&r); return(4.0/3.0*PI*r*r*r); }