Skip to content

Instantly share code, notes, and snippets.

@lamenezes
Created April 11, 2016 04:30
Show Gist options
  • Save lamenezes/624f9a49cf376636efd6d8d4a0803b23 to your computer and use it in GitHub Desktop.
Save lamenezes/624f9a49cf376636efd6d8d4a0803b23 to your computer and use it in GitHub Desktop.
#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