Enviado em 08/03/2019 - 17:09h
Em 17/05/2018 eu salvei uma solução aqui do Fórum para estudar posteriormente. Como serviu para mim, serve para muitas outras pessoas também aprenderem!#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define qtde 200
typedef struct{
char cod[qtde];
char nome[qtde];
char id[qtde];
char cpf[qtde];
char end[qtde];
int incluso;
} pac;
pac pacs[qtde];
void opcoes();
void cadastrarpac();
void removerpac();
void editarpac();
void listarpac();
void flush();
int main(){
opcoes();
return 0;
}
// função para o menu
void opcoes(){
int choice;
do{
printf("1.Cadastrar paciente\n2.Editar paciente\n3.Remover paciente\n4.Listar pacientes cadastrados");
printf("\n0.sair\n");
fscanf(stdin, "%d", &choice);
flush();
switch(choice){
case 1:
cadastrarpac();
break;
case 4:
listarpac();
break;
default:
;
}
} while(choice != 0);
}
//função para o cadastro
void cadastrarpac(){
int i;
int op;
for (i = 0; i < qtde; i++) {
system("clear");
printf("Digite o Nome do paciente:\n");
fgets(pacs[i].nome, sizeof(pacs[i].nome) - 1, stdin);
printf("Digite a data de nascimento do paciente(sem pontos ou tracos):\n");
fgets(pacs[i].id, sizeof(pacs[i].id) - 1, stdin);
printf("Digite o CPF do paciente(sem pontos ou tracos):\n");
fgets(pacs[i].cpf, sizeof(pacs[i].cpf) - 1, stdin);
printf("Digite o Endereco do paciente:\n");
fgets(pacs[i].end, sizeof(pacs[i].end) - 1, stdin);
pacs[i].incluso = 1;
printf("1.Fazer um novo cadastro\n0.Sair\n");
fscanf(stdin, "%d", &op);
flush();
if (op == 0) break;
}
}
//função para listar e mostrar na tela os que foram cadastrados
void listarpac(){
system("clear");
int i;
printf("LISTA DE TODOS OS PACIENTES JA CADASTRADOS:\n\n");
for(i=0;i<qtde;++i){
if(pacs[i].incluso==1){
printf("CODIGO: %s\n\n",pacs[i].cod);
printf("NOME: %s\n\n",pacs[i].nome);
printf("DATA DE NASCIMENTO: %s\n\n",pacs[i].id);
printf("CPF: %s\n\n",pacs[i].cpf);
printf("ENDERECO: %s\n\n",pacs[i].end);
}
}
}
void flush() {
char c;
while ((c = getchar()) != '\n' && c != EOF) { }
}