Considere o seguinte cenário:

Você foi contratado(a) por uma clínica médica que atende todos os dias do mês das 08:00 às 21:00 horas. A clínica precisa que seja analisado um código em linguagem C do seu programa para identificar e corrigir alguns bugs que vem ocorrendo em seu sistema.

Considere o seguinte código:

#include
#include
#include
#include

//Registro
struct Consulta {
char nome[100];
int dia;
int hora;
};

//Variáveis Globais
struct Consulta agenda[300];
int qtdAgendamento;

bool verificarDisponibilidade(int diaAgenda, int horaAgenda){

if(horaAgenda < 8){
printf("Clínica fechada neste horário\n");
return false;
}
return true;
}

void agendarConsulta(){

int diaAgenda;
printf("Qual dia do mês você quer agendar?\n");
fflush(stdin);
scanf("%d", &diaAgenda);

int horaAgenda;
printf("Qual hora do dia você quer agendar?\n");
fflush(stdin);
scanf("%d", &horaAgenda);

if(verificarDisponibilidade(diaAgenda, horaAgenda)){
printf("Horário disponível\n");
printf("Vamos confirmar seu agendamento\n");
agenda[qtdAgendamento].dia = diaAgenda;
agenda[qtdAgendamento].hora = horaAgenda;
printf("Qual seu nome?\n");
fflush(stdin);
gets(agenda[qtdAgendamento].nome);
qtdAgendamento = qtdAgendamento + 1;
printf("Agendamento realizado!\n");
} else {
printf("Horário não disponível\n");
}
}

void listarConsulta(){
int i;
for(i = 0; i < qtdAgendamento; i++){
printf("==============================\n");
printf("Nome: %s\n", agenda[i].nome);
printf("Dia: %d\n", agenda[i].dia);
printf("Hora: %d\n", agenda[i].hora);
}
}

void main() {

setlocale(LC_ALL, "");

int opcao;
qtdAgendamento = 0;

do{
printf("Deseja uma opção desejada?\n");
printf("1 - Agendar\n");
printf("2 - Listar\n");
printf("3 - Sair\n");
fflush(stdin);
scanf("%d", &opcao);

switch(opcao){
case 1 :{
agendarConsulta();

}case 2 :{
listarConsulta();

}case 3 :{
printf("Saindo do programa...\n");

}
default :{
printf("Opção inválida\n");

}
}
}while (opcao != 3);


Algumas regras estabelecidas não estão funcionando de acordo com especificado, por exemplo:

BUG 1
- As consultas são realizadas de hora em hora, começando o atendimento às 8 e o último atendimento é feito às 20h porém ao cadastrar um agendamento o sistema está permitindo que os agendamentos sejam realizados em qualquer horário maior que 8 horas. Inclusive se o usuário digitar valores maiores que 24 horas, por
exemplo 30, o sistema permite.

BUG 2
- O Menu não está funcionando muito bem, ao escolher a opção 1 por exemplo, o programa acaba executando também as opções subsequentes.
Pautando-se nessas informações responda, que ações se fazem necessárias no código acima para resolver estes dois bugs? Cite a linha e a possível solução justificando sua resposta.
AGORA, É COM VOCÊ!

Coloque sua resposta no quadro
Please enter comments
Please enter your name.
Please enter the correct email address.
You must agree before submitting.

Lista de comentários


Helpful Social

Copyright © 2024 ELIBRARY.TIPS - All rights reserved.