老师让用宏定义和文件包含的知识改写下面源程序。
是什么意思啊?感谢大家帮忙
是什么意思啊?感谢大家帮忙
/* 该程序功能包括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");
}