dgadelha / Portugol-Webstudio

IDE online para o Portugol
https://portugol.dev
GNU General Public License v3.0
273 stars 57 forks source link

erro de compilaçao #340

Open Wantedwill opened 1 day ago

Wantedwill commented 1 day ago

Descrição do problema

O seu código possui 1 erro de compilação:

Código

programa
{
    funcao inicio()
    {
        // Variáveis principais
        cadeia nome_turma, turma_vencedora
        real melhor_media, media_turma, soma_notas
        inteiro quantidade_alunos, nota, aluno
        booleano continuar // Usamos o tipo booleano diretamente

        // Inicializa variáveis
        melhor_media <- 0
        media_turma <- 0
        soma_notas <- 0
        quantidade_alunos <- 0
        nota <- 0
        aluno <- 0
        continuar <- verdadeiro // Usando o valor logico verdadeiro

        escreva("Bem-vindo à Olimpíada de Conhecimentos Gerais!\n")

        // Loop principal para entrada de dados
        enquanto (continuar)
        {
            escreva("\nDigite o nome da turma ou digite 'SAIR' para finalizar: ")
            leia(nome_turma)

            // Condição para encerrar o programa
            se (nome_turma == "SAIR")
            {
                escreva("\nFinalizando...\n")
                continuar <- falso // Alteramos para falso para sair do loop
            } // Fim do 'se'

            escreva("Quantos alunos estão na turma ", nome_turma, "? ")
            leia(quantidade_alunos)

            soma_notas <- 0

            // Leitura das notas dos alunos
            aluno <- 1
            enquanto (aluno <= quantidade_alunos)
            {
                escreva("Digite a nota do aluno ", aluno, " (entre 0 e 10): ")
                leia(nota)

                // Validar nota
                enquanto (nota < 0 ou nota > 10)
                {
                    escreva("Nota inválida! Digite novamente (entre 0 e 10): ")
                    leia(nota)
                } // Fim do 'enquanto'

                soma_notas <- soma_notas + nota
                aluno <- aluno + 1 // Incremento manual
            } // Fim do 'enquanto'

            // Cálculo da média da turma
            media_turma <- soma_notas / quantidade_alunos
            escreva("A média da turma ", nome_turma, " é: ", media_turma, "\n")

            // Verificar se essa turma tem a melhor média
            se (media_turma > melhor_media)
            {
                melhor_media <- media_turma
                turma_vencedora <- nome_turma
            } // Fim do 'se'
        } // Fim do 'enquanto'

        // Exibir o resultado final
        escreva("\nA turma vencedora foi: ", turma_vencedora, " com a melhor média: ", melhor_media, "\n")
    }
}

Comentários adicionais

No response