Ayuda con programación en dev c++

Iniciado por juan11622, 3 Abril 2014, 04:30 AM

0 Miembros y 1 Visitante están viendo este tema.

juan11622

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.

engel lex

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

Código (cpp) [Seleccionar]
int a;
scanf ("%d", &a);


a es un entero que recibió un valor de tipo dígito (numero) pero en tu ciclo hay

Código (cpp) [Seleccionar]
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
Código (cpp) [Seleccionar]
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
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.