c语言宏定义与文件包含改写c代码

C语言 码拜 9年前 (2016-04-21) 1275次浏览
老师让用宏定义和文件包含的知识改写下面源程序。
是什么意思啊?感谢大家帮忙

/* 该程序功能包括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

就是对你数据类型,重新定义一个新的类型(这样就实现一改全改,不用重复做很多事情)另外对你函数里面最终结果(面积,体积)用一个符号表示这个公式就好了。
文件包含,还在学习c语言宏定义与文件包含改写c代码

5

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

60

将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");
}

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明c语言宏定义与文件包含改写c代码
喜欢 (0)
[1034331897@qq.com]
分享 (0)