Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

vitormendonca

Agendar consultas - VisualG

Recommended Posts

Olá mundo, tudo certo?

Espero que alguém possa me ajudar, vamos lá.

Estou com um problema para resolver a respeito de um trabalho na faculdade.

Preciso desenvolver um código em PORTUGOL que execute um MENU para agendar consultas com diversos médicos, mostrando data, hora, especialização do médico, enfim. Precisa ser completo.

Programa solicita nome do paciente

Programa solicita especialidade médica desejada

Programa solicita que o paciente escolha o médico

Programa mostra datas e horas disponíveis para agendar a consulta com aquele médico

(OBS.: O horário não pode bater com o horário de outra consulta)

(OBS.: Cada consulta tem um intervalo de 45 minutos ou 1 hora se facilitar)

(OBS.: A clínica funciona de 8h as 18h de segunda a sexta)

Paciente seleciona a data e hora

Programa mostra confirmação contendo nome do paciente, nome e especialização do médico, data e hora da consulta.

Programa retorna para o menu inicial.

Estou estagnado na parte de datas e horas. Não consigo pensar uma maneira de fazê-lo. Exemplo: Como vou determinar os meses com 28, 29(ano bissexto), 30 ou 31 dias? E como mostrar apenas os dias e horários disponíveis para o paciente escolher sua consulta? Os horários escolhidos previamente por outros pacientes não podem aparecer para não causar conflito.

Se alguém puder me dar uma luz, será muito bem-vindo.

Segue parte do código que fiz. Está muito incompleto ainda, porém não sei mais como prosseguir a partir do "caso 1" no código abaixo..

algoritmo "Menu Clínico"
// Função : Efetuar o agendamento de consultas com o médico específico
// Autor : GRUPO 6!
// Data : 11/14/2016
// Seção de Declarações
var
opcao1, cardio, opcao_cardio, neuro, opcao_neuro, nutri, opcao_nutri, geri, opcao_geri: inteiro
paciente: caractere
inicio
// Seção de Comandos
escreval ("==========================================================")
escreval ("||  OLÁ, SEJA BEM VINDO AO PERSONAL CONSULTA AGENDATOR  ||")
escreval ("==========================================================")
escreval ("Por favor, informe seu nome: ")
leia (paciente)
procedimento menu_inicial
inicio
escreval ("==========================================================")
escreval ("||               ESPECIALIZAÇÕES MÉDICAS!               ||")
escreval ("==========================================================")
escreval ("||1. Cardiologista                                      ||")
escreval ("||2. Neurologista                                       ||")
escreval ("||3. Nutricionista                                      ||")
escreval ("||4. Geriatra                                           ||")
escreval ("||5. SAIR                                               ||")
escreval ("==========================================================")
fimprocedimento
procedimento menu_cardio
inicio
escreval ("==========================================================")
escreval ("||                     CARDIOLOGISTAS                     ||")
escreval ("||======================================================||")
escreval ("||1. Dra. Cristiane Guedes Pita                         ||")
escreval ("||2. Dr. George Paulo Cobe Fonseca                      ||")
escreval ("||3. Voltar                                             ||")
escreval ("==========================================================")
fimprocedimento
procedimento menu_neuro
inicio
escreval ("==========================================================")
escreval ("||                    NEUROLOGISTAS                     ||")
escreval ("||======================================================||")
escreval ("||1. Dr. Carlos Trigueiro de Souza                      ||")
escreval ("||2. Dr. Antônio Tomás Turbano                          ||")
escreval ("||3. Voltar                                             ||")
escreval ("==========================================================")
fimprocedimento
procedimento menu_nutri
inicio
escreval ("==========================================================")
escreval ("||                    NUTRICIONISTAS                    ||")
escreval ("||======================================================||")
escreval ("||1. Mônica Cristina Salgado Galvão                     ||")
escreval ("||2. Fernanda Tarcélia de Oliveira Pinto                ||")
escreval ("||3. Voltar                                             ||")
escreval ("==========================================================")
fimprocedimento
procedimento menu_geri
inicio
escreval ("==========================================================")
escreval ("||                       GERIATRAS                      ||")
escreval ("||======================================================||")
escreval ("||1. Dr. Carlos Antonio Batista de Medeiros             ||")
escreval ("||2. Dr. Anceio Botelho Pinto                           ||")
escreval ("||3. Voltar                                             ||")
escreval ("==========================================================")
fimprocedimento
repita
   menu_inicial
   escreval ("Olá ", paciente,", por favor, escolha uma opção:")
   leia (opcao1)
   limpatela
   se opcao1>=6 então
      escreval ("**********************************************************")
      escreval ("*************OPÇÃO INVÁLIDA, TENTE NOVAMENTE**************")
      escreval ("**********************************************************")
   fimse
ate (opcao1=1) ou (opcao1=2) ou (opcao1=3) ou (opcao1=4) ou (opcao1=5)
escolha (opcao1)
caso 1
   repita
      menu_cardio
      escreval ("Digite o número referente ao seu médico de preferência: ")
      leia (opcao_cardio)
      limpatela
   ate opcao_cardio=3
caso 2
   menu_neuro
caso 3
   menu_nutri
caso 4
   menu_geri
caso 5
   escreval ("==========================================================")
   escreval ("|| Obrigado por utilizar o PERSONAL CONSULTA AGENDATOR! ||")
   escreval ("==========================================================")
fimescolha
fimalgoritmo

Gratidao e boas vibrações! <3

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por ILR master
      Tudo bem pessoal?
       
      No código abaixo, estou fazendo uma consulta nas tabelas, banners e banners_referencia
      Meu objetivo é trazer resultados com valores iguais ao nome da cidade declarada na $cidade ou resultados com a referencia Total.
      O problema é que está trazendo todos os resultados. Tenho 10 linhas, 1 com o nome da cidade e duas com o valor Total, então o resultado teria que ser de apenas 3 linhas, mas mostra tudo.
       
      $banner = "SELECT A.*, B.* FROM banners A, banners_referencia B WHERE B.cod_referencia = A.cod_referencia AND A.cidade = '$cidade' OR B.referencia = 'Total' ORDER BY RAND()";
      $banner = mysqli_query($conexao, $banner) or die ("Banner não encontrado");
      while($busca= mysqli_fetch_array($banner)){
          print $busca['cidade'].'<br>';
      };
       
      Alguém consegue me ajudar?
    • Por daemon
      Gostaria de tratar a data/hora de uma postagem.
      Por exemplo se postou menos de 1 hora fica.
      Há 30min
      Há 40min
      etc..
      Se postou depois de 1 hora.
      fica: 
      Há 1h
      Há 2h 
      etc...
      Se passar de 24 horas
      :fica
      Há 1 dia
      Há 2 dias
      etc..
    • Por daemon
      Preciso mostrar o intervalo em horas e minutos entre 2 registros.
       
       
      Por exemplo, tenho um campo data e hora que postei um conteudo (exemplo : 15:00).

      E tenho a hora atual (16:30).
       
      Preciso imprimir a quanto tempo foi postado.
       
      No caso volta aparecendo "30 minutos". se passar de 1 hora "1h e 5min" etc.. etc...
       
       
       
    • Por ILR master
      Fala pessoal.
      Tudo bem?
       
      Tenho o seguinte código que funcionda perfeitamente:
       
      date_default_timezone_set("America/Sao_Paulo");
      $d_inicio= date('Y-m-d');
      $d_final= date('Y-m-d', strtotime('+30  day'));
       
      Mas eu quero definir a quantidade de dias pegando o valor que a variável:
       
      date_default_timezone_set("America/Sao_Paulo");
      $tempo = 30;
      $d_inicio= date('Y-m-d');
      $d_final= date('Y-m-d', strtotime('+$tempo  day'));
       
      Mas quando declaro com variável não funciona.
      Obrigado pela ajuda.
    • Por ILR master
      Fala galera, tudo bem?
       
      Tenho o seguinte codigo:
       
       class Data {
      public static function ExibirTempoDecorrido($date)
      {
          if(empty($date))
          {
              return "Informe a data";
          }
          $periodos = array("segundo", "minuto", "hora", "dia", "semana", "mês", "ano", "década");
          $duracao = array("60","60","24","7","4.35","12","10");
          $agora = time();
          $unix_data = strtotime($date);
          // check validity of date
          if(empty($unix_data))
          {  
              return "Bad date";
          }
          // is it future date or past date
          if($agora > $unix_data) 
          {  
              $diferenca     = $agora - $unix_data;
              $tempo         = "atrás";
          } 
          else 
          {
              $diferenca     = $unix_data - $agora;
              $tempo         = "agora";
          }
          for($j = 0; $diferenca >= $duracao[$j] && $j < count($duracao)-1; $j++) 
          {
              $diferenca /= $duracao[$j];
          }
          $diferenca = round($diferenca);
          if($diferenca != 1) 
          {
              $periodos[$j].= "s";
          }
          return "$diferenca $periodos[$j] {$tempo}";
      }
      }
       
      Funciona redondinho se o valor retornado for de algumas horas, mas...
      Quando passa de dois meses, ele retorna a palavra mess. Deve ser por conta dessa linha
      if($diferenca != 1) 
          {
              $periodos[$j].= "s";
          }
       
      Quero que modre:
       
      2 meses atrás
      e não
      2 mess atrás.
       
      Espero que tenham entendido.
       
      Valeu
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.