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
Responda

Helpful Social

Copyright © 2024 ELIBRARY.TIPS - All rights reserved.