Ir ao conteúdo
  • Cadastre-se

Função bhaskara - o que esta de errado com o meu codigo?


iLoveProg

Posts recomendados

Esse primeiro código é a Bhaskara que esta funcionando perfeitamento. Eu converti ela pra uma função e agora esta dando resultados diferentes. Alguem saberia o porque? Eu não estou conseguindo ver nenhum erro. O código sem função esta compilando e o resultado esta certo, o código convertida com função esta compilando, mas o resultado esta errado. O primeiro é o código de Bhaskara sem função, e o segundo é com função(esse que esta com erro).

 

//CODIGO BHASKARA SEM FUNÇÃO

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

main()
{
    float a, b, c, delta;

    printf("\nBHASKARA\n\n");

    printf("\nDigite o valor de A: ");
    scanf("%f", &a);
    printf("\nDigite o valor de B: ");
    scanf("%f", &b);
    printf("\nDigite o valor de C : ");
    scanf("%f", &c);

    delta = (pow(b, 2) - 4*a*c);

    if(delta >= 0)
    {
        if(delta == 0)
        {
            printf("\nA raiz x1 = %f", ((-b + sqrt(delta))/2*a));
        }

        else
        {
            printf("\nA raiz x1 = %f", ((-b + sqrt(delta))/2*a));
            printf("\nA raiz x2 = %f", ((-b - sqrt(delta))/2*a));
        }
    }

    else
    {
 

        printf("0");
    
    }

    return(0);
}
// CONVERTIDA EM FUNÇÃO

#include<stdio.h>
#include<stdlib.h>
#include<math.h>
float bhaskara(float a, float b, float c);

int main(){
 
 float a, b, c;
 float resultado;
 
 printf("\nDigite o valor de A: ");
    scanf("%f", &a);
    printf("\nDigite o valor de B: ");
    scanf("%f", &b);
    printf("\nDigite o valor de C : ");
    scanf("%f", &c);
 
 printf("\n%f\n%f", bhaskara(a, b, c));
 
 return 0;
}

float bhaskara(float a, float b, float c){

    float delta, raiz1, raiz2;
    delta = (pow(b, 2) - 4*a*c);
   
   if(delta >= 0){
        if(delta == 0){
        
            raiz1 = ((-b + sqrt(delta))/2*a);
            
            return(raiz1, raiz2);
        }
        else{
         raiz1 = ((-b + sqrt(delta))/2*a);
         raiz2 = ((-b - sqrt(delta))/2*a);
         
         return (raiz1, raiz2);
        }
    }
    else{
     
 return 0;
 
 }
}
      

SixeEngenharia
iniciante

Mensagens : 13
Data de inscrição : 02/05/2016
Idade : 20
Localização : Rio de Janeiro, RJ, BRasil

Ver perfil do usuário Enviar uma mensagem privada
Voltar ao Topo Ir em baixo

 

 

 

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!