Jump to content
Fórum Script Brasil
  • 0

Finalizar programa calculo financiamento


Programa Financiamento C
 Share

Question

Boa tarde galera, preciso da ajuda de vocês pra finalizar um trabalho de faculdade. tenho o programa quase pronto, mas para finaliza-lo preciso arrumar um "problema". o programa roda certinho. esse programa ele pergunta se o objetivo é carro ou moto, ano, marca, modelo, valor entrada e parcela. eu preciso que ele faça a seguinte condição automática e já mostre o valor da parcela: se o valor da entrada for >= que valor do veiculo multiplique por 60%. preciso que o valor total divida automaticamente por 12! so que não está fazendo automático, estou tendo que digitar o valor da parcela pra ele fazer o calculo. segue o programa em anexo.

#include <stdio.h>

#include <stdlib.h>
#include <conio.h>
main()
{
int ano,esc,parcela; // Ano do Carro
float valordoveiculo,valordaentrada,saldo,vf,vsj,valortotal,taxa;//valores totais
char MD,MC;// Modelo do carro
do{
printf("\n1-Carro 2- Moto\n");
scanf("%d",&esc);
}
while(esc < 1 || esc > 2);
do{
printf("ANO DO VEICULO \n");
scanf("%d",&ano);
}
while(ano < 2004 || ano > 2015);
fflush(stdin);
printf("MARCA DO VEICULO\n");
scanf("%c",&MD);
fflush(stdin);
printf("MODELO DO VEICULO\n");
scanf("%c",&MC);
fflush(stdin);
printf("VALOR DO VEICULO A SER FINANCIADO\n");
scanf("%f",&valordoveiculo);
printf("VALOR DA ENTRADA\n");
scanf("%f",&valordaentrada);
printf("QUANTIDADE DE PARCELAS\n");
scanf("%d",&parcela);
saldo=(valordoveiculo-valordaentrada); // valor a ser financiado.
if(esc==1)//carro
{
if(ano >=2004 || ano<=2009)
{
if(parcela==24)
{
vsj=saldo/24;
vf=(saldo/24)*0.012+vsj;
valortotal=(24*vf)+valordaentrada;
fflush(stdin);
printf(" O VALOR DA PARCELA E %f \n",vf);
fflush(stdin);
printf(" O VALOR TOTAL E %f \n",valortotal);
system("pause");
}
if(parcela==36)
{
vsj=saldo/36;
vf=(saldo/36)*0.0125+vsj;
valortotal=(36*vf)+valordaentrada;
}
if(parcela==48)
{
vsj=saldo/48;
vf=(saldo/48)*0.0145+vsj;
valortotal=(48*vf)+valordaentrada;
}
{
if(ano >=2010 || ano<=2014)
{
if(parcela==24)
{
vsj=saldo/24;
vf=(saldo/24)*0.001+vsj;
valortotal=(24*vf)+valordaentrada;
}
if(parcela==36)
{
vsj=saldo/36;
vf=(saldo/36)*0.0115+vsj;
valortotal=(36*vf)+valordaentrada;
}
if(parcela==48)
{
vsj=saldo/48;
vf=(saldo/48)*0.0135+vsj;
valortotal=(48*vf)+valordaentrada;
}
if(ano ==2015)
{
if(parcela==24)
{
vsj=saldo/24;
vf=(saldo/24)*0.0059+vsj;
valortotal=(24*vf)+valordaentrada;
}
if(parcela==36)
{
vsj=saldo/36;
vf=(saldo/36)*0.0079+vsj;
valortotal=(36*vf)+valordaentrada;
}
if(parcela==48)
{
vsj=saldo/48;
vf=(saldo/48)*0.0099+vsj;
valortotal=(48*vf)+valordaentrada;
}
if(valordaentrada>=valordoveiculo*0.6)
{
vf=(saldo/12);
valortotal=(12*vf)+valordaentrada;
printf(" O VALOR DA PARCELA E\n %f\n",vf);
printf(" O VALOR TOTAL E\n %f\n",valortotal);
}
{
if(parcela==24 || parcela== 36 || parcela == 48)
printf(" O VALOR DA PARCELA E\n %f\n",vf);
printf(" O VALOR TOTAL E\n %f\n",valortotal);
system("pause");
}
}
if(esc==2)//moto
if(ano >=2004 || ano<=2009)
{
if(parcela==24)
{
vsj=saldo/24;
vf=(saldo/24)*0.013+vsj;
valortotal=(24*vf)+valordaentrada;
}
if(parcela==36)
{
vsj=saldo/36;
vf=(saldo/36)*0.0135+vsj;
valortotal=(36*vf)+valordaentrada;
}
if(parcela=48)
{
vsj=saldo/48;
vf=(saldo/48)*0.0166+vsj;
valortotal=(48*vf)+valordaentrada;
}
{
if(ano >=2010 || ano<=2014)
{
if(parcela==24)
{
vsj=saldo/24;
vf=(saldo/24)*0.012+vsj;
valortotal=(24*vf)+valordaentrada;
}
if(parcela==36)
{
vsj=saldo/36;
vf=(saldo/36)*0.013+vsj;
valortotal=(36*vf)+valordaentrada;
}
if(parcela=48)
{
vsj=saldo/48;
vf=(saldo/48)*0.014+vsj;
valortotal=(48*vf)+valordaentrada;
}
if(ano ==2015)
{
if(parcela==24)
{
vsj=saldo/24;
vf=(saldo/24)*0.0079+vsj;
valortotal=(24*vf)+valordaentrada;
}
if(parcela==36)
{
vsj=saldo/36;
vf=(saldo/36)*0.0099+vsj;
valortotal=(36*vf)+valordaentrada;
}
if(parcela=48)
{
vsj=saldo/48;
vf=(saldo/48)*0.0105+vsj;
valortotal=(48*vf)+valordaentrada;
{
if(parcela=24 || 36 || 48)
printf(" O VALOR DA PARCELA E\n %f\n",vf);
printf(" O VALOR TOTAL E\n %f\n",valortotal);
system("pause");
}
}}}}}}}}}}
Link to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 0

