Este repositório tem por objetivo armazenar os códigos elaborados no Trabalho de Programação da disciplina de Estruturas de Dados [2024/2], ministrada pelo Prof. Thiago M. Paixão (@thiagopx).
- Pedro Renã da Silva Moreira: @Pedrordsm
- Tertuliano dos Santos Junior: @tertulho
O trabalho prático de programação consiste em implementar um sistema (simplificado) de gerenciamento de dados de pacientes de uma clínica em linguagem C. Os dados são armazenados (persistidos) em um arquivo texto CSV e carregados em uma estrutura de dados específica (memória) para execução do sistema. O sistema deve permitir cadastro de pacientes, consulta, atualização e exclusão de registros.
A especificação completa do trabalho pode ser lida acessando o arquivo trabalho-prático.pdf
Certifique-se de conter pré-instalado em seu sistema um compilador C (por exemplo, GCC).
Para instalar o programa em seu computador, siga os passos a seguir:
- Clone o repositório em seu Desktop e salve-o no local desejado:
git clone https://github.com/tertulho/Trabalho_Est- Abra seu terminal, escreva
cde cole o caminho no qual o repositório está salvo.
cd C:\Users\NomedoUsuario\Documents\trabalho\sistema_pacientes
- Compile o código e execute-o digitando o seguinte comando:
make
Como resultado, serão gerados os arquivos programas_c.exe, main_trab_est.o e paciente_func.o.
O trabalho conta com os principais arquivos:
bd_paciente.csv: contém nosso banco de dados de pacientes, com seus respectivos ids, nomes, CPF, idade e data de cadastro.paciente_func.c: contém as principais funções que simulam a interação com o banco de dados.paciente_func.h: contém o cabeçalho das funções e os structs utilizados.main_trab_est.c: contém o funcionamento principal do sistema, utilizando as funções criadas.
Ao executar o programa, o banco de dados do arquivo csv é carregado e o usuário se depara com 6 opções:
- Consultar paciente: A funcionalidade permite buscar as informações de um paciente utilizando Nome ou CPF.
A saída do programa para consulta segue o padrão a seguir:
Escolha uma das opcoes :
c -> consultar buscando pelo cpf
n -> buscar usando o nome
outra entrada retorna ao menu inicial
n
digite o nome desejado : pedro
ID | CPF | Nome | Idade | Data Cadastro
20 | 12345678910 | pedro | 12 | 2003-02-20
- Atualizar paciente: A funcionalidade de atualização permite modificar os dados de um paciente existente no sistema.
A saída do programa para atualizar o paciente segue o padrão a seguir:
Digite o ID do paciente a ser atualizado: 4
Escolha uma das letras abaixo para modificar um dado:
n -> para atualizar o nome
i -> para atualizar a idade do paciente
c -> para atualizar o cpf
d -> para atualizar a data de cadastro
Q -> para finalizar a alteração dos dados
- Remover paciente: A funcionalidade de remoção permite excluir um paciente existente no sistema de forma definitiva.
A saída do programa para excluir o paciente segue o padrão a seguir:
Digite o ID do paciente a ser removido:
4
Tem certeza de que deseja excluir o registro abaixo? (S/N)
ID CPF Nome Idade Data_Cadastro
4 65465465465 Paixão 36 2024-01-24
S
Paciente removido com sucesso!
- Inserir paciente: A funcionalidade de inserção permite adicionar um novo paciente ao sistema.
A saída do programa para inserir o paciente segue o padrão a seguir:
Digite o CPF, Nome, Idade e Data_Cadastro:
65465465465
Paixão
36
2024-01-24
Confirma a inserção do registro abaixo? (S/N)
ID CPF Nome Idade Data_Cadastro
23 65465465465 Paixão 36 2024-01-24
S
Paciente inserido com sucesso!
- Imprimir lista de pacientes: A funcionalidade de impressão de lista permite exibir todos os registros de pacientes armazenados no sistema.
A saída do programa para imprimir a lista de pacientes segue o padrão a seguir:
ID | CPF | Nome | Idade | Data Cadastro
------------------------------------------
23 | 65465465465 | Paixão | 36 | 2024-01-24
21 | 78945678910 | josue | 22 | 2015-02-08
20 | 12345678910 | pedro | 12 | 2003-02-20
19 | 12345678901 | João Silva | 30 | 2024-02-07
18 | 98765432100 | Maria Oliveira | 25 | 2024-02-06
- Sair: A funcionalidade encerra o funcionamento do programa atualizando o banco de dados.