0

Projeto Tabuada Portugol

Herbert Santos
Herbert Santos

Boa tarde, alguém poderia me Ajudar , estou tentando fazer uma Tabuada no Portugol, porem nesse meu projeto to querendo criar menu de opções EX: Primeiro o programa pergunta o nome do usuário, operação que ele deseja estudar e depois o valor, só que travei aqui nos códigos, conseguir realizar só a multiplicação , quando realizo o "faca" e coloco outra operação ele dar erro, ja tentei usar o "caso" mas não conseguir, quem puder me ajudar eu agradeço.



 cadeia nome

   inteiro menu = 0

   inteiro contador,limite,contadorA,limiteA,resultado,multiplicacao,divisao,adicao,subtracao

   


   contador = 0

   limite = 10


   escreva("Qual o seu nome: ") 

   leia(nome) 


   escreva("Olá," + nome + ",Escolha uma das operações abaixo que deseja estudar")

   escreva("\n" + "=============================================================")

   escreva("\n" + "1 - Multiplicação 2 - Divisão 3 - Adição 4 - Subtração")

   escreva("\n" + "=============================================================")

   leia(menu)


   se (menu==1) {

    escreva(" Ok!! Abrindo Multiplicação!!")

   

   }


   se (menu==2) {

    escreva(" ok!! Abrindo Divisão!!")

   }


   se (menu==3) {

    escreva(" ok!! Abrindo Adição!!")

   }


   se (menu==4) {

    escreva(" ok!! Abrindo Subtração!!")

   }



       


escreva("\n" + "Digite o valor que deseja: ")

   leia(multiplicacao)



 

    

    faca{


         resultado = multiplicacao * contador

         escreva (multiplicacao + " x " + contador + " = " + resultado + "\n")

         contador ++

         

     

   }enquanto (contador<=limite)

3
36

Comentários (3)

0
Herbert Santos

Herbert Santos

23/02/2021 16:10

Boa tarde, Galera!


Depois de Levantar e tomar uma Ar e um copo com Agua, conseguir resolver


solução : usei o "se" para cada operação e no caso da divisão tive que criar outro contador no caso ficou contadord pos o contador tava igual a 0 e como não existe divisão por 0 ai criei o "contadord = 1".


em fim deu certinho aqui graças a Deus



// Projeto Tabuada



programa

