Arquivos de Tags: Bhaskara

Calculando bhaskara em C

Uma das formulas matemáticas mais famosas, seja a formula de Bhaskara, ela é utilizada para calculamos equações do tipo ax²+bx+c = 0. Segue abaixo um código fonte escrito em C contendo um exemplo de como cálcular a formula de bhaskara, o código está muito bem comentado, é seus comentários são explicativos.

/*Codigo de autoria de Herberson aka VonNaturAustreVe
e-mail: vonnatur[arroba]0fx66.com
*/

#include <stdio.h>
#include <math.h>
#include <ctype.h>

int main()
{
    char continuar;
    float valor[3];
    double delta,x1,x2;

    printf("Este programa calcula equacoes do tipo \" ax² + bx + c = 0 \"\n");

    do{

        //Entrada dos valores da equacao.
        printf("Digite o valor de a: ");
        scanf("%f", &valor[0]);

        printf("Digite o valor de b: ");
        scanf("%f", &valor[1]);

        printf("Digite o valor de c: ");
        scanf("%f", &valor[2]);

        //Efetua o calculo do delta.
        delta = pow(valor[1],2) - 4 * valor[0] * valor[2];

        //Verifica se o delta possui um valor negativo.
        if(delta < 0) {
            printf("Não foi possivel calcular a equacao\nPois o resultado do delta e NEGATIVO.\n");
        }

        //Caso o delta nao tenha um valor negativo, ele serao calculadas as raizes x' e x"
        else {
            //Calculando a primeira raiz.
            x1 = (-valor[1] + sqrt(delta)) / 2 * valor[0];

            //Calculando a segunda raiz.
            x2 = (-valor[1] - sqrt(delta) ) / 2 * valor[0];

            //Exibi os resultados da equacao.
            printf("\n\nx\' = %.2lf\nx\" = %.2lf\n", x1, x2);
        }

        //verifica se o usuario deseja calcular outra equacao.
        do{
            printf("\nDeseja calcular outra equacao? <S/N>\n");
            scanf(" %c", &continuar);
            continuar = toupper(continuar);

            if((continuar!='S')&&(continuar!='N')) {
                printf("Valores invalidos, digite novamente.\n");
            }

        }while((continuar!='S')&&(continuar!='N'));

        }while(continuar!='N');

    return 0;
}

Fica agora o desafio, incremente este código para que ele calcule caso o valor de delta seja negativo ou seja utilizando números complexos.

Edit: Ajustada indentação do código.
[]‘s

Pagina 1 of 11
SEO Powered by Platinum SEO from Techblissonline