Informática, perguntado por martinellebmp6unbc, 1 ano atrás

Galera, estou com dificuldades para entender a lógica por trás desse disso. Alguém poderia me ajudar? Devo programar isso em C. Não precisa me enviar resposta pronta, até porque eu quero aprender! Só não entendi mesmo a proposta.

Descrição:

Escreva um programa que determine qual é o valor mensal da parcela do empréstimo que um banco pode autorizar. Para isso, o programa precisa do valor do salário e de quanto a renda mensal já está comprometida com outros empréstimos. Considere que o limite de comprometimento do salário é de 30%. O programa deve calcular e mostrar na tela qual o limite disponível da parcela mensal do novo empréstimo. Fique atento porque a renda mensal comprometida já pode exceder os 30% e neste caso o limite disponível da parcela mensal será zero.

Formato de entrada:

A entrada consiste de 2 números reais (ponto flutuante). Na primeira linha, o salário, e na segunda linha, o valor já comprometido da renda mensal.


Formato de saída:

A saída consiste de uma linha contendo um número real (ponto flutuante) com 2 casas decimais que informa o valor máximo da parcela mensal (descontando o que já está comprometido).

Soluções para a tarefa

Respondido por bokomoko
2
a regra diz que o valor máximo que pode ser comprometido é 30% do valor do salário. 

São dados dois valores, o valor do salário e o valor comprometido

Por exemplo, se Manoel ganha 2000 reais e tem comprometido 120 reais, quanto % ele tem comprometido ? a dúvida sua é mais de % do que de programaçào, percebe ? 

120 dividido por 2000 dá 0,06 que é igual a 6/100 = 6% 

Como o máximo de comprometimento é 30% significa que ainda pode comprometer 24% dos 2000 que é igual a 
24% de 2000 = 24% * 2000 = 24/100 * 2000 = 24 * 20 = 480 reais
Ou seja, ele pode pegar um novo empréstimo cuja prestaçào seja menor ou igual a 480.

Então 
obter o valor do salário
obter o valor já compremetido
calcular quanto % é esse comprometimento (dividir o valor comprometido pelo valor do salário)
Se o % for menor do que 0,3 (que é o mesmo que 30/100 = 30%) 
   subtrair de 0,3 o % calculado
    multiplicar pelo salário
   terá o valor da prestacão possível
senao
   o funcionário não pode mais tomar empréstimo consignado




martinellebmp6unbc: Ficaria assim então?

#include
#include
#include

int main(int argc, char** argv)
{
setlocale(LC_ALL,"");

float salario,renda,resultado;


printf("Digite o seu salário:\n");
scanf("%f",&salario);
printf("Digite o valor da renda mensal comprometida:\n");
scanf("%f",&renda);

resultado = (salario*0.3)-renda;

if(resultado<0){

printf("\nO limite disponível da parcela mensal é zero.\n");

}

else{

printf("\nO valor máximo da parcela mensal é: R$%.2f\n",resultado);
}
}
bokomoko: agora tá certíssimo :) e ficou massa ! Parabens
bokomoko: a mensagem de "o limite disponível da parcela é zero" poderia ser trocada por "O limite disponível já foi utilizado"
bokomoko: porque a rigor, ele nào é zero, ele é < 0, como o próprio if testa
bokomoko: aprendi com você o truque da formatação %.2f ... obrigado !
martinellebmp6unbc: Opa, muito obrigado mesmo pela ajuda! Eternamente grato por isso amigo. Valeu!
martinellebmp6unbc: Então o código final já com a correção da frase ficou da seguinte maneira:
martinellebmp6unbc: #include
#include
#include
#include
#include

int main(int argc, char** argv){

float salario,renda,resultado;
char opcao;
martinellebmp6unbc: do{

setlocale(LC_ALL,"");

printf("////////// Bem vindo ao programa de Análise de Crédito! ////////// \n\n");

printf("Digite o seu salário: ");
scanf("%f",&salario);

printf("\nDigite o valor da renda mensal comprometida: ");
scanf("%f",&renda);

resultado = (salario*0.3) - renda;
martinellebmp6unbc: if(resultado<0){

printf("\n\nO limite disponível já foi utilizado.");

}

else{

printf("\nO valor máximo da parcela mensal é: R$%.2f\n",resultado);
}


printf(" \n\n\nVocê fazer uma nova análise? [s/n]: "); //
scanf("%s", &opcao);

system ("cls");



}while((opcao=='S')||(opcao=='s'));

return 0;

}
Perguntas interessantes