Tema: switch-case
Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/10/2012, 09:41
ema1993
 
Fecha de Ingreso: agosto-2012
Mensajes: 17
Antigüedad: 12 años, 5 meses
Puntos: 0
switch-case

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");

}