Olá!

Olha eu sou iniciante em programação e não vou mentir sou pessimo em matematica, então não vou ser util neste programa!

Eu ainda não dei uma boa olha no codigo e por isso não o compreendi muito bem, mas com relação a funçao fflush(stdin); tanto no linux quanto no windows, parece estar causando algum problema na execução do programa, (pelo menos aqui está) não sei se é o seu caso mas de todo modo tente não utiliza-la, pois já li em muitos forums que ela pode apresentar um comportamento indefinido em certos momentos, por isso tente substitui-la por outra função de limpeza de buffer ou mesmo utilizar algum codigo de formatação na função scanf() que faça a limpeza.

Leia este tópico: https://www.scriptbrasil.com.br/forum/topic/179317-ajuda-em-urna-eletronica-em-c/

Tambem vi alguns fflush(stdin); antes de um dos printf() se o objetivo era limpar a tela tente system ("cls");

Tambem tem em alguns ifs (if parcela = 48 ), a não ser que está parte realize alguma tarefa especifica que eu não compreenda, acho que deveria ser if ( parcela == 48 )

Nesta Parte deveria mesmo ser isso? if ( parcela = 24 || 36 || 48 )

Aqui o Compilador deu um Alerta de que a Variavel "taxa" não está sendo utilizada em nenhuma parte do programa.

Bom só posso ir ate aqui por hora, vou tentar dar uma olhada no codigo e caso eu consiga algum resultado, posto amanha!

E se possivel poste alguns dados de como os resultados devem ser mostrados pelo programa, não testei nas exatas condições que você especificou, mas:

carro = 1

ano = 2008

marca = f

modelo = p

valor do financiamento = 25.000

valor da entrada = 500.00

quantidade de parcela = 24

O valor da parcela é - 20.029165

valor total é 19.300034

Acima e Abaixo usando e não usando ( . ) pelo usuario na declaração dos valores, foi falta de atenção minha . . .

O valor da parcela é = 1033

valor total é = 25294

e com relação a moto com os mesmos dados o programa finaliza apos a entrada do numero de parcelas . . .

Ubuntu 14.04 GNU GCC 4.8 Codeblocks 13.12

Espero ter Ajudado ! ! !

Edited by Felipe-Petrópolis
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Forum Statistics

    • Total Topics
      149.8k
    • Total Posts
      646.6k
×
×
  • Create New...