急~~~会C++的大侠来帮忙看看~小弟新学C++两天..
我前两天看那个《易学C++》,今天没事试着做,然后想做个关于二次函数,就是Y=AX^2+BX+C的。
我的意思是,创建一个字符变量M,然后让别人输入“Y,X,A,B,C”其中一个字母的,
然后就判断去求哪个,再通过表达式求出来,比如说别人输入字符Y,就是求Y,然后让别人再输入A,B,C,X,就能求出来Y的值。
我试着执行了一下,求A,B,C,Y的值都行,而求X的值时候求出来的就不对,希望哪位大侠可以帮忙纠正一下错误,然后告诉我这样做的原因,小弟谢谢了!!!!
以下是小弟写的:
#include"iostream.h"
#include"math.h"
int main()
{
char m;
cin>>m;
double a,b,c,x,y;
if(m=='y')
{
cin>>a>>b>>c>>x;
y=a*x*x+b*x+c;
cout<<y<<endl;
}
if(m=='a')
{
cin>>b>>c>>x>>y;
a=(y-b*x-c)/(x*x);
cout<<a<<endl;
}
if(m=='b')
{
cin>>a>>c>>x>>y;
b=(y-a*x*x-c)/x;
cout<<b<<endl;
}
if(m=='c')
{
cin>>a>>b>>x>>y;
c=y-a*x*x-b*x;
cout<<c<<endl;
}
if(m=='x')
{
int x2,temp;
cin>>a>>b>>c>>y;
temp=b*b-4*a*c;
if(temp>=0)
{
sqrt(temp);
x=(0-b-temp)/2*a;
x2=(temp-b);
cout<<x<<x2;
}
else
{
cout<<"Error!";
}
}
else
{
cout<<"Error!";
}
return 0;
}