visual c++编程,使用到了指数函数,输入之后却显示undeclared identifier

visual c++编程,使用到了指数函数,输入之后却显示'power' : undeclared identifier,百度了一下,添加了double power(double m,double n),但是还是显示'power' : undeclared identifier,该怎么修改呢,详细如下
#include <math.h>
#include<stdio.h>
double power(double m,double n);
main()
{
double x,y,z,x1,y1,x2,y2,x3,y3,a1,b1,c1,a2,b2,c2,m,n,n1,n2;
printf("请输入三种油在100摄氏度下的粘度,并按照从小到大顺序输入\n");
scanf("%If,%If,%If",&a1,&b1,&c1);
printf("请输入三种油在40摄氏度下的粘度,并按照100摄氏度大小排列顺序输入\n");
scanf("%If,%If,%If",&a2,&b2,&c2);
printf("请输入混合油在100摄氏度和40摄氏度下要求达到的粘度\n");
scanf("%f,%f",&m,&n);
if(a1<m,m<b1)
{
x1=(log(b1/m)/log(10))/(log(b1/a1)/log(10));
y1=(log(m/a1)/log(10))/(log(b1/a1)/log(10));
n1=power(a2,x1)*power(b2,y1);
x2=(log(c1/m)/log(10))/(log(c1/a1)/log(10));
y2=(log(m/a1)/log(10))/(log(c1/a1)/log(10));
n2=power(a2,x2)*power(c2,y2);
if(n1<n<n2)
{
printf("可以配制\n");
}
else if(n2<n<n1)
{
printf("可以配制\n");
}
else
{
printf("不可以配制\n");
}
}
else if(b1<m<c1)
{
x1=(log(b1/m)/log(10))/(log(b1/c1)/log(10));
y1=(log(m/c1)/log(10))/(log(b1/c1)/log(10));
n1=power(c2,x1)*power(b2,y1);
x2=(log(a1/m)/log(10))/(log(a1/c1)/log(10));
y2=(log(m/c1)/log(10))/(log(a1/c1)/log(10));
n2=power(c2,x2)*power(a2,y2);
if(n1<n<n2)
{
printf("可以配制\n");
}
else if(n2<n<n1)
{
printf("可以配制\n");
}
else
{
printf("不可以配制\n");
}
}
else
{
printf("绝对不可能配制\n");
}
}

据个人的经验,估计是你函数名称记错了,在 math.h 头文件里的指数函数,其定义的名称如下:

double pow(double x,double y);
计算x的y次幂

float powf(float x,float y);
功能与pow一致,只是输入与输出皆为浮点数

=============================================
指数与对数函数:

double frexp(double value,int *exp);
这是一个将value值拆分成小数部分f和(以2为底的)指数部分exp,并返回小数部分f,即f*2^exp。其中f取值在0.5~1.0范围或者0。

double ldexp(double x,int exp);
这个函数刚好跟上面那个frexp函数功能相反,它的返回值是x*2^exp

double modf(double value,double *iptr);
拆分value值,返回它的小数部分,iptr指向整数部分。

double log (double);
以e为底的对数

double log10 (double);
以10为底的对数

double pow(double x,double y);
计算x的y次幂

float powf(float x,float y);
功能与pow一致,只是输入与输出皆为浮点数

double exp (double);
求取自然数e的幂

double sqrt (double);
开平方
温馨提示:内容为网友见解,仅供参考
第1个回答  2016-05-28
这个错误的意思是找不到相应的构造函数!所以定义v1,v2,v3错误。使用未定义的对象,当然是报错:undeclaredidentifier了。少了一个无参构造函数。你自己声明了一个有参构造函数,系统就不会自动给你加上无参构造函数,所以Volumev1;定义找不到构造函数。Volume类里面加上:Volume(){length=0;width=0;heigh=0}追问

能说的详细点吗,编程新手,不是太懂,具体应该怎么修改呢,
Volume类里面加上:Volume(){length=0;width=0;heigh=0}这个放在哪里呢?

本回答被提问者采纳

visual c++编程,使用到了指数函数,输入之后却显示undeclared...
double frexp(double value,int *exp);这是一个将value值拆分成小数部分f和(以2为底的)指数部分exp,并返回小数部分f,即f*2^exp。其中f取值在0.5~1.0范围或者0。double ldexp(double x,int exp);这个函数刚好跟上面那个frexp函数功能相反,它的返回值是x*2^exp double modf(double value,d...

...为什么弹不出黑框来,只是显示这串英语???开发环境Visual C++...
这一句告诉你,calcualte没有定义(你把单词写错了--calculate)C:\\Documents and Settings\\ree\\桌面\\c.c(23) : error C2065: 'ruturn' : undeclared identifier ruturn 没有定义 (单词错误,应该是return 吧)C:\\Documents and Settings\\ree\\桌面\\c.c(23) : error C2143: syntax error : m...

用visual c++6.0编程序总是显示1error(s),可是我和书上对了是一样的呀...
cout<<"没有输入有效数字";return 0;}

相似回答