Eu gostaria de saber qual é o meu erro, porque o programa executa mas na hora da 'opção 3', ele o mesmo triangulo, parece que ta imprimindo sujeira basicamente. Gostaria de saber qual o problema no meu programa! Grata ;-;!
obs: o programa deve ler três lados e dizer se é ou não um triângulo, e se for um triângulo qual tipo
#include "iomanip"
#include "iostream"
#include "conio.h"
#include "string.h"
#include "math.h"
using namespace std;
struct triangulo{
double ladoa, ladob, ladoc, semiperimetro, base, altura, area;
};
int main(){
setlocale(LC_ALL, "Portuguese");
struct triangulo triangulo[3];
int i, figura;
figura=0;
char tecla='0';
while(tecla!=27){
system("cls");
cout<<"\n------TRIANGULOS-------\
\n1- Cadastrar Dados\
\n2- Efetuar Calculos\
\n3- EXIBIR\
\n4- SAIR\n";
tecla= getch();
if(tecla=='1'){
for(i=0;i<3; i++){
cout<<"\nDigite o lado a:"; cin>>triangulo.ladoa; cout<<"\nDigite o lado b:"; cin>>triangulo.ladob; cout<<"\nDigite o lado c:"; cin>>triangulo.ladoc; cout<<"\n----------------\n"; } } if(tecla=='2'){ for(i=0;i<3;i++){ if((triangulo.ladoa>(triangulo.ladob+triangulo.ladoc)) || ((triangulo.ladob>(triangulo.ladoa+triangulo.ladoc))) || ((triangulo.ladoc>(triangulo.ladoa+triangulo.ladob))) ) figura=1; else if((triangulo.ladoa==triangulo.ladob) && (triangulo.ladob==triangulo.ladoc)) figura=2; else if((triangulo.ladoa==triangulo.ladob && triangulo.ladoa!=triangulo.ladoc) || (triangulo.ladoa==triangulo.ladoc && triangulo.ladoa!=triangulo.ladob) || (triangulo.ladob==triangulo.ladoc && triangulo.ladob!=triangulo.ladoa)) figura=3; else if((triangulo.ladoa!=triangulo.ladob) && (triangulo.ladoa!=triangulo.ladoc) && (triangulo.ladob!=triangulo.ladoc)) figura=4; } } if(tecla=='3'){ for(i=0;i<3;i++){ if(figura==1) cout<<"\nNAO É FIGURA!"; else if(figura==2){ cout<<"\nTriângulo Equilátero!"; } else if(figura==3){ cout<<"\nTriângulo Isóceles!"; } else if(figura==4){ cout<<"\nTriângulo Escaleno!"; } } system("pause"); } } return 0; }