• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

mnh00

[PROBLEMA] Ajuda em cálculo (C)

5 mensagens neste tópico

Ora viva!

Estou a tentar fazer o calculo de uma prestação, com uma taxa fixa e no final o valor da dívida terá de dar 0€ ou perto disso (1€ ou 2€).  :eek:

Podem ajudar-me??

Agradeço a quem me ajudar

#include <stdio.h>

double calc_prestacao(int emprestimo,int tempo,float juro)
{
int i;	
double prestacao;
float divida_actual,divida_ant;
prestacao=emprestimo/tempo;
divida_ant=emprestimo;
divida_actual=emprestimo;
while(divida_actual>0)
{
	for(i=0;i<=tempo;i++)
	{
		divida_actual=divida_ant*(1+juro)-prestacao;
		divida_ant=divida_ant-divida_actual;	
		printf("prest: %.2f\n",divida_ant);	
	}
	if(divida_actual>0)
		prestacao+=0.1;
		printf("%.2lf\n",prestacao);
}
return prestacao;
}	

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

É "URGENTE"? Eu por 100€ resolvo-te isso, pagamento antecipado e com factura.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Já alterei o título, ficou incompleto...

Sempre li neste fórum o pessoal a ajudar quem tem dúvidas e problemas. Apesar de só hoje me ter registado já conheço este fórum há mais de um ano, inclusive acompanho as revistas.

Se puderes e quiseres ajudar, agradeço.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Já resolvi, fiz muito menos cálculos que tu, é bastante simples olha:

A função apenas tem de fazer:

double fun(int emprestimo, int tempo, float juro)
{
       float divida, prest, p_prest;
       
       //Estes são simples cálculos de contabilidade:
       divida = emprestimo;
       prest = emprestimo/tempo; //Devide-se aquilo que se quer pagar em prestações.
       p_prest = (prest*juro)+prest;//Calcula-se essa mesma prestação com o acréscimo dos juros.
       
       while(tempo > 0)//Pode-se apenas decrementar o tempo até ele se esgote.
       {
                    printf("%f\n", p_prest);
                    tempo--;
       }

       return p_prest; // retorna-se a prestação.
}

Espero ter-te ajudado a perceber o que fiz e que isto te tenha ajudado, abraços

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Obrigado pela tua ajuda, foi muito útil. No entanto acabei por fazer de forma diferente.

void proc_dados(int emprestimo, int tempo, float juro) // Função para processar os dados inseridos no programa pelo utilizador
{
int i; // Declaração de variáveis
float juro_p,divida_actual=0,divida_ant=0,prestacao; // Declaração de váriáveis, iniciando-se a 0, excepto a prestação e juro_p
prestacao=emprestimo/tempo; // Cálculo da prestação, dividindo o valor do empréstimo pelo número de meses inserido
juro_p=(emprestimo*juro/tempo); // Cálculo dos juros
prestacao+=juro_p; // Valor da prestação com juros
divida_ant=juro_p*tempo;
divida_actual=emprestimo*juro;
for(i=1;i<=tempo&&divida_ant>0;i++)
	{
		divida_actual=divida_ant-juro_p;
		divida_ant=divida_actual;
		gotoxy(18,10+i); printf("%d",i);
		gotoxy(26,10+i); printf("%.2f\n", divida_ant+emprestimo/tempo*(tempo-i));
		gotoxy(40,10+i); printf("%.2f",(prestacao-juro_p));
		gotoxy(56,10+i); printf("%.2f",prestacao);
		gotoxy(70,10+i); printf("%.2f",juro);
	}
}

Já agora, como faço para enviar os dados via email? Já procurei um código mas tinha mais de 200 linhas de código!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora