Created
April 11, 2016 04:30
-
-
Save lamenezes/624f9a49cf376636efd6d8d4a0803b23 to your computer and use it in GitHub Desktop.
This file contains 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 <stdlib.h> | |
#include <stdio.h> | |
#include <string.h> | |
typedef struct { | |
char nome[40]; | |
char sexo; | |
float peso; | |
char RG[12]; | |
} Pessoa; | |
void cadastra(Pessoa *pessoa) { | |
printf("\n\n\n\n=====> Cadastro de Pessoa <=====\n"); | |
printf("Nome: "); | |
scanf("%s", pessoa->nome); | |
printf("Sexo: "); | |
scanf("\n%c", &pessoa->sexo); | |
printf("Peso: "); | |
scanf("%f", &pessoa->peso); | |
printf("RG: "); | |
scanf("%s", pessoa->RG); | |
} | |
int busca(Pessoa pessoas[], int pessoa_atual, char RG[]) { | |
int i; | |
for(i = 0; i < pessoa_atual; i++) { | |
if(strcmp(pessoas[i].RG, RG) == 0) { | |
return i; | |
} | |
} | |
return -1; | |
} | |
void exibe(Pessoa pessoa) { | |
printf("\n\n\n\n=====> Exibir dados da pessoa <=====\n"); | |
printf(" RG: %s\n", pessoa.RG); | |
printf("Nome: %s\n", pessoa.nome); | |
printf("Sexo: %c\n", pessoa.sexo); | |
printf("Peso: %.2f\n", pessoa.peso); | |
} | |
void calcula_qtd(Pessoa pessoas[], int pessoa_atual, int *qtd_fem, int *qtd_masc) { | |
int i; | |
for(i = 0; i < pessoa_atual; i++) { | |
if(pessoas[i].sexo == 'F') { | |
*qtd_fem += 1; | |
} | |
else if(pessoas[i].sexo == 'M') { | |
*qtd_masc += 1; | |
} | |
} | |
} | |
int main(int argc, char *argv[]) { | |
int opcao, pessoa_atual = 0, pessoa_pos, qtd_fem, qtd_masc, sai = 0; | |
char RG[12]; | |
Pessoa pessoas[100]; | |
while(!sai) { | |
printf("\n\n\n\n=====> ^/*-.-*/^ <=====\n"); | |
printf("1. Cadastro de pessoa\n"); | |
printf("2. Exibir pessoa pelo RG\n"); | |
printf("3. Quantidade de pessoas por sexo\n"); | |
printf("4. Sair\n"); | |
printf("Opcao: "); | |
scanf("%d", &opcao); | |
if(opcao == 1) { | |
cadastra(&pessoas[pessoa_atual]); | |
printf("Cadastrado: %s", pessoas[pessoa_atual].RG); | |
pessoa_atual += 1; | |
} | |
else if(opcao == 2) { | |
printf("Digite o RG: "); | |
scanf("%s", RG); | |
pessoa_pos = busca(pessoas, pessoa_atual, RG); | |
if (pessoa_pos == -1) { | |
printf("Pessoa não cadastrada.\n"); | |
} | |
else { | |
exibe(pessoas[pessoa_pos]); | |
} | |
} | |
else if(opcao == 3) { | |
calcula_qtd(pessoas, pessoa_atual, &qtd_fem, &qtd_masc); | |
printf("\n\n\n\n=====> Quantidades <=====\n"); | |
printf("Qtd fem: %d\n", qtd_fem); | |
printf("Qtd masc: %d\n", qtd_masc); | |
printf("Qtd total: %d\n", qtd_fem + qtd_masc); | |
} | |
else if(opcao == 4) { | |
sai = 1; | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment