解析计算器的这段代码有什么问题?

问题描述

代码用于解析计算器(变量为西班牙语,但我认为您将不会有任何问题)。我不知道为什么这段代码行不通。

#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;
}

解决方法

即使abcintrresultado1resultado2的结果不必是。它们应定义为double

double r,resultado1,resultado2;