Ir para conteúdo
Fórum Script Brasil
  • 0

Erro de compilação


Diego Oliveira Placido

Pergunta

algoritmo "Pacotes Turísticos de Réveillon"
    tipo Cliente = registro
        nome: cadeia  // Mudamos de 'caractere' para 'cadeia'
        idade: inteiro
        roteiro: inteiro
        transporte: inteiro
        ingresso: inteiro
        valorPacote: real
    fimregistro

    funcao inicio()
        // Vetor para armazenar os clientes
        var clientes: vetor[100] de Cliente
        var opcao, qtdClientes: inteiro
        qtdClientes <- 0
        
        repita
            // Removendo 'limpar_tela()' para evitar problemas de compatibilidade
            escreva("Turismo Legal - Pacotes Réveillon\n")
            escreva("1. Cadastrar cliente\n")
            escreva("2. Listagem Geral\n")
            escreva("3. Relatório Estatístico\n")
            escreva("0. Sair\n")
            escreva("Informe a opção desejada: ")
            leia(opcao)

            escolha opcao
                caso 1:
                    clientes[qtdClientes] <- cadastrarCliente()
                    qtdClientes <- qtdClientes + 1
                caso 2:
                    listagemGeral(clientes, qtdClientes)
                caso 3:
                    relatorioEstatistico(clientes, qtdClientes)
                caso 0:
                    escreva("Saindo...\n")
                outrocaso:
                    escreva("Opção inválida!\n")
            fimescolha
        ate opcao = 0
    fimfuncao

    funcao cadastrarCliente(): Cliente
        var 😄 Cliente
        escreva("Nome: ")
        leia(c.nome)  // 'nome' agora é do tipo 'cadeia'
        escreva("Idade: ")
        leia(c.idade)
        escreva("Roteiro (1-Salvador, 2-Maceió, 3-Fortaleza): ")
        leia(c.roteiro)
        escreva("Tipo de transporte (1-Avião, 2-Ônibus): ")
        leia(c.transporte)
        escreva("Comprar ingresso para show (1-Sim, 0-Não): ")
        leia(c.ingresso)

        c.valorPacote <- calcularValorPacote(c.roteiro, c.transporte, c.ingresso)

        retorne c
    fimfuncao

    funcao calcularValorPacote(roteiro: inteiro, transporte: inteiro, ingresso: inteiro): real
        var valor: real
        
        // Definindo os valores baseados no roteiro e transporte
        escolha roteiro
            caso 1: // Salvador
                escolha transporte
                    caso 1: valor <- 1500
                    caso 2: valor <- 950
                fimescolha
            caso 2: // Maceió
                escolha transporte
                    caso 1: valor <- 900
                    caso 2: valor <- 600
                fimescolha
            caso 3: // Fortaleza
                escolha transporte
                    caso 1: valor <- 1100
                    caso 2: valor <- 750
                fimescolha
        fimescolha

        // Acrescentando o valor do ingresso
        se ingresso = 1 então
            valor <- valor + 450
        fimse

        retorne valor
    fimfuncao

    funcao listagemGeral(clientes: vetor[100] de Cliente, qtdClientes: inteiro)
        escreva("Turismo Legal - Pacotes Réveillon\n")
        escreva("Listagem Geral\n")
        para i de 0 ate qtdClientes - 1 faca
            escreva(clientes[i].nome, "\t", clientes[i].idade, "\t", clientes[i].roteiro, "\t")
            escreva(clientes[i].transporte, "\t", clientes[i].ingresso, "\t", clientes[i].valorPacote, "\n")
        fimpara
        escreva("Tecle enter para voltar ao menu\n")
        leia()
    fimfuncao

    funcao relatorioEstatistico(clientes: vetor[100] de Cliente, qtdClientes: inteiro)
        var qtdMaceioShow, somaIdadeSalvador, qtdSalvador, qtdFortaleza: inteiro
        var percentualFortaleza, mediaIdadeSalvador: real
        
        qtdMaceioShow <- 0
        somaIdadeSalvador <- 0
        qtdSalvador <- 0
        qtdFortaleza <- 0
        
        para i de 0 ate qtdClientes - 1 faca
            // Contando clientes que vão para o show em Maceió
            se clientes[i].roteiro = 2 e clientes[i].ingresso = 1 então
                qtdMaceioShow <- qtdMaceioShow + 1
            fimse
            // Calculando a média de idade dos clientes que vão para Salvador
            se clientes[i].roteiro = 1 então
                somaIdadeSalvador <- somaIdadeSalvador + clientes[i].idade
                qtdSalvador <- qtdSalvador + 1
            fimse
            // Contando os clientes que compraram pacote para Fortaleza
            se clientes[i].roteiro = 3 então
                qtdFortaleza <- qtdFortaleza + 1
            fimse
        fimpara

        // Calculando média e percentual
        se qtdSalvador > 0 então
            mediaIdadeSalvador <- somaIdadeSalvador / qtdSalvador
        senao
            mediaIdadeSalvador <- 0
        fimse
        percentualFortaleza <- (qtdFortaleza / qtdClientes) * 100
        
        escreva("Quantidade de pessoas que vão para o show da virada em Maceió: ", qtdMaceioShow, "\n")
        escreva("Média da idade dos clientes que vão para Salvador: ", mediaIdadeSalvador, "\n")
        escreva("Percentual de clientes que compraram pacotes para Fortaleza: ", percentualFortaleza, "%\n")
        escreva("Tecle enter para voltar ao menu\n")
        leia()
    fimfuncao
fimalgoritmo
 

Esse algoritmo está com erro de compilação o que significa?

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Com a ajuda do Copilot, descobri que a linguagem desse programa é Portogol. Baixei a versão para a versão desktop, mas ele trabalha com fontes muito pequenas, não dá para trabalhar.

Mas achei a versão web que é bem mais fácil de enxergar: http://portugol.professorisidro.com.br:3000/ide

Mas eu tive que mudar todo o seu código para alguma coisa funcionar:

programa {
    cadeia cliente[5][5]
    
	funcao inicio() {
	    cliente[0][0]="nome"
	    cliente[0][1]="pacote"
	    inteiro opcao
	    escreva("Turismo Legal\n")
        escreva("1. Cadastrar cliente\n")
        escreva("2. Listagem Geral\n")
        escreva("0. Sair\n")
        escreva("Informe a opção desejada: ")
        leia(opcao)
        escolha(opcao)  
        {
            caso 1: cadastraCliente()     pare  
            caso 2: listaCliente()        pare  
            caso 0: pare  
            caso contrario: escreva("Opção inválida!") 
        }
	}
	    
	funcao cadastraCliente(){
        escreva("nome: ")
        leia(cliente[1][0])
        cliente[1][1] = calculePacote()
        inicio()
	}
	    
    funcao cadeia calculePacote() {
	   retorne "100"
	}
	
	funcao listaCliente() {
	    escreva(cliente[0][0])
	    escreva(cliente[0][1])
	    escreva("\n")
	    escreva(cliente[1][0])
	    escreva(cliente[1][1])
	}
}

 

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...