# PIM 1
## Coisas para fazer
### Programa em C
Telas:
* LOGIN - Vai apenas faze autenficação
* Funcionarios - CRUD BASICO (CRIAR, DELETAR, PESQUISAR, ATUALIZAR) - Jorge
* PACIENTE - CRUD BASICO (CRIAR, DELETAR, PESQUISAR, ATUALIZAR)
* CONSULTAS - CRUD BASICO (CRIAR, DELETAR, PESQUISAR, ATUALIZAR)
* EXAME - CRUD BASICO (CRIAR, DELETAR, PESQUISAR, ATUALIZAR)
* CONFIGURAÇÃO (Descutir ainda as configurações que vao poder ser feitas)
* MEDICOS - CRUD BASICO (CRIAR, DELETAR, PESQUISAR, ATUALIZAR) - Andrei
* AVALIAÇÃO - CRUD BASICO (CRIAR, DELETAR, PESQUISAR, ATUALIZAR)
PACIENTE, CONSULTAS, EXAMES, MEDICOS, AVALIAÇÃO - cada um deles
vao possuir Um struct com as informações necessarias.
> obs: As funções que vão executar as terefas de buscar/criar/deletar/pesquisar
> iremos fazer juntos pq assim da pra todos aprender como é feito tal coisa : D
[Link do projeto em C](https://repl.it/join/qfwxyjjf-andreixhz)
#### funções de apoio
```c
// Cria uma opção
void opcao(char n[20], int t){
printf("%d | %s \n", t, n);
}
//Saida
// 1 | Opção
void crud(){
opcao("Listar", 1);
opcao("Buscar", 2);
opcao("Cadastrar", 3);
opcao("Deletar", 4);
}
//Saida
// 1 | Listar
// 2 | Buscar
// 3 | Cadastrar
// Diminui tamanho de codigo para pegar um numero que foi escrito
int escolha_numero(){
int i;
printf("\nescolha uma opção: ");
scanf("%d", &i);
return i;
}
//Saida
//nescolha uma opção: 1? 2? 3?
void titulo(char titulo[20]){
printf("-------------------------------\n");
printf("%s\n", titulo);
printf("-------------------------------\n");
}
//Sai um titulo bonitinho pra usar basta: titulo("Titulo");
```
> caso tenha alguma função que queira colocar aqui so comentar sobre ela :v
#### Exemplo de tela com as funções acima
```c
void tela_administrar(){
//titulo bonitinho que vai ser arrumado ainda :v
titulo("Inicio");
// Opções
opcao("Funcionarios", 1);
opcao("Medicos", 2);
opcao("Operar", 3);
opcao("Configuração", 4);
// ai que entra o escolha numero pra pedir pra escrever um numero.
switch(escolha_numero()){
case 1:
currentMenu = 2;
break;
case 2:
currentMenu = 3;
break;
case 3:
currentMenu = 4;
break;
}
}
```
> saida:

> [name=obs] System | admin : não consta no codigo acima.
## Programa
### Funcionarios
* Criar funcionarios
* Deletar por cpf
* buscar por cpf
* listar (maximo 15 por pagina)
### Medicos
* Criar medicos
* Deletar por cpf
* buscar por cpf
* listar (maximo 15 por pagina)
### paciente
* Criar paciente
* Deletar por cpf
* buscar por cpf
* listar (maximo 15 por pagina)
### consulta
* Criar consulta
* Deletar por cpf
* buscar por cpf
* listar (maximo 15 por pagina)
> obs: Pra cada consulta quer for criada, ela exige o cpf do funcionario que criou + o cpf do paciente + o cpf do medico que vai anteder, para poder ter u controle maior
-- cada um desses itens vão ter um fluxograma, uml e classe
-- cada função vai ter que ter uma tela usando o padrao acima.
-- Vai ser criado pra cada classe acima, alem das funções seus structs.
-- pra cada classe vai ter que ser salva em um arquivo com seu nome
## Documento PIM
Fazer manual de uso.
Treinamento de usuario.
Parte de redes.
Fluxogramas do programa e UML's.
Gráfico relatando o antes e depois de procedimento de cadastro.
### Versão 1
Criação de pacientes, busca, edição;
Agendamento de Consultas, busca e criação;
### Versão 2
[versao 1]
Login
Criação de funcionarios
Criação de medicos
tipo de consulta
melhorias em tela
#### IMPORTANTE: ver se todos estão de acordo com os item lista, e revisar pra caso de melhoria ou adição de mais itens pra mais notas : D