Adilson_Max Postado Setembro 1, 2005 Denunciar Share Postado Setembro 1, 2005 // Programa para cálculo da Constante de Euler.// e(x) = 1 + x + X(2) + X(3) + X(4).....// 2! 5! 7!#include<conio.h>#include<stdio.h>#include<math.h>int prec,cont=1,pre=1,con=2,num;int ex,ex1=0,precis;void expoente();void fatorial();void linha(); main(){linha();printf ("\n\n\t <- Programa Para Calculo da Constante de Euler -> ");linha();printf ("\n\n\n\n Digite o valor Para Para Calcular a Constante 'e(x)'...: ");scanf ("%i",&num);printf ("\n\n Digite o numero de casas decimais desejadas na resposta....: ");scanf ("%i",&prec);while (cont<=prec){ precis=pre/10; cont++; pre=precis;}ex=1+num;while (ex1>=precis){ ex1=ex; ex=ex+expoente(num, con)/fatorial(con); con++; ex1=ex-ex1;}printf ("\n\n\ O valor da contante de %d e...: ",num,ex);printf ("\n Foram necessárias %d Interações Para Chegar a Precisao Desejada. ",con);linha();getch();}void linha(){ int i; for(i=0;i<80;i++) printf("\xDB");}void expoente(){pow(num,con);}void fatorial(int con)}if ((num==0) || (num==1)) return 1;else return num*fat(num-1);} Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Setembro 1, 2005 Denunciar Share Postado Setembro 1, 2005 Não testei o programa, mas isso aqui logo me chamou a atenção:void fatorial(int con) } if ((num==0) || (num==1)) return 1; else return num*fat(num-1); }Primeiro, por que o retorno da função é void? Você não vai retornar um inteiro ali?Segundo, por que se faz uma chamada a uma função chamada "fat"? Não seria "fatorial"?Abraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kandrade Postado Setembro 1, 2005 Denunciar Share Postado Setembro 1, 2005 tb não testei a lógica + pelo que percebi sua função fatorial precisa retornar um valor....e sua função fatorial tinha um erro no recebimento do parametro...... int fatorial(int num) { if ((num==0) || (num==1)) return 1; else return num*fat(num-1); } ve se funciona desse jeito.....abraços!!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Adilson_Max Postado Setembro 1, 2005 Autor Denunciar Share Postado Setembro 1, 2005 Então pessoal, eu andei corrigindo.... mas ainda estou encontrando um erro na linha em vermelho abaixo. o que pode ser?#include<conio.h>#include<stdio.h>#include<math.h>int prec,cont=1;double ex,ex1=0,precis,num,con=2,pre=1;double expoente( double num, double con );double fatorial( double num );void linha(); main(){linha();printf ("\n\n\t <- Programa Para Calculo da Constante de Euler -> ");linha();printf ("\n\n\n\n Digite o valor Para Para Calcular a Constante 'e(x)'...: ");scanf ("%i",&num);printf ("\n\n Digite o numero de casas decimais desejadas na resposta....: ");scanf ("%i",&prec);while (cont<=prec){ precis=pre/10; cont++; pre=precis;}ex=1+num;while (ex1>=precis){ ex1=ex; ex= ex + (expoente num,con / fatorial con); con++; ex1=ex-ex1;}printf ("\n\n\ O valor da contante de %d e...: ",num,ex);printf ("\n Foram necessárias %d Interações Para Chegar a Precisao Desejada. ",con);linha();getch();}//Funão Linhavoid linha(){ int i; for(i=0;i<80;i++) printf("\xDB");}//Função Expoentevoid expoente(){pow(num,con);}//Função Fatorialvoid fatorial(int con)}if ((num==0) || (num==1)) return 1;else return num*fatorial(num-1);} Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Setembro 2, 2005 Denunciar Share Postado Setembro 2, 2005 A função fatorial() continua errada e a linha em vermelho está chamando de forma incorreta as duas funções.Abraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Adilson_Max Postado Setembro 2, 2005 Autor Denunciar Share Postado Setembro 2, 2005 A função fatorial() continua errada e a linha em vermelho está chamando de forma incorreta as duas funções.Abraços,Graymalkin Entendi, mas não sei como corrigir? qual é a maneira correta de chamar a função? e como eu faço para corrigir a função fatorial?? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 rafaelbortoletto Postado Setembro 3, 2005 Denunciar Share Postado Setembro 3, 2005 A função fatorial() continua errada e a linha em vermelho está chamando de forma incorreta as duas funções.Abraços,Graymalkin Entendi, mas não sei como corrigir? qual é a maneira correta de chamar a função? e como eu faço para corrigir a função fatorial?? Aparentemente o código que está assim: ex= ex + (expoente num,con / fatorial con); tem que ser assim: ex= ex + (expoente (num,con) / fatorial con); Veja se isto funciona sem erros e executa o que você precisa. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Setembro 4, 2005 Denunciar Share Postado Setembro 4, 2005 A função fatorial() continua errada e a linha em vermelho está chamando de forma incorreta as duas funções.Abraços,Graymalkin Entendi, mas não sei como corrigir? qual é a maneira correta de chamar a função? e como eu faço para corrigir a função fatorial?? Aparentemente o código que está assim: ex= ex + (expoente num,con / fatorial con); tem que ser assim: ex= ex + (expoente (num,con) / fatorial con); Veja se isto funciona sem erros e executa o que você precisa. Faltou corrigir a segunda função chamada (fatorial) também: ex= ex + (expoente(num,con) / fatorial(con)); De qualquer forma, o tipo de retorno da função fatorial() ainda está errado (pense: o que ela vai retornar?).Abraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 FibraOptica Postado Setembro 10, 2005 Denunciar Share Postado Setembro 10, 2005 A fução expoente está assim: //Função Expoente void expoente() { pow(num,con); } e você fez uma chamada a função: .. expoente(num,con) .. Só que esta função não recebe parâmetro! firmeza? Você deveria colocar no protótipo algo assim: void expoente(double , double) ; e depois fazer a função assim: //Função Expoente void expoente(double num , double con) { pow(num,con); } Mas pelo visto está função expoente() não precisa ser usada, é só fazer uma chamada para a função pow().Abraços Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Adilson_Max Postado Setembro 11, 2005 Autor Denunciar Share Postado Setembro 11, 2005 A fução expoente está assim: //Função Expoente void expoente() { pow(num,con); } e você fez uma chamada a função: .. expoente(num,con) .. Só que esta função não recebe parâmetro! firmeza? Você deveria colocar no protótipo algo assim: void expoente(double , double) ; e depois fazer a função assim: //Função Expoente void expoente(double num , double con) { pow(num,con); } Mas pelo visto está função expoente() não precisa ser usada, é só fazer uma chamada para a função pow().Abraços Fiz as correções que vocês indicaram, mas continua com o erro, e na mesma linha...Oque faço??? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Setembro 11, 2005 Denunciar Share Postado Setembro 11, 2005 A função expoente() *ainda* está errada. Qual o tipo de retorno ali? void? Você não deveria retornar um inteiro? E cadê o "return"?Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Adilson_Max
// Programa para cálculo da Constante de Euler.
// e(x) = 1 + x + X(2) + X(3) + X(4).....
// 2! 5! 7!
#include<conio.h>
#include<stdio.h>
#include<math.h>
int prec,cont=1,pre=1,con=2,num;
int ex,ex1=0,precis;
void expoente();
void fatorial();
void linha();
main()
{
linha();
printf ("\n\n\t <- Programa Para Calculo da Constante de Euler -> ");
linha();
printf ("\n\n\n\n Digite o valor Para Para Calcular a Constante 'e(x)'...: ");
scanf ("%i",&num);
printf ("\n\n Digite o numero de casas decimais desejadas na resposta....: ");
scanf ("%i",&prec);
while (cont<=prec)
{
precis=pre/10;
cont++;
pre=precis;
}
ex=1+num;
while (ex1>=precis)
{
ex1=ex;
ex=ex+expoente(num, con)/fatorial(con);
con++;
ex1=ex-ex1;
}
printf ("\n\n\ O valor da contante de %d e...: ",num,ex);
printf ("\n Foram necessárias %d Interações Para Chegar a Precisao Desejada. ",con);
linha();
getch();
}
void linha()
{
int i;
for(i=0;i<80;i++)
printf("\xDB");
}
void expoente()
{
pow(num,con);
}
void fatorial(int con)
}
if ((num==0) || (num==1))
return 1;
else
return num*fat(num-1);
}
Link para o comentário
Compartilhar em outros sites
10 respostass a esta questão
Posts Recomendados
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.