1
typedef struct Pessoa {
int id_pessoa;
char nome[100];
int idade;
float peso;
}PESSOA;
//FUNÇÃO PARA PEDIR OS DADOS DA PESSOA
PESSOA DadosPessoa(int nrpessoas)
{
PESSOA *pessoa = (PESSOA *)malloc(sizeof(struct Pessoa));
printf("\nID? ");
scanf_s(" %d", &pessoa->id_pessoa);
//printf("Nome? ");
//scanf_s(" %s", pessoa->nome); //NÃO ESTÁ A ADICIONAR NA ESTRUTURA O NOME
printf("Idade? ");
scanf_s(" %d", &pessoa->idade);
printf("Peso? ");
scanf_s(" %f", &pessoa->peso);
printf("-------------||------------||--------------\n");
return *pessoa;
}
void AdicionarPessoa(PESSOA *pessoa, int nrpessoas) {
for (int i = 0; i < nrpessoas; i++)
{
*(pessoa + i) = DadosPessoa(nrpessoas);
}
}
void MostrarPessoa(PESSOA *pessoa, int nrpessoas) {
if (nrpessoas == 0)
{
printf("\nNao existe nenhuma pessoa inserida");
}
else
{
int nrdapessoa;
printf("\nID'S EXISTENTES: \n");
for (int i = 0; i < nrpessoas; i++)
{
printf("ID: %d |", (pessoa + i)->id_pessoa);
}
printf("\n-------------||------------||--------------");
printf("\nQual e o ID que deseja consultar?\n");
scanf_s("%d", &nrdapessoa);
for (int i = 0; i < nrpessoas; i++)
{
if ((pessoa + i)->id_pessoa == nrdapessoa)
{
printf("ID: %d\n", (pessoa + i)->id_pessoa);
//printf("NOME: %s \n", (pessoa + i)->nome); // NÃO ESTÁ A INSERIR LOGO NÃO MOSTRA :(
printf("IDADE: %d anos\n", (pessoa + i)->idade);
printf("PESO: %.2f Kg", (pessoa + i)->peso);
}
}
}
}
char Menu() {
char opcao;
do
{
printf("\n-------------||------------||--------------");
printf("\n1 - Adicionar Pessoa");
printf("\n2 - Editar Pessoa");
printf("\n3 - Apagar Pessoa");
printf("\n4 - Mostrar Pessoa");
printf("\n0 - Sair");
printf("\nOpcao?-> ");
scanf_s(" %c", &opcao);
printf("-------------||------------||--------------");
} while (opcao <'0' || opcao >'4');
return opcao;
}
int main() {
PESSOA *pessoa = (PESSOA *)malloc(sizeof(struct Pessoa));
int nrpessoas=0;
char opcao;
do
{
opcao = Menu();
switch (opcao) {
case '1':
printf("\nNumero de pessoas? ");
scanf_s("%d", &nrpessoas);
printf("-------------||------------||--------------");
AdicionarPessoa(pessoa, nrpessoas);
break;
case '2':
//EditarPeso(pessoa, nrpessoas);
break;
case '3':
break;
case '4':
MostrarPessoa(pessoa, nrpessoas);
break;
}
} while (opcao != '0');
return 0;
}