老师让用宏定义和文件包含的知识改写下面源程序。
是什么意思啊?感谢大家帮忙
是什么意思啊?感谢大家帮忙
/* 该程序功能包括3个计算圆形体体积的函数*/ #include "stdio.h" #include "math.h" /* 计算球体体积*/ double vol_ball() { double r; printf("请输入球的半径:"); scanf("%lf",&r); return (4.0/3.0*3.1415926*r*r*r); } /* 计算圆柱体积*/ double vol_cylind() { double r,h; printf("请输入圆柱的底圆半径和高:"); scanf("%lf%lf",&r,&h); return (3.1415926*r*r*h); } /* 计算圆锥体积*/ double vol_cone() { double r,h; printf("请输入圆锥的底圆半径和高:"); scanf("%lf%lf",&r,&h); return (3.1415926*r*r*h/3.0); } main() { int choice; do { printf(" ====功能选项====\n"); printf(" 1--计算球体体积 \n"); printf(" 2--计算圆柱体积 \n"); printf(" 3--计算圆锥体积 \n"); printf(" 0--退 出 \n"); printf("请选择: "); scanf("%d",&choice); switch(choice) { case 1: printf("球体积为:%.2f\n",vol_ball()); break; case 2: printf("圆柱体积:%.2f\n",vol_cylind()); break; case 3: printf("圆锥体积:%.2f\n",vol_cone()); break; case 0: break; } }while(choice!=0); printf("谢谢使用! \n"); }
解决方案
10
就是对你数据类型,重新定义一个新的类型(这样就实现一改全改,不用重复做很多事情)另外对你函数里面最终结果(面积,体积)用一个符号表示这个公式就好了。
文件包含,还在学习
文件包含,还在学习
5
宏定义是不是让你们把π的值用宏来定义,例如 #define PAI (3.1415926)
文件包含的意思是不是将那几个计算函数放到另外的.c里面,并写一个.h,然后main单独写到一个.c里面,然后main去调用那几个.c里面的函数执行
本人猜可能是这样
文件包含的意思是不是将那几个计算函数放到另外的.c里面,并写一个.h,然后main单独写到一个.c里面,然后main去调用那几个.c里面的函数执行
本人猜可能是这样
60
将vol_ball,vol_cylind,vol_cone这三个函数放到一个单独的cpp文件里
总共需要三个文件:
[1]myfun.h
总共需要三个文件:
[1]myfun.h
#ifndef MYFUN_H #define MYFUN_H #include<stdio.h> #define PI 3.1415926 double vol_ball(); double vol_cylind(); double vol_cone(); #endif
[2]myfun.cpp
#include "myfun.h" double vol_ball() { double r; printf("请输入球的半径:"); scanf("%lf",&r); return (4.0/3.0*PI*r*r*r); } /* 计算圆柱体积*/ double vol_cylind() { double r,h; printf("请输入圆柱的底圆半径和高:"); scanf("%lf%lf",&r,&h); return (PI*r*r*h); } /* 计算圆锥体积*/ double vol_cone() { double r,h; printf("请输入圆锥的底圆半径和高:"); scanf("%lf%lf",&r,&h); return (PI*r*r*h/3.0); }
[3]main.cpp
#include"myfun.h" void main() { int choice; do { printf(" ====功能选项====\n"); printf(" 1--计算球体体积 \n"); printf(" 2--计算圆柱体积 \n"); printf(" 3--计算圆锥体积 \n"); printf(" 0--退 出 \n"); printf("请选择: "); scanf("%d",&choice); switch(choice) { case 1: printf("球体积为:%.2f\n",vol_ball()); break; case 2: printf("圆柱体积:%.2f\n",vol_cylind()); break; case 3: printf("圆锥体积:%.2f\n",vol_cone()); break; case 0: break; } }while(choice!=0); printf("谢谢使用! \n"); }