问题描述
此代码用于解析计算器(变量为西班牙语,但我认为您将不会有任何问题)。我不知道为什么这段代码行不通。
#include <iostream>
#include <math.h>
#include <conio.h>
using namespace std;
int main() {
int a,b,c,raiz,r,resultado1,resultado2;
cout<<"Determine el valor de A: "; cin>> a; cout<<"\n";
cout<<"Determine el valor de B: "; cin>> b; cout<<"\n";
cout<<"Determine el valor de C: "; cin>> c; cout<<"\n";
raiz = pow(b,2) - (4 * a * c);
r = sqrt(raiz);
if (raiz > 0) {
resultado1 = ((b * -1) + r) / (2 * a);
resultado2 = ((b * -1) - r) / (2 * a);
cout<<"El valor de X1 es: "<<resultado1<<endl<<endl;
cout<<"El valor de X2 es: "<<resultado2<<endl<<endl;
}
if (raiz < 0) {
cout<<"La raiz posee un valor negativo,por lo que no podra resolverse. El valor negativo dentro
de la raiz es "<<raiz;
}
getch();
return 0;
}
解决方法
即使a
,b
和c
是int
,r
,resultado1
和resultado2
的结果不必是。它们应定义为double
:
double r,resultado1,resultado2;