Within the while
no questions
while (o != 2){
printf ("\nDigite 1 para CONTINUAR \nDigite 2 para SAIR");
scanf ("%i", &o);
}
You have to put your 'type the sides of the triangle' within the while
:
#include <stdio.h>
#include <stdlib.h>
int main(){
int x, y ,z, o;
while (o != 2){ /// ; verifica se continua
printf ("Informe o valor do primeiro lado: ");
scanf ("%i", &x);
printf ("Informe o valor do segundo lado: ");
scanf ("%i", &y);
printf ("Informe o valor do terceiro lado: ");
scanf ("%i", &z);
if ( x == y && x == z){
printf ("Esse é um triângulo EQUILÁTERO.");
}
else if ( (x == y && x != z) || (x == z && x != y) ){
printf ("Esse é um triângulo ISÓSCELES.");
}
else
if ( x != y && x != z && y != z){
printf ("Esse é um triângulo ESCALENO.");
}
printf ("\nDigite 1 para CONTINUAR \nDigite 2 para SAIR");
scanf ("%i", &o);
} /// ; fim do loop
system ("pause");
}
See the code working on repl it.
Now note that the while
already starts by checking if he should enter the loop. As in his logic he has to enter the while
at least 1 time a better option would be to use the do-while
that makes this check at the end of the loop, see the code below:
#include <stdio.h>
#include <stdlib.h>
int main(){
int x, y ,z, o;
do{ /// ; inicio do loop
printf ("Informe o valor do primeiro lado: ");
scanf ("%i", &x);
printf ("Informe o valor do segundo lado: ");
scanf ("%i", &y);
printf ("Informe o valor do terceiro lado: ");
scanf ("%i", &z);
if ( x == y && x == z){
printf ("Esse é um triângulo EQUILÁTERO.");
}
else if ( (x == y && x != z) || (x == z && x != y) ){
printf ("Esse é um triângulo ISÓSCELES.");
}
else
if ( x != y && x != z && y != z){
printf ("Esse é um triângulo ESCALENO.");
}
printf ("\nDigite 1 para CONTINUAR \nDigite 2 para SAIR");
scanf ("%i", &o);
}while (o != 2); /// ; verifica se continua
system ("pause");
}
See the code working on repl it.
Reference: while
, do-while()
What’s the matter?
– novic
When the user type 1 to continue, the options for him to enter the value of the triangle do not appear...
– Aragon
it’s hard I have no way to test
– novic