Ir ao conteúdo
  • Cadastre-se

Problema no printf (Linguagem C)


Felipe Bergamin

Posts recomendados

Boa tarde, pessoal.

To com um problema em um exercício aqui na linguagem C que não consigo resolver e não acho uma solução.

É o seguinte código...


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

void main(void) {
double rserie, rfuncao, dif;
long int den;
int i, expoente, x, fat;
float sinal;

printf("\nInforme o valor de x: ");
scanf("%d", &x);

rfuncao = cos(x);

rserie = 1.0; den = 2; i = 1;
expoente = 2; sinal = -1.0; fat = 2;

for(i = 1; i <= 20; i++) {
//printf("\n exp(%d * log(%d)) / %ld", expoente, x, den);
rserie = rserie + (exp(expoente * log(x)) / den) * sinal;
expoente += 2;
den *= ++fat; den *= ++fat;
sinal = -sinal;
}

dif = rserie - rfuncao;
if(dif < 0) dif = -dif;
printf("\nValor calculado na serie: %.3lf", rserie);
printf("\nValor da funcao: %.3lf", rfuncao);
printf("\nDiferenca entre resultado da funcao e da serie: %.3lf", dif);

getch();
}

Ele calcula o cosseno de x através da função da linguagem C e calculando os 20 primeiros termos de uma série matemática.

Mas o problema é na hora de imprimir os resultados. Nas seguintes linhas:


printf("\nValor calculado na serie: %.3lf", rserie);
printf("\nDiferenca entre resultado da funcao e da serie: %.3lf", dif);

No lugar do número ele imprime: -1.#IO

Como eu estou começando com a linguagem C, não tenho ideia de qual o problema. Tentei pesquisar na internet, mas não encontrei problemas assim. Não sei se está estourando o valor máximo das variáveis, ou se eu to usando caractere de controle errado. %lf é para double, certo?

Alguém pode me ajudar a resolver isso?

Link para o comentário
Compartilhar em outros sites

Olá Felipe,

para imprimir dados do tipo double na tela você só precisa usar o parâmetro %f.

Tente usar assim a função:

        printf("\nValor calculado na serie: %0.3f", rserie);
printf("\nDiferenca entre resultado da funcao e da serie: %0.3f", dif);

Abraços. ^_^

Mudei, mas o problema continua, guivaldevieso

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para 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...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!