user-0 提问: c语言宏定义与文件包含改写c代码

回复:
user: user-0
content: 引用 3 楼 qq423399099 的回复:将vol_ball,vol_cylind，vol_cone这三个函数放到一个单独的cpp文件里 总共需要三个文件： [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"); }   谢谢指教我去试试

user: user-1
content: 将vol_ball,vol_cylind，vol_cone这三个函数放到一个单独的cpp文件里 总共需要三个文件： [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"); }

user: user-0
content: /* 该程序功能包括3个计算圆形体体积的函数*/ #include "stdio.h" #include "math.h" 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"); } #include "stdio.h" #define PI 3.1415926 double vol_ball() { 	double r; 	printf("请输入球的半径："); 	scanf("%lf",&r); 	return (4.0/3.0*PI*r*r*r); } #include "stdio.h" #define PI 3.1415926 double vol_cone() { 	double r,h; 	printf("请输入圆锥的底圆半径和高："); 	scanf("%lf%lf",&r,&h); 	return (PI*r*r*h/3.0); } #include "stdio.h" #define PI 3.1415926 double vol_cylind() { 	double r,h; 	printf("请输入圆柱的底圆半径和高："); 	scanf("%lf%lf",&r,&h); 	return (PI*r*r*h); }  我分成几个文件之后    程序运行之后算的体积不管输入任何半径值体积结果都是0。。。这是怎么回事

user: user-2
content: 宏定义是不是让你们把π的值用宏来定义，比如 #define PAI (3.1415926) 文件包含的意思是不是将那几个计算函数放到另外的.c里面，并写一个.h，然后main单独写到一个.c里面，然后main去调用那几个.c里面的函数执行 我猜可能是这样

user: user-3
content: 就是对你数据类型，重新定义一个新的类型（这样就实现一改全改，不用重复做很多事情）另外对你函数里面最终结果（面积，体积）用一个符号表示这个公式就好了。 文件包含，还在学习