Bueno es que para aprender a usar la función switch tengo que crear un programa en el que se introduzca un número del 1 al 12, y el programa muestre el mes que corresponde, voy así.
#include <stdlib.h>
#include <stdio.h>
int main ()
{
int a;
printf ("Digite un número del 1 al 4 ");
scanf ("%d", &a);
switch (a)
{
case '1':;
printf ("Enero");
break;
case '2':;
printf ("Febrero");
break;
case '3':;
printf ("Marzo");
break;
case '4':;
printf ("Mayo");
break;
default:
printf ("Número no válido");
}
system ("pause");
}
Bueno pues ahí está acortado no lo he terminado pero la cosa es que compila normal y ejecuta pero siempre se ejecuta la opcíon default así ponga un número que debe funcionar, entonces tal vez saben porqué no me sirve.
antes que todo...cuando publiques código, usa las etiquetas GeSHi a la derecha del editor sobre los emoticones (por favor modifica el tema y colocale etiqueta a tu código)
te explico tu problema...
existen diferentes tipos de variables, ya hasta ahí debes conocer
int a;
scanf ("%d", &a);
a es un entero que recibió un valor de tipo dígito (numero) pero en tu ciclo hay
switch (a)
{
case '1':;
printf ("Enero");
break;
tienes 2 errores
-colocas 1 entre comillas simples, esto le indica al compilador que es un valor de tipo char o su valor equivalente en entero que es 49
tienes que colocar
case 1:
para que el comprenda que el valor es el numero entero 1
-el otro es el punto y coma después de los 2 puntos, no va
pruebalo y por favor avisas :P