满意答案
ttftj
推荐于 2016.10.13
采纳率:59% 等级:9
已帮助:1061人
下面是个完整的程序,我测试通过符合你的要求,你在看看,我写的模块化实现,给你贴的有些乱,
函数声明如果在一个.c 文件把所有的子函数都在前面在声明一下,不是很复杂,
#include
#include
(#include "head.h" ) //自己定义的一定要用双引号括起来
//如果用尖括号就会出错
//这里包含的.h 文件时各个子函数的声明可以去掉
//函数功能:实现了减加乘除运算
void main()
{
void (*p)(float ,float); //定义指向函数的指针变量
float a,b; //上面的语句有些难度,相当于一个函数
char logo;
puts("输入两个数和想要的操作:\n");
scanf("%f%c%f",&a,&logo,&b);
while(1)
{switch(logo)
{
if((logo=='+')&&(logo=='-')&&(logo=='/')&&(logo=='*'))
{case '+': p = sum; (*p)(a,b);break; //这里就把指针给加
case '-': p = subtraction; (*p)(a,b);break; //同上
case '/': p = division; (*p)(a,b);break; //同上 给除
case '*': p = multiplication; (*p)(a,b);break;
default:break;
}
else
printf("输入错误重新输入")
}
}
}
#include
#include
void division(float a,float b)
{
float div;
div=a/b;
printf("%.3f\n",div);
}
#include
#include
void multiplication(float a,float b)
{
float mul;
mul=a*b;
printf("%.3f\n",mul);
}
#include
#include
void subtraction(float a,float b)
{
float ch;
ch=a-b;
printf("%.3f\n",ch);
}
#include
#include
void sum(float a,float b)
{
float he;
he=a+b;
printf("%.3f\n",he);
}
02分享举报