
Disciplina: Linguagem C.
Identificação da tarefa: Tarefa 4.2. Envio de arquivo.
Pontuação: 15 pontos.
Tarefa 4.2
Como foi observado, a disciplina Linguagem C teve por objetivo a apresentação da linguagem, o conhecimento de sua sintaxe, seu funcionamento e a estrutura básica de um programa. As estruturas de controle de fluxo e de repetição, o funcionamento de matrizes e strings, funções e ponteiros, e os comandos mais importantes da linguagem foram demonstrados por meio de exemplos práticos e exercícios.
Por meio do conhecimento adquirido na disciplina, desenvolva um programa em C para cadastro de pacientes, médicos e consultas de uma clínica médica.
O cadastro deverá conter as seguintes informações:
-
Paciente:
-
Nome
-
Telefone
-
Endereço
-
Idade
-
CPF
-
-
Médico
-
Nome
-
Especialidade
-
Telefone
-
CRM
-
-
Consulta
-
Paciente
-
Médico
-
Data da Consulta
-
O programa deve ter um menu constante com as seguintes opções:
-
Cadastrar um paciente
-
Cadastrar um médico
-
Agendar uma consulta
-
Procurar um paciente pelo CPF
-
Procurar um médico pelo CRM
-
Sair do programa
// *************************************************************************************************
// * Tarefa 4.2
// *************************************************************************************************
#include<stdio.h>
#include <stdlib.h>
#include <conio.h>
#include<string.h>
void cadPaciente(void);
void cadMedico(void);
void agendar(void);
void procPaciente(void);
void procMedico(void);
int i;
int x;
int achou;
char opcao;
char continuaCadastro;
int regAtual;
int cpfAtual;
int cpfAbuscar;
int crmAtual;
int crmAbuscar;
// ____________________________________________________________________________________
struct regPaciente {
char nomePaciente[80];
char telefonePaciente[13];
char enderecoPaciente[150];
int idadePaciente;
int cpfPaciente;
};
struct regPaciente vetorPaciente[2]; // configuração para 2 registros na estrutura
// ____________________________________________________________________________________
struct regMedico {
char nomeMedico[80];
char especialidadeMedico[30];
char telefoneMedico[13];
int crmMedico;
};
struct regMedico vetorMedico[2]; // configuração para 2 registros na estrutura
// ____________________________________________________________________________________
struct consulta {
int cpf_Paciente;
int crm_Medico;
char data_Consulta[10];
};
struct consulta vetorConsulta[2]; // configuração para 2 registros na estrutura
// ***************************************************************************************************************
// Menu principal
// ***************************************************************************************************************
int main(){
do{
system("cls");
printf("****************************************************************\n");
printf("cadastro de pacientes, medicos e consultas de uma clinica medica\n");
printf("****************************************************************\n\n\n");
printf("1 - Cadastrar um paciente\n\n");
printf("2 - Cadastrar um medico\n\n");
printf("3 - Agendar uma consulta\n\n");
printf("4 - Procurar um paciente pelo CPF\n\n");
printf("5 - Procurar um medico pelo CRM\n\n");
printf("6 - Sair do programa\n\n\n");
printf("Digite sua opcao: ");
scanf("%d", &opcao);
switch (opcao)
{
case 1:
cadPaciente();
break;
case 2:
cadMedico();
break;
case 3:
agendar();
break;
case 4:
procPaciente();
break;
case 5:
procMedico();
break;
case 6:
system("cls"); // coloca o cursor em 0,0
printf("*************************************************\n");
printf("Voce escolheu sair, obrigado por usar o programa!\n"); // menssagem de saida do programa com exito
printf("*************************************************\n\n\n");
break;
default:
// system("cls");
printf("\n\n\n");
printf("---------------\n");
printf("OPCAO INVALIDA!\n"); // cabecalho na tela, opcao invalida
printf("---------------\n");
system("pause");
system("cls");
}
}
while (opcao!=6);
return(0);
}
// ***** SUBROTINAS ***********************************************************************************
void cadPaciente(void)
{
i=0;
x=0;
for(i=0; i<2; i++)
{
system("cls");
printf("********************************************************************************\n");
printf(" 1 - Cadatro de PACIENTES\n");
printf("********************************************************************************\n");
x=i+1;
printf("\n\n\n Paciente Numero %d .\n", x);
fflush(stdin);
printf("\n\n\nEntre com o nome do paciente: ");
gets(vetorPaciente[i].nomePaciente);
fflush(stdin);
printf("Entre com o telefone do paciente: ");
gets(vetorPaciente[i].telefonePaciente);
fflush(stdin);
printf("Entre com o endereco do paciente:");
gets(vetorPaciente[i].enderecoPaciente);
fflush(stdin);
printf("Entre com a idade do paciente:");
scanf("%i", &vetorPaciente[i].idadePaciente);
fflush(stdin);
printf("Entre com o cpf do paciente:");
scanf("%i", &vetorPaciente[i].cpfPaciente);
}
getche();
}
// ____________________________________________________________________________________
void cadMedico(void)
{
i=0;
x=0;
for(i=0; i<2; i++)
{
system("cls");
printf("********************************************************************************\n");
printf(" 2 - Cadatro de MEDICOS\n");
printf("********************************************************************************\n");
x=i+1;
printf("\n\n\n Medico Numero %d .\n", x);
fflush(stdin);
printf("\n\n\nEntre com o nome do medico: ");
fflush(stdin);
gets(vetorMedico[i].nomeMedico);
fflush(stdin);
printf("Entre com a especialidade do medico: ");
gets(vetorMedico[i].especialidadeMedico);
fflush(stdin);
printf("Entre com o telefone do medico:");
gets(vetorMedico[i].telefoneMedico);
fflush(stdin);
printf("Entre com o CRM do medico:");
scanf("%i", &vetorMedico[i].crmMedico);
}
getche();
}
// ____________________________________________________________________________________
void agendar(void)
{
i=0;
x=0;
for(i=0; i<2; i++)
{
system("cls");
printf("********************************************************************************\n");
printf(" 3 - agenda de CONSULTAS\n");
printf("********************************************************************************\n");
x=i+1;
printf("\n\n\n Consulta Numero %d .\n", x);
fflush(stdin);
printf("\n\n\nEntre com o CPF do paciente: ");
scanf("%i", &vetorConsulta[i].cpf_Paciente);
fflush(stdin);
printf("Entre com o CRM do medico: ");
scanf("%i", &vetorConsulta[i].crm_Medico);
fflush(stdin);
printf("Entre com a DATA da consulta:");
gets(vetorConsulta[i].data_Consulta);
}
getche();
}
// ____________________________________________________________________________________
void procPaciente(void)
{
i=0;
cpfAbuscar=0;
achou=0;
system("cls");
printf("********************************************************************************\n");
printf(" 4 - procura um paciente pelo CPF\n");
printf("********************************************************************************\n");
printf("Entre com o cpf do paciente a buscar:");
scanf("%i", &cpfAbuscar);
for(i=0; i<2; i++)
{
cpfAtual=vetorPaciente[i].cpfPaciente;
if (cpfAtual==cpfAbuscar)
{
achou=1;
printf("\nCPF do paciente:");
printf("%i", vetorPaciente[i].cpfPaciente);
printf("\nNome do paciente: ");
printf(vetorPaciente[i].nomePaciente);
printf("\nTelefone do paciente: ");
printf(vetorPaciente[i].telefonePaciente);
printf("\nEndereco do paciente:");
printf(vetorPaciente[i].enderecoPaciente);
printf("\nIdade do paciente:");
printf("%i", vetorPaciente[i].idadePaciente);
}
else
achou=0;
}
if(achou==0)
{
printf("CPF digitado incorretamente!");
}
getche();
}
// ____________________________________________________________________________________
void procMedico(void)
{
i=0;
cpfAbuscar=0;
achou=0;
system("cls");
printf("********************************************************************************\n");
printf(" 5 - procura um medico pelo CRM\n");
printf("********************************************************************************\n");
printf("Entre com o crm do medico a buscar:");
scanf("%i", &crmAbuscar);
for(i=0; i<2; i++)
{
crmAtual=vetorMedico[i].crmMedico;
if (crmAtual==crmAbuscar)
{
achou=1;
printf("\nCRM do medico:");
printf("%i", vetorMedico[i].crmMedico);
printf("\nNome do medico: ");
printf(vetorMedico[i].nomeMedico);
printf("\nTelefone do medico: ");
printf(vetorMedico[i].telefoneMedico);
printf("\nEspecialidade do medico:");
printf(vetorMedico[i].especialidadeMedico);
}
else
achou=0;
}
if(achou==0)
{
printf("CRM digitado incorretamente!");
}
getche();
}
// ______ F I M ______________________________________________________________________________