- #include<stdio.h>
- #include<string.h>
- struct data{
- int dia;
- int mes;
- int ano;
- };
- struct paciente{
- int cod_paciente;
- char nome[81];
- char endereco[81];
- char convenio[81];
- int rg;
- int cpf;
- int idade;
- int telefone;
- struct data dia;
- };
- struct medico{
- int cod_medico;
- char nome[81];
- char especialidade[21];
- int rg;
- int cpf;
- int idade;
- struct data dia;
- };
- struct consulta{
- int cod_consulta;
- int cod_medico;
- int cod_paciente;
- char diagnostico[201];
- char motivo[100];
- struct data dia;
- };
- struct resultado{
- int cod_resultado;
- int cod_paciente;
- int cod_exame;
- int data;
- char descricao[201];
- struct data dia;
- };
- struct exame{
- int cod_exame;
- int cod_consulta;
- char tipo[201];
- struct data dia;
- };
- main(){
- struct paciente lista_paciente[1000];
- struct medico lista_medico[100];
- struct consulta lista_consulta[200];
- struct resultado lista_resultado[1000];
- struct exame lista_exame[500];
- int indice_paciente;
- int indice_medico;
- int indice_consulta;
- int indice_resultado;
- int indice_exame;
- int opcao;
- int i;
- char temp[256];
- char buffer[256];
- indice_paciente = 0;
- indice_medico = 0;
- indice_consulta = 0;
- indice_resultado = 0;
- indice_exame = 0;
- while(1==1){
- puts("__________________________________________________________________");
- puts("\t\tSISTEMA DE CLINICA MEDICA");
- puts("\n1 - Cadastrar Paciente");
- puts("2 - Listar Pacientes");
- puts("3 - Cadastrar Medico");
- puts("4 - Listar Medicos");
- puts("5 - Dar entrada na Consulta");
- puts("6 - Listar Consulta");
- puts("7 - Entrar com o Resultado");
- puts("8 - Listar Resultados");
- puts("9 - Entre com o Exame");
- puts("10 - Listar Exames");
- puts("11 - Procurar Pessoa");
- puts("12 - Alterar Cadastro");
- puts("99 - Sair");
- puts("__________________________________________________________________");
- printf("\nEscolha a opcao para continuar: ");
- scanf("%d",&opcao);
- system("cls");
- switch(opcao){
- case 1:
- printf("\nDigite o Codigo: ");
- scanf("%d",&lista_paciente[indice_paciente].cod_paciente);
- getchar();
- printf("Digite o Nome: ");
- gets(lista_paciente[indice_paciente].nome);
- printf("Digite o Endereco: ");
- gets(lista_paciente[indice_paciente].endereco);
- printf("Digite o Convenio: ");
- gets(lista_paciente[indice_paciente].convenio);
- printf("Digite a Identidade: ");
- scanf("%d",&lista_paciente[indice_paciente].rg);
- printf("Digite o CPF: ");
- scanf("%d",&lista_paciente[indice_paciente].cpf);
- printf("Digite a Idade: ");
- scanf("%d",&lista_paciente[indice_paciente].idade);
- printf("Digite o Telefone: ");
- scanf("%d",&lista_paciente[indice_paciente].telefone);
- indice_paciente = indice_paciente + 1;
- puts("\n\n----->Paciente Cadastrado com Sucesso<-----\n");
- puts("\n\nTecle enter para sair...");
- break;
- case 2:
- for(i = 0; i < indice_paciente; i++){
- puts("\n__________________________________________________________________");
- printf("\t\tLISTA DE PACIENTES");
- printf("\nCodigo | Nome | Endereco | CPF | Telefone");
- puts("\n__________________________________________________________________");
- printf("%d %s %s %d %d", lista_paciente[i].cod_paciente, lista_paciente[i].nome, lista_paciente[i].endereco, lista_paciente[i].cpf, lista_paciente[i].telefone);
- puts("\n__________________________________________________________________");
- puts("\n\nTecle enter para sair...");
- }
- break;
- case 3:
- printf("\nDigite o Codigo: ");
- scanf("%d",&lista_medico[indice_medico].cod_medico);
- getchar();
- printf("Digite o Nome: ");
- gets(lista_medico[indice_medico].nome);
- printf("Digite a Especialidade: ");
- gets(lista_medico[indice_medico].especialidade);
- printf("Digite a Identidade: ");
- scanf("%d",&lista_medico[indice_medico].rg);
- printf("Digite o CPF: ");
- scanf("%d",&lista_medico[indice_medico].cpf);
- printf("Digite a Idade: ");
- scanf("%d",&lista_medico[indice_medico].idade);
- fflush(stdin);
- indice_medico = indice_medico + 1;
- puts("\n\n----->Medico Cadastrado com Sucesso<-----\n");
- puts("\n\nTecle enter para sair...");
- break;
- case 4:
- for(i = 0; i < indice_medico; i++){
- puts("\n__________________________________________________________________");
- printf("\t\tLISTA DE MEDICOS");
- printf("\nCodigo | Nome | Especialidade | CPF ");
- puts("\n__________________________________________________________________");
- printf("%d %s %s %d ", lista_medico[i].cod_medico, lista_medico[i].nome, lista_medico[i].especialidade, lista_medico[i].rg, lista_medico[i].cpf, lista_medico[i].idade);
- puts("\n__________________________________________________________________");
- puts("\n\nTecle enter para sair...");
- }
- break;
- case 5:
- printf("\nDigite o Codigo: ");
- scanf("%d",&lista_consulta[indice_consulta].cod_consulta);
- getchar();
- printf("Digite o Motivo da Consulta: ");
- gets(lista_consulta[indice_consulta].motivo);
- printf("Digite o Diagnostico: ");
- gets(lista_consulta[indice_consulta].diagnostico);
- indice_consulta = indice_consulta + 1;
- puts("\n\n----->Consulta Cadastrada com Sucesso<-----\n");
- puts("\n\nTecle enter para sair...");
- break;
- case 6:
- for(i = 0; i < indice_consulta; i++){
- puts("\n__________________________________________________________________");
- printf("\t\tLISTA DE CONSULTAS");
- printf("\nCodigo | Motivo da Consulta | Diagnostico");
- puts("\n__________________________________________________________________");
- printf("%d %s %s", lista_consulta[i].cod_consulta, lista_consulta[i].motivo, lista_consulta[i].diagnostico);
- puts("\n__________________________________________________________________");
- puts("\n\nTecle enter para sair...");
- }
- break;
- case 7:
- printf("\nDigite o Codigo: ");
- scanf("%d",&lista_resultado[indice_resultado].cod_resultado);
- getchar();
- printf("Digite o Resultado do Exame: ");
- gets(lista_resultado[indice_resultado].descricao);
- printf("Digite a Data do Resultado: ");
- scanf("%d",&lista_resultado[indice_resultado].data);
- fflush(stdin);
- indice_resultado = indice_resultado + 1;
- puts("\n\n----->Resultado Cadastrado com Sucesso<-----\n");
- puts("\n\nTecle enter para sair...");
- break;
- case 8:
- for(i = 0; i < indice_resultado; i++){
- puts("\n__________________________________________________________________");
- printf("\t\tLISTA DE RESULTADOS");
- printf("\nCodigo | Resultado do Exame | Data");
- puts("\n__________________________________________________________________");
- printf("%d %s %d", lista_resultado[i].cod_resultado, lista_resultado[i].descricao, lista_resultado[i].data);
- puts("\n__________________________________________________________________");
- puts("\n\nTecle enter para sair...");
- }
- break;
- case 9:
- printf("\nDigite o Codigo: ");
- scanf("%d",&lista_exame[indice_exame].cod_exame);
- getchar();
- printf("Digite o Tipo de Exame: ");
- gets(lista_exame[indice_exame].tipo);
- indice_exame = indice_exame + 1;
- puts("\n\n----->Exame Cadastrado com Sucesso<-----\n");
- puts("\n\nTecle enter para sair...");
- break;
- case 10:
- for(i = 0; i < indice_exame; i++){
- puts("\n__________________________________________________________________");
- printf("\t\tLISTA DE RESULTADOS");
- printf("\nCodigo | Resultado do Exame");
- puts("\n__________________________________________________________________");
- printf("%d %s", lista_exame[i].cod_exame, lista_exame[i].tipo);
- puts("\n__________________________________________________________________");
- puts("\n\nTecle enter para sair...");
- }
- break;
- case 11:
- printf("\nDigite o Nome para Busca: ");
- gets(temp);
- for(i = 0; i < indice_paciente; i++){
- if(strcmpi(lista_paciente[i].nome, temp) == 0){
- printf("%d - ",&lista_paciente[indice_paciente].cod_paciente);
- getchar();
- printf("%s", lista_paciente[indice_paciente].nome);
- printf("%s", lista_paciente[indice_paciente].endereco);
- printf("%s", lista_paciente[indice_paciente].convenio);
- printf("%d", lista_paciente[indice_paciente].rg);
- printf("%d", lista_paciente[indice_paciente].cpf);
- printf("%d", lista_paciente[indice_paciente].idade);
- printf("%d", lista_paciente[indice_paciente].telefone);
- puts("\n\n----->Nome Encontrado com Sucesso<-----\n");
- puts("\n\nTecle enter para sair...");
- break;
- }//fim do if
- }//fim do for
- break;
- case 12:
- printf("\nDigite o Nome para Alterar: ");
- gets(temp);
- for(i = 0; i < indice_paciente; i++)
- {
- if(strcmpi(lista_paciente[i].nome, temp) == 0)
- {
- printf("Altere o Nome [%s]: ", lista_paciente[i].nome);
- gets(buffer);
- if(strlen(buffer) > 0)
- {
- strcpy(lista_paciente[i].nome, buffer);
- }
- printf("Altere a Funcao [%s]: ", lista_paciente[i].endereco);
- gets(buffer);
- printf("Altere o convenio [%s]: ", lista_paciente[i].convenio);
- gets(buffer);
- printf("Altere a Funcao [%s]: ", lista_paciente[i].endereco);
- gets(buffer);
- printf("Altere o convenio [%d]: ", lista_paciente[i].rg);
- gets(buffer);
- printf("Altere a Funcao [%d]: ", lista_paciente[i].cpf);
- gets(buffer);
- printf("Altere o convenio [%d]: ", lista_paciente[i].telefone);
- gets(buffer);
- printf("Altere o convenio [%d]: ", lista_paciente[indice_paciente].idade);
- gets(buffer);
- }
- }
- break;
- case 99:
- return(0);
- default:
- puts("Opcao Invalida");
- puts("\n\nTecle enter para sair...");
- }//fecha o switch
- system("pause>>null");
- system("cls");
- }//fecha o while
- }//fecha o main