Torricelli, to keep the program running until the user enters the invalid number, the code can be as follows:
programa
{
funcao inicio()
{
inteiro base,altura,area
logico continua = verdadeiro
enquanto(continua) {
escreva("\nDigite a base:")
leia(base)
escreva("\nDigite a altura:")
leia(altura)
se ((base == 0) ou (altura ==0)) {
escreva("\nNúmero inválido")
continua = falso
} senao se ((base >0) e (altura >0)) {
area = base*altura
escreva("\n A área do retângulo é:",area)
}
}
}
}
If you don’t need to keep the loop, the code hardly changes, as any of the invalid numbers no longer allow you to execute the calculation:
programa
{
funcao inicio()
{
inteiro base,altura,area
escreva("\nDigite a base:")
leia(base)
escreva("\nDigite a altura:")
leia(altura)
se ((base == 0) ou (altura ==0)) {
escreva("\nNúmero inválido")
} senao se ((base >0) e (altura >0)) {
area = base*altura
escreva("\n A área do retângulo é:",area)
}
}
}
And to exit as soon as the user enters the first invalid number, it can be as follows, creating a simple function that validates the typed number:
programa
{
funcao logico validaValorDigitado(inteiro valor) {
se (valor == 0) {
escreva("\nNúmero inválido")
retorne falso
} senao {
retorne verdadeiro
}
}
funcao inicio()
{
inteiro base,altura,area
escreva("\nDigite a base:")
leia(base)
se (nao validaValorDigitado(base)) {
retorne
}
escreva("\nDigite a altura:")
leia(altura)
se (nao validaValorDigitado(base)) {
retorne
}
area = base*altura
escreva("\n A área do retângulo é:",area)
}
}
All the codes were based on what you posted, I hope it helps you!
Does the comparison within se differ if it is an integer or if it is a string? Type 0 is different from "0".
– Edward Ramos
You want to stay in an endless loop by calculating while the user does not enter an invalid number or perform only once and if the guy type 0 (zero) you enter the incorrect number and do not calculate?
– Daniel Mendes
Run only once, and if the user type 0 (zero) appears "Invalid option, try again" and terminate the program. But if you want to show me both ways,.
– Torricelli
Edward Ramos,has difference yes,I declared as integer both the base variable and height,therefore will only accept numbers.
– Torricelli