Ir para conteúdo
Fórum Script Brasil
  • 0

Erro Na Definição De Função


daviddominio

Pergunta

Olá, Pessoal,

Estou precisando de um help, to fazendo um sistema de calculo de raizes de equações, e preciso definir uma função, porém não conheço muito sobre funções e não to conseguindo, segue abaixo o código para conferir o que está errado.

obs.: a função tem que pegar as variáveis que foram lidas, a unica que vai ser modificado é o xx. tem como fazer isto?? abraços

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

float equacao(int xx){

xx=(a*pow(xx,5))+(b*pow(xx,4))+(c*pow(xx,3))+(d*pow(xx,2))+(e*xx)+(f);
return(xx);

}

int main(){
    static int a,b,c,d,e,f,x,xx;
   static float y,a1,a2,att;

printf ("Equação %f",media(2,4)); 


printf ("Digite os valores da equação abaixo\n"); 
printf ("\naX^5: "); 
scanf("%d",&a);
printf ("\nbX^4: "); 
scanf("%d",&b);
printf ("\ncX^3: "); 
scanf("%d",&c);
printf ("\ndX^2: "); 
scanf("%d",&d);
printf ("\neX: "); 
scanf("%d",&e);
printf ("\nf: "); 
scanf("%d",&f);

for (x=-50; x<=50;x+=1){
a1=y;

y=equacao(x);

a2=y;

att=(a1*a2);

if (att<0 || a2==0)
printf ("\nA Raiz está entre %d e %d\n",x-1,x); 

}
            
getch();
  return 0;
}

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

David.

Boa Noite!

Pelo que vi em seu código o problema está em:

1 - Você deve declarar "xx" e "x" como float ou double.

2 - Passe "a, b, c, d, e, f" como parâmetro para função "equacao" ou declare global, não indico o uso de global.

3 - Falta a implementação da função "media".

4 - #include<conio.h> e não "#include<conio.c>"

5 - No lugar de "getch();" utilize system("PAUSE"); e declare também sua biblioteca #include<stdlib.h>

Ficaria algo assim:

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

  float equacao(float xx, int a, int b, int c, int d, int e, int f){
    xx=(a*pow(xx,5))+(b*pow(xx,4))+(c*pow(xx,3))+(d*pow(xx,2))+(e*xx)+(f);
    return(xx);
  }

  int main(){
    static int a,b,c,d,e,f;
    static float y,a1,a2,att,xx,x;
    printf ("Equação %f",media(2,4));
    printf ("Digite os valores da equação abaixo\n");
    printf ("\naX^5: ");
    scanf("%d",&a);
    printf ("\nbX^4: ");
    scanf("%d",&b);
    printf ("\ncX^3: ");
    scanf("%d",&c);
    printf ("\ndX^2: ");
    scanf("%d",&d);
    printf ("\neX: ");
    scanf("%d",&e);
    printf ("\nf: ");
    scanf("%d",&f);
    for (x=-50; x<=50;x+=1){
      a1=y;
      y=equacao(x,a,b,c,d,e,f);
      a2=y;
      att=(a1*a2);
      if (att<0 || a2==0)
        printf ("\nA Raiz está entre %d e %d\n",x-1,x);
    }
            
    system("PAUSE");
    return 0;
}

Espero ter ajudado.

[]'s

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...