Código:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
void price();
void constante();
void vpl();
int main(){
int opcao, sair=1;
while(sair != 0){
system("cls");
printf("\n\n####### FATEC OURINHOS #######");
printf("\n\nDesenvolvedor- Diego.");
printf("\n\n\n\nEscolha a Opcao Desejada Abaixo:\n");
printf("\n1 - Sistema de Amortizacao(PRICE)");
printf("\n2 - Sistema de Amortizacao(Constante)");
printf("\n3 - Valor Presente(VPL)");
printf("\n0 - Sair do Sistema");
printf("\n\nInsira a Opcao Desejada: ");
scanf("%d", &opcao);
switch(opcao){
case 1:
price();
break;
case 2:
constante();
break;
case 3:
vpl();
break;
case 0:
sair=0;
system("cls");
printf("\n\n\n\n\n\n\n\n Saindo!\n\n\n\n");
system("pause");
break;
default:
printf("\nOpcao invalida!!\n");
system("pause");
break;
}//FIM SWITCH
}//FIM WHILE
}// FIM MAIN
void price(){
float taxa_de_juros,juros, amortizacao, saldo_devedor,sdi, prestacao;
int n,a, i=0,sn;
system("cls");
printf("\n\n\n--Sistema de Amortizacao(PRICE)--\n\n\n");
printf("Insira o valor do saldo devedor/emprestimo: ");
scanf("%f",& saldo_devedor);
printf("\nNumero de parcelas: ");
scanf("%d",& n);
printf("\nInsira a taxa de juros ao mes.(Porcentagem): ");
scanf("%f",& taxa_de_juros);
taxa_de_juros = taxa_de_juros/100;
sdi=saldo_devedor;
prestacao = (taxa_de_juros/(1- pow(1+taxa_de_juros,-n)))*saldo_devedor;
printf("| n |\t Parcela |\t Juros |\t Amortizacao |\t Saldo Devedor |\n");
printf("| %d |\t ------- |\t ----- |\t ----------- |\t %.2f |\n",i,saldo_devedor);
for(i=1;i<=n;i++){
juros = saldo_devedor * taxa_de_juros;
amortizacao = prestacao - juros;
saldo_devedor = saldo_devedor - amortizacao;
printf("| %d |\t %.2f |\t %.2f |\t %.2f |\t %.2f |\n",i,prestacao,juros,amortizacao,saldo_devedor);
}
do {
printf("\n\nDeseja retirar ou quitar o debito anteriormente a parcela final <S/N>? \n");
printf("\t1 - SIM ");
printf("\t2 - NAO \n");
scanf("%d",&sn);
if(sn!= 1 && sn!=2) printf("\nOpcao Invalida\n");
}while(sn!=1 && sn!=2);
if(sn == 1){
do{
printf("\nInsira o numero da parcela em que deseja quitar o debito: ");
scanf("%d",&a);
if(a<1 || a>n) printf("Numero Invalido.");
}while(a<1 || a>n);
system("cls");
saldo_devedor = sdi;
prestacao = (taxa_de_juros/(1- pow(1+taxa_de_juros,-n)))*saldo_devedor;
i=0;
printf("\n| n |\t Parcela |\t Juros |\t Amortizacao |\t Saldo Devedor |\n");
printf("| %d |\t ------- |\t ----- |\t ----------- |\t %.2f |\n",i,saldo_devedor);
for(i=1;i<a;i++){
juros = saldo_devedor * taxa_de_juros;
amortizacao = prestacao - juros;
saldo_devedor = saldo_devedor - amortizacao;
printf("| %d |\t %.2f |\t %.2f |\t %.2f |\t %.2f |\n",i,prestacao,juros,amortizacao,saldo_devedor);
}
i = a;
juros = saldo_devedor * taxa_de_juros;
prestacao = juros + saldo_devedor;
amortizacao = saldo_devedor;
saldo_devedor = saldo_devedor - amortizacao;
printf("| %d |\t %.2f |\t %.2f |\t %.2f |\t %.2f |\n\n",i,prestacao,juros,amortizacao,saldo_devedor);
}
if(sn == 2)
{
system("cls");
return;
}
system("pause");
}
void constante(){
float taxa_de_juros,juros, amortizacao, saldo_devedor,sdi, prestacao;
int n,sn,a,i=0;
system("cls");
printf("\n\n\n--Sistema de Amortizacao(Constante)--\n\n\n");
printf("Insira o valor do saldo devedor/emprestimo: ");
scanf("%f",& saldo_devedor);
printf("\nNumero de parcelas: ");
scanf("%d",& n);
printf("\nInsira a taxa de juros ao mes.(Porcentagem): ");
scanf("%f",& taxa_de_juros);
sdi=saldo_devedor;
taxa_de_juros = taxa_de_juros/100;
amortizacao = saldo_devedor/n;
printf("| n |\t Parcela |\t Juros |\t Amortizacao |\t Saldo Devedor |\n");
printf("| %d |\t ------- |\t ----- |\t ----------- |\t %.2f |\n",i,saldo_devedor);
for(i=1;i<=n;i++){
juros = saldo_devedor * taxa_de_juros;
prestacao = amortizacao + juros;
saldo_devedor = saldo_devedor - amortizacao;
printf("| %d |\t %.2f |\t %.2f |\t %.2f |\t %.2f |\n",i,prestacao,juros,amortizacao,saldo_devedor);
}
do {
printf("\n\nDeseja retirar quitar o debito anteriormente a parcela final <S/N>? \n");
printf("\t1 - SIM ");
printf("\t2 - NAO \n");
scanf("%d",&sn);
if(sn!= 1 && sn!=2) printf("\nOpcao Invalida\n");
}while(sn!=1 && sn!=2);
if(sn == 1){
do{
printf("\nInsira o numero da parcela em que deseja quitar o debito: ");
scanf("%d",&a);
if(a<1 || a>n) printf("Numero Invalido.");
}while(a<1 || a>n);
system("cls");
saldo_devedor = sdi;
prestacao = (taxa_de_juros/(1- pow(1+taxa_de_juros,-n)))*saldo_devedor;
i=0;
printf("\n| n |\t Parcela |\t Juros |\t Amortizacao |\t Saldo Devedor |\n");
printf("| %d |\t ------- |\t ----- |\t ----------- |\t %.2f |\n",i,saldo_devedor);
for(i=1;i<a;i++){
juros = saldo_devedor * taxa_de_juros;
prestacao = amortizacao + juros;
saldo_devedor = saldo_devedor - amortizacao;
printf("| %d |\t %.2f |\t %.2f |\t %.2f |\t %.2f |\n",i,prestacao,juros,amortizacao,saldo_devedor);
}
i = a;
juros = saldo_devedor * taxa_de_juros;
prestacao = juros + saldo_devedor;
amortizacao = saldo_devedor;
saldo_devedor = saldo_devedor - amortizacao;
printf("| %d |\t %.2f |\t %.2f |\t %.2f |\t %.2f |\n\n",i,prestacao,juros,amortizacao,saldo_devedor);
}
if(sn == 2)
{
system("cls");
return;
}
system("pause");
}
void vpl(){
float taxa_de_juros, VPL = 0, VP, FC;
int n, i=0;
system("cls");
printf("\n\n\n--Metodologia do Valor Presente(VPL)--\n\n\n");
printf("\nInsira o Valor do Investimento: ");
scanf("%f",& VP);
printf("\nInsira o numero de fluxos de caixa: ");
scanf("%d",& n);
printf("\nInsira a taxa de juros ao ano.(Porcentagem): ");
scanf("%f",& taxa_de_juros);
taxa_de_juros = taxa_de_juros/100;
VPL = VPL - VP;
printf("\n\n");
for(i=1;i<=n;i++){
printf("Insira o %do Fluxo de Caixa: ",i);
scanf("%f",& FC);
VPL = VPL + FC/pow(1+taxa_de_juros,i);
}
printf("\nO VPL e igual a RS %.2f ",VPL);
if(VPL>0) printf("\n\nO Seu investimento da lucro, por isto deve ser aceito.\n\n");
else printf("\n\nO seu investimento nao da lucro, por isso deve ser rejeitado.\n\n");
system("pause");
}