Hola amigos del foro recien comienzo con este tema de switch-case, hice un programa para que el usuario pueda elegir entre calcular el area o el perimetro de un triangulo, el problema es que no me lo esta tomando al switch pero si al default, en fin les dejo el programa a ver si alguien me puede ayudar, desde ya muchas gracias
Código:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
//Programa para calcular el area de un triangulo o su perimetro
char a;
float b,c,d,e,f,p;
float areatri;
main(){
printf("\n ingrese la base del triangulo");
scanf ("%f", &b);
printf ("\n ingrese la altura del triangulo");
scanf ("%f", &c);
printf("\n ingrese el valor de los lados");
scanf ("%f%f%f",&d,&e,&f);
printf("\n opcion1: area del triangulo");
printf("\n opcion2: perimetro del triangulo");
printf("\n opcion3: salir");
switch(a)
{
case 1:
if (b>0 && c>0)
{
areatri=(b*c)/2;
printf ("\n el area del triangulo es %f \n \n", areatri);
}
else
{
printf("\n error: ingrese valores mayores que cero \n \n");
}
break;
case 2:
if (d<=0 || e<=0 || f<=0)
{
printf("\n error: ingrese valores mayores que cero \n \n");
}
else if (d+e > f && d+f > e && e+f > d)
{
p= d+e+f;
printf ("\n el perimetro del triangulo es %f \n \n", p);
}
else
{
printf ("\n error: La suma de dos lados debe ser mayor que el lado restante \n \n");
}
break;
case 3:
system("pause");
break;
default:
printf("\n opcion incorrecta");
getch();
}
system("pause");
}