{

funcao inicio()

{  cadeia nome

   inteiro menu = 0

   inteiro contador,contadord,limite,resultado,multiplicacao,divisao,adicao,subtracao

   

     contadord = 1

   contador = 0

   limite = 10


   escreva("Qual o seu nome: ") // Adcionar o nome do Usuario/estudante

   leia(nome) 


// // Escolhe a Operação que deseja estudar

   escreva("Olá," + nome + ",Escolha uma das operações abaixo que deseja estudar")

   escreva("\n" + "=============================================================")

   escreva("\n" + "1 - Multiplicação 2 - Adição 3 - Subtração 4 - Divisão")

   escreva("\n" + "=============================================================")

   leia(menu)


    


   se (menu==1) {// Realiza a mutiblicação

    escreva(" Ok!! Abrindo Mutiplicação!!")



    escreva("\n" + "Digite o valor que deseja: ")

   leia(multiplicacao)



 

    

    faca{


         resultado = multiplicacao * contador

         escreva (multiplicacao + " x " + contador + " = " + resultado + "\n")

         contador ++

         

     

   }enquanto (contador<=limite)

   }


    



     se (menu==2) {//Realiza a Adição

    escreva(" Ok!! Abrindo Adição")



    escreva("\n" + "Digite o valor que deseja: ")

   leia(adicao)



 

    

    faca{


         resultado = adicao + contador

         escreva (adicao + " + " + contador + " = " + resultado + "\n")

         contador ++

         

     

   }enquanto (contador<=limite)

     }



    se (menu==3) {// Realiza a Multiplicação

    escreva(" Ok!! Abrindo Subtração")



    escreva("\n" + "Digite o valor que deseja: ")

   leia(subtracao)



 

    

    faca{


         resultado = subtracao - contador

         escreva (subtracao + " - " + contador + " = " + resultado + "\n")

         contador ++

         

     

   }enquanto (contador<=limite)

     }

       



      

      

     se (menu==4) {// Realiza a Divisão

    escreva(" Ok!! Abrindo Divisão")



    escreva("\n" + "Digite o valor que deseja: ")

   leia(divisao)



 

    

    faca{


         resultado = divisao / contadord

         escreva (divisao + " - " + contadord + " = " + resultado + "\n")

         contadord ++

         

     

   }enquanto (contadord<=limite)

     }




0
Cauã Santos

Cauã Santos

23/02/2021 15:46

Não sei você esqueceu de postar o código completo, mas tu realmente só colocaste a operação de multiplicação. Faltou adicionar uma lógica de comandos caso a variável menu fosse 2, 3 ou 4. Do jeito que está, se menu for igual 2, 3 ou 4 irá direto para o comandos


escreva("\n" + "Digite o valor que deseja: ")
leia(multiplicacao)
faca{
	resultado = multiplicacao * contador
	escreva (multiplicacao + " x " + contador + " = " + resultado + "\n")
	contador ++
}enquanto (contador<=limite)


Além disso, se você usar divisão, lembre que isso irá gerar números fracionários. Portanto, não são do tipo inteiro. No exemplo abaixo, eu colocaria assim se usasse se, senao


se (menu == '+')
{
    lógica do programa
}
senao se(operador == '-')
{
	logica do programa
}
senao se(operador == '/')
{
	logica do programa
}
senao se(operador == '*')
{
	logica do programa
}	


Com a palavra reservada caso, que é a sua dúvida

escolha (menu)	
{
	caso 1:
 		lógica do programa
 		pare   // Impede que as instruções do caso 2 sejam executadas
 	caso 2: 
 		lógica do programa
 		pare   // Impede que as instruções do caso 2 sejam executadas
 	caso 3: 
 		lógica do programa
 		pare
    caso 4:
        lógica do programa
        pare
   	caso contrario: // Para qualquer valor da variável menu diferente de 1, 2, 3 ou 4
   		escreva ("Não seja babaca apertando em opção que não existe! rsrs")
}


Você poderia, assim como no exemplo anterior, substituir para o tipo caracter, '+', '-', '*', '/' os tipos de caso . Aliás, trocaria a variável menu por opcao. Fica mais claro. Mas enfim. Faça do jeito que acha melhor.


Espero ter ajudado

0
Alisson Carvalho

Alisson Carvalho

23/02/2021 15:22

Boa tarde.

Você poderia alterar o tipo da variável resultado para real:

real resultado


Poderia criar uma outra variável chamada de "valor" do tipo real, por exemplo. Para

ela ser lida para receber o valor que o usuário escolheu. Pois

com o nome de multiplicação fica estranho, pois pode ser qualquer uma

das quatro operações.


Terá que alterar o valor inicial do "contador" para 1, pois se ficar com 0, vai dar

problema para fazer a divisão, pois não divide por zero. É uma sugestão.


Por fim você poderia fazer um caso dentro do faca, por exemplo:


cadeia nome

inteiro menu = 0

inteiro contador,limite,contadorA,limiteA,multiplicacao,divisao,adicao,subtracao

real resultado,valor

  

contador = 1

limite = 10

escreva("Qual o seu nome: ") 


leia(nome)

escreva("Olá," + nome + ",Escolha uma das operações abaixo que deseja estudar")


escreva("\n" + "=============================================================")


escreva("\n" + "1 - Multiplicação 2 - Divisão 3 - Adição 4 - Subtração")

escreva("\n" + "=============================================================")


leia(menu)


se (menu==1) {

  escreva(" Ok!! Abrindo Multiplicação!!")

}

se (menu==2) {

  escreva(" ok!! Abrindo Divisão!!")

}

se (menu==3) {

  escreva(" ok!! Abrindo Adição!!")

}

se (menu==4) {

  escreva(" ok!! Abrindo Subtração!!")

}


escreva("\n" + "Digite o valor que deseja: ")

leia(valor)


faca{

escolha (menu)

{

caso 1: 

resultado = valor * contador

     escreva (valor + " x " + contador + " = " + resultado + "\n")

pare  

caso 2: 

resultado = valor / contador

     escreva (valor + " / " + contador + " = " + resultado + "\n")

pare  

caso 3: 

resultado = valor + contador

     escreva (valor + " + " + contador + " = " + resultado + "\n")

pare

caso 4: 

resultado = valor - contador

     escreva (valor + " - " + contador + " = " + resultado + "\n")

pare

caso contrario:

escreva ("Opção Inválida !")

}

     contador ++

  }enquanto (contador<=limite)

None

Brasil