Skip to content

Instantly share code, notes, and snippets.

@alessandrostein
Created June 20, 2019 16:57
Show Gist options
  • Save alessandrostein/908c832d9dcb8c64495405fd1f629d13 to your computer and use it in GitHub Desktop.
Save alessandrostein/908c832d9dcb8c64495405fd1f629d13 to your computer and use it in GitHub Desktop.
#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");
}
}
@alessandrostein
Copy link
Author

You need to use this condition inside the loop, this way:

for (cont=0; cont < total; cont++){
  if(pessoa[cont].status != 0);{
    // print the attributes
  }
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment