Created
June 20, 2019 16:57
-
-
Save alessandrostein/908c832d9dcb8c64495405fd1f629d13 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <stdio.h> | |
#include <stdlib.h> | |
#include <conio.h> | |
#include <string.h> | |
#include <locale.h> | |
typedef struct { //struct para armazenar clientes no cadastro | |
char nome[30]; | |
int rg; | |
int telefone; | |
float salario; | |
int status; | |
} Clientes; | |
Clientes pessoa[100]; | |
int total=0; //total de registros | |
int cont=0; //faz a contagem da posiÁ„o de cada cadastro | |
void menu(){ //funÁ„o do menu principal do programa | |
printf ("Bem vindo ao sistema de simulaÁ„o de crÈdito\n\n\n"); | |
printf (" Menu principal\n"); | |
printf ("**************************************** \n"); | |
printf ("* 1 - Cadastro de clientes * \n"); | |
printf ("* 2 - Consulta de clientes * \n"); | |
printf ("* 3 - EmprÈstimo * \n"); | |
printf ("* 4 - Excluir cadastro * \n"); | |
printf ("* 5 - Sair * \n"); | |
printf ("**************************************** \n\n"); | |
printf ("Selecione a opÁ„o desejada: "); | |
} | |
void cadastro_clientes(){ //cadastro de clientes na base | |
//acrescentar validaÁıes de dados | |
pessoa[total].status = 1; | |
printf("Informe o nome: "); | |
gets(pessoa[total].nome); | |
printf("Informe o seu RG: "); | |
scanf("%d",&pessoa[total].rg); | |
printf("Informe o telefone: "); | |
scanf("%d",&pessoa[total].telefone); //registra o telefone junto ao cadastro | |
printf("Informe o salario: "); | |
scanf("%f",&pessoa[total].salario); //armazena informaÁıes na struct agenda | |
getchar(); | |
system("cls"); | |
total++; //faz a contagem dos clientes cadastrados | |
} | |
void base_clientes() { //funÁ„o para consulta de clientes cadastrados | |
printf ("-------------------------------------------- \n"); | |
printf ("| Lista de clientes cadastrados (Total: %d) | \n", total); | |
printf ("-------------------------------------------- \n\n\n"); | |
if (pessoa[cont].status != 0);{ | |
for (cont=0;cont<total;cont++){ | |
printf("Nome: "); | |
puts(pessoa[cont].nome); | |
printf("RG: %d\n", pessoa[cont].rg); | |
printf("Telefone: %d\n", pessoa[cont].telefone); | |
printf("Salario: %.2f\n", pessoa[cont].salario); | |
printf("\n\n"); | |
printf ("-------------------------------------------- \n\n\n"); | |
} | |
} | |
} | |
void emprestimo() { | |
//funÁ„o para efetuar o emprestimo para o cliente, lista cadastrados, solicita o valor a ser emprestado, | |
//faz o calculo de acordo com a renda do cliente, e da o status para o emprestimo (aprovado ou n„o aprovado) | |
char pnome[30]; | |
inicio: | |
printf ("Informe o nome do cliente a efetuar o emprÈstimo: "); | |
gets (pnome); | |
int localizacao_pessoa=0; | |
int encontrou=0; //flag para indicar se o nome foi encontrado | |
printf ("-------------------------------------------- \n"); | |
printf ("| Lista de clientes cadastrados (Total: %d) | \n", total); | |
printf ("-------------------------------------------- \n\n\n"); | |
int linha=0; | |
for (linha;linha < total;linha++){ //variavel conta = total | |
if (strcmp (pnome,pessoa[linha].nome)==0){ //comparador de strings //strcmp string compare | |
printf ("Nome: "); | |
puts (pnome); | |
//imprimir na tela, junto com o nome, o salario do cliente | |
printf("Salario: %.2f\n", pessoa[linha].salario); | |
encontrou = 1; | |
localizacao_pessoa = linha; | |
} | |
} | |
if (encontrou == 0){ | |
printf ("Nome nao encontrado\n\n"); | |
printf ("----------------------------------\n\n"); | |
goto inicio; | |
} else { | |
//Valor que o cliente deseja emprestar | |
float valor_emprestimo; | |
printf("Digite o valor a ser emprestado: "); | |
scanf("%f", &valor_emprestimo); | |
//Solicitar as parcelas disponiveis | |
int parcelas; | |
printf("Digite em quantas parcelas deseja pagar: "); | |
scanf("%d",&parcelas); | |
printf("Voce deseja emprestar o valor de %.2f reais\n",valor_emprestimo); | |
printf("E deseja pagar em %d parcelas\n\n",parcelas); | |
float valor_maximo_parcela; | |
valor_maximo_parcela = (pessoa[localizacao_pessoa].salario * 35)/100; | |
//apresenta o valor maximo de parcela que o cliente pode ter de acordo com a sua renda | |
printf("O valor maximo de parcela e de %.2f reais\n",valor_maximo_parcela); | |
float valor_parcela; | |
valor_parcela = valor_emprestimo/parcelas; | |
printf("O valor da parcela ser· de %.2f\n",valor_parcela); | |
if (valor_parcela>valor_maximo_parcela){ | |
printf("Emprestimo recusado\n\n"); | |
} | |
else { | |
printf("Emprestimo aprovado\n\n"); | |
} | |
} | |
} | |
void inativar_cadastros() { //funÁ„o para inativar cadastro******************************************************************************************** | |
int cont = 0; | |
char resp; | |
int rg; | |
printf("\nEntre com o RG do registro que deseja excluir: \n"); | |
scanf("%d", &rg ); | |
while ( cont <= 200 ) | |
{ | |
if ( pessoa[cont].rg == rg ) | |
{ | |
if (pessoa[cont].status == 1 ) // SE A PESSOA ESTA ATIVA, ELE PASSA PARA EXCLUS√O | |
{ | |
printf("\nNome: %s", pessoa[cont].nome); | |
getchar(); | |
printf("\nDeseja realmente exlucir? s/n: "); | |
scanf("%s",&resp); | |
getchar(); | |
if ( ( resp == 'S' ) || ( resp == 's' ) ) | |
{ | |
pessoa[cont].status = 0; // AP”S EXCLUS√O ELE RECEBE O N∫ 0 - COMO FORMA DE IDENTIFICAR O CADASTRO INATIVO | |
//pessoa[cont].rg = NULL; | |
//pessoa[cont].nome = NULL; | |
//pessoa[cont].telefone = NULL; | |
//pessoa[cont].salario = NULL; | |
printf("\nExclusao feita com sucesso\n"); | |
break; | |
} | |
else | |
{ | |
if ( ( resp == 'N' ) || ( resp == 'n' ) ) | |
{ | |
printf("Exclusao cancelada!\n"); | |
break; | |
} | |
} | |
} | |
} | |
cont++; | |
if ( cont > 100 ) | |
printf("\nCodigo nao encontrado\n"); | |
} | |
system("pause"); | |
system("cls"); | |
} | |
main () { | |
system("color 1f"); | |
setlocale(LC_ALL, "Portuguese"); //definir idioma portugues para uso de caracteres especiais | |
int opcao; | |
inicio: | |
menu(); //chamada da funÁ„o de menu, para acessar opÁıes do sistema | |
opcao = getch(); | |
system ("cls"); | |
switch (opcao){ | |
case '1': //OpÁ„o para cadastro de clientes | |
system("cls"); | |
cadastro_clientes(); | |
goto inicio; | |
break; | |
case '2': //OpÁ„o para consulta de clientes | |
system("cls"); | |
base_clientes(); | |
goto inicio; | |
break; | |
case '3': //OpÁ„o para realizar o emprestimo | |
system("cls"); | |
emprestimo(); | |
break; | |
case '4': //OpÁ„o inativar cadastro | |
system("cls"); | |
inativar_cadastros(); | |
goto inicio; | |
break; | |
case '5': //OpÁ„o para sair do programa | |
printf("Obrigado por utilizar nosso programa\n\n\n"); | |
system("pause"); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
You need to use this condition inside the loop, this way: