Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- /*Criação da struct que armazena os dados dos pacientes*/
- struct Paciente {
- int id;
- int capacidade;
- int cpf[14];
- int cid[4];
- int crm[5];
- char *nomePaciente[30];
- int codigo;
- int ultimo;
- Paciente* prox;
- };
- /*Insere os dados do paciente dentro da Struct*/
- int inserir(struct Paciente *f, int c, int cpf, int cid, int crm, char* nome, int hash) {
- int tam=0;
- Paciente* p;
- /*O bloco abaixo percorre o "vetor" da struct oara armazenar os dados na ultima posição.*/
- for(p = f; p != NULL; p = p){
- p->crm[5]=crm;
- p->cid[4]=cid;
- p->cpf[14]=cpf;
- p->ultimo++;
- p->codigo=hash;
- p->capacidade=c;
- tam = sizeof(nome);
- /**O bloco abaixo percorre o vetor nome para armazenar os caracteres recebidos na variável nome.*/
- for(int a=0; a<=tam;a++){
- p->nomePaciente[a]=nome;
- }
- p->prox;
- break;
- }
- }
- int estaVazia( struct Paciente *f ) { // retorna verdadeiro se a Paciente está vazia
- return (f->ultimo==0);
- }
- int estaCheia( struct Paciente *f ) { // retorna verdadeiro se a Paciente está cheia
- return (f->ultimo == f->capacidade);
- }
- Paciente* mostrarPaciente(Paciente *f, int consulta){
- Paciente* p;
- int cont, i;
- char teste;
- for(p = f; p != NULL; p = p){
- printf("\nNOME: %s", f->nomePaciente);
- printf("\nCID: %d", p->cid[4]);
- printf("\nCPF: %d", p->cpf[14]);
- printf("\nCRM: %d", p->crm[5]);
- printf("\nCodigo Hash: %d", p->codigo);
- break;
- }
- if (i == f->capacidade)
- i=0;
- printf("\n\n");
- }
- /*O código abaixo gera o código "hash" do programa*/
- int geraCodigo(int cpf){
- int codigo = cpf%1000+cpf;
- return codigo;
- }
- int main () {
- /* Declaração das variáveis*/
- int opcao;
- float valor;
- struct Paciente umaPaciente; //Declaração da variável umaPaciente do tipo Struct Paciente
- int capacidade=1;
- int cpf, cid, crm, consulta;
- char *nome;
- int valida=1;
- /*Fim da declaração das variáveis*/
- while(valida=1){ // enquando a variável valida for igual a , executa as instruções abaixo.
- printf("\n*********MENU**********\n 1- Cadastro\n 2- Buscar\n Opcao: "); // Gera o Menu
- scanf("%d", &opcao);//Le a opção escolhida do Menu
- system ("cls"); //Limpa a tela
- /*No bloco de código abaixo, verifica-se qual o caracter foi digitado para a variável opção
- Caso o caracter seja 1, o programa lê os dados do paciente e guarda na Struct Paciente*/
- switch(opcao){
- case 1:
- system ("cls");
- for(int i=0;i<=capacidade-1;i++){
- printf("CPF: ");
- scanf("%d", &cpf);
- printf("CRM: ");
- scanf("%d", &crm);
- printf("CID: ");
- scanf("%d", &cid);
- printf("Nome: ");
- scanf("%s", &nome);
- int codigo = geraCodigo(cpf);//Chama a funçao que gera o código e armazena o valor retornado na cariável código.
- inserir(&umaPaciente, i, cpf, cid, crm, nome, codigo);//Chama a funçao que guarda os valores lidos acima na Struct
- }
- break;
- case 2: //Consulta os pacientes cadastrados
- printf("Qual CPF do paciente que deseja consultar?");
- scanf("%d", &consulta);
- if(consulta==0){ //Se o CPF digitado for igual a 0, retorna a mensagem que não tem paciente cadastrado e limpa a tela.
- printf("Não existe paciente cadastrado!");
- system ("cls");
- system ("pause");
- }else{ // Senão, chama a função que mostra os dados do paciente na tela.
- mostrarPaciente(&umaPaciente, consulta);
- }
- break;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement