Ir ao conteúdo
  • Cadastre-se

VisualG Não sei onde está o erro para rodar o programa abaixo


Posts recomendados

 

Faça um algoritmo que efetue reserva de passagens aéreas de uma certa companhia. O algoritmo deverá ler informações sobre os voos (número, origem, destino e número de lugares) disponíveis para 10 aviões. O algoritmo deverá apresentar um menu com as seguintes opções:

· Cadastrar voos (UM DE CADA VEZ, OU SEJA, INCLUI UM E VOLTA PARA O MENU, NÃO DEIXAR CADASTAR Nº DO VOO REPETIDO)

· Consultar Voo por Número do Voo (VERIFICAR SE O Nº DO VOO EXISTE CASO CONTRÁRIO MOSTRAR UMA MENSAGEM – “ VOO NÃO CADASTRADO”)

· Efetuar reserva (IDEM DA CONSULTA – VERIFICAR O Nº DO VOO)

· Sair

Quando a opção escolhida for Efetuar reserva, deverá ser perguntado o número do voo no qual a pessoa deseja viajar. O programa deverá dar as seguintes respostas:

· Reserva confirmada – caso exista o voo e lugar disponível, dando baixa nos lugares disponíveis.

· Voo lotado – caso não exista lugar disponível nesse voo

· Voo inexistente – caso o código do voo não exista

A opção sair é a única que permite sair do programa. Sendo assim, após cada operação de consulta ou reserva o programa volta ao menu principal.

OBS: NÃO ESQUEÇA DE VERIFICAR SE O Nº DO VOO EXISTE OU NÃO E SENÃO EXISTIR MOSTRAR UMA MSG

 

algoritmo "Registrovoos"
tipo
   reserva= registro
      Numero: caractere
      origem: caractere
      destino: caractere
      numlugares: caractere
   fimregistro

var
   numvoo: vetor [1..10] de real
   orig: vetor [1..10] de caractere
   dest:vetor [1..10] de caractere
   numlugar: vetor [1..10]  de caractere
   lugardisp: vetor [1..10] de real
   I: inteiro
   OP: inteiro
   ACHOU: inteiro
   X: INTEIRO
   pesqvoo: inteiro
   reservoo: inteiro

Inicio
   I <- 1
   Op <- 1
   enquanto (Op >= 1) e (Op <= 10) faca
      escreval ("1 - Cadastrar voo")
      escreval ("2 - Consultar voo")
      escreval ("3 - Efetuar reserva voo")
      escreval ("4 - Sair")
      leia (Op)
      escolha (op)
         //CASO 1 cadastro
         se (Op = 1) entao
            Achou <- 0
            se (I <= 10) entao
               escreval ("Digite o numero do voo")
               leia (pesqvoo)
               para X de 1 ate I faca
                  se (pesqvoo = Numvoo[X]) entao
                     escreval ("voo já cadastrado")
                     Achou <- 1
                  fimse
               fimpara

               se (Achou = 0) entao
                  Numvoo[I] <- Numvoo

                  escreval ("Digite número do voo")
                  leia (NUMVOO[I]).NUMVOO

                  escreval ("Digite Origem")
                  leia (orig[I]).Orig

                  escreval ("Digite Destino")
                  leia (dest[I]).Dest
                  escreval ("Digite numro do lugarl")
                  leia (Numlugar[I]).numlugar
                  escreval ("Digite total lugar disponível")
                  leia (lugardisp[I]).lugardip
                  I <- I + 1
               fimse
            senao
               escreval ("voo cheio")
            fimse
         fimse

         // caso 2 - consulta
         se (Op = 2) entao
            Achou <- 0
            se (I > 1) entao
               escreval ("Digite o número do voo que deseja consultar")
               leia (Consulvoo)
               para X de 1 ate 10 faca
                  se (Consulvoo = voo[X]) entao
                     escreval ("Numero voo = ", Numvoo[X])
                     escreval ("lugardisp", lugardisp[X] )
                     Achou <- 1
                  fimse
               fimpara
               se (Achou = 0) entao
                  escreval ("Voo não cadastrado")
               fimse
            senao
               escreval("voo não existe")
            fimse
         fimse

         // caso 3 - reserva
         se (Op = 3) entao
            Achou <- 0
            se (I > 1) entao
               escreval ("digite o número do voo para realizar a reserva")
               leia (reservoo)
               para X de 1 ate I faca
                  se (reservoo = numvoo[X]) entao
                     escreval ("Digite o voo que deseja reservar ")
                     leia (reservoo)
                     se (numvoo[X] < lugardisp) entao
                        escreval ("voo lotado")
                     senao
                        [X] <- (numvoo[X] - lugardisp)
                        Achou <- 1
                     fimse
                  fimse
               fimpara

               se (Achou = 0) entao
                  escreval ("Numero do voo não cadastrado ")
               fimse
            senao
               escreval("voo inexistente")
            fimse
         fimse

         //caso 4  sair
         escreval("finalizando programa")

      fimescolha
   fimenquanto
fimalgoritmo


 

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

@Amanda taine    misturou escolha / caso / fimsescolha  com  o  se ,  e corrigido apenas para compilar , poderia ser assim  :

Algoritmo "Registrovoos"
  tipo
    reserva      = registro
      Numero     : caractere
      origem     : caractere
      destino    : caractere
      numlugares : caractere
      num_voo    : inteiro
      disponivel : inteiro
      reservado  : inteiro
    fimregistro
Var
  Numvoo   : vetor [1..10] de reserva
  i,op,x   : inteiro
  achou    : inteiro
  pesqvoo  : inteiro
  reservou : inteiro
  consulvoo: inteiro
Inicio
  I <- 1
  Op <- 1
  Enquanto Op <> 4 faca
    escreval(" 1 - Cadastrar voo      ")
    escreval(" 2 - Consultar voo      ")
    escreval(" 3 - Efetuar reserva voo")
    escreval(" 4 - Sair Do Programa   ")
    escreva ("     escolha uma opção  ")
    leia( Op )
    escolha op
    caso 1
      Achou <- 0
      se i <= 10 entao
        escreval("Digite o numero do voo")
        leia( pesqvoo )
        para X de 1 ate I faca
          se pesqvoo = Numvoo[X].num_voo entao
            escreval("voo já cadastrado")
            Achou <- 1
          fimse
        fimpara
        se Achou = 0 entao
          Numvoo[I].num_voo <- pesqvoo
          escreva("Digite Origem -----------------: ")
          leia   ( numvoo[I].origem                  )
          escreva("Digite Destino ----------------: ")
          leia   ( numvoo[I].destino                 )
          escreva("Digite numro do lugar ---------: ")
          leia   (numvoo[I].numlugares               )
          escreva("Digite total lugar disponível -: ")
          leia   (numvoo[I].disponivel               )
          i <- i + 1
        fimse
      senao
        escreval ("voo cheio")
      fimse
    caso 2
      Achou <- 0
      se i > 1 entao
        escreval
        escreval("Digite o número do voo que deseja consultar")
        leia( Consulvoo )
        para X de 1 ate 10 faca
          se Consulvoo = numvoo[x].num_voo entao
            se x = 1 entao
              escreval("O números dos voo")
            fimse
            escreval("Numero voo --= ",numvoo[x].num_voo    )
            escreval("Lugardisp ---= ",numvoo[x].disponivel )
            escreval
            Achou <- 1
            interrompa
          fimse
        fimpara
        se Achou = 0 entao
          escreval("Voo não cadastrado")
        fimse
      senao
        escreval("voo não existe")
      fimse
    caso 3
      Achou <- 0   // precisa de algumas correções
      se i > 1 entao
        escreval("digite o número do voo para realizar a reserva")
        leia( reservou )
        para x de 1 ate i faca
          se reservou = numvoo[x].num_voo entao
            escreval("Digite o voo que deseja reservar ")
            leia( reservoo )
            se numvoo[x].num_voo =  entao
              escreval("voo lotado")
            senao
              [X] <- numvoo[X] - lugardisp
              Achou <- 1
            fimse
          fimse
        fimpara
        se Achou = 0 entao
          escreval("Numero do voo não cadastrado ")
        fimse
      senao
        escreval("voo inexistente")
      fimse
    caso 4
      escreval
      escreval
      escreval("finalizando programa")
    outrocaso
      escreval
      escreval("opção inVáLida . . . !")
      escreval
    fimescolha
    escreval
    escreval
  fimenquanto
fimalgoritmo

 

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!