Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: juan11622 en 3 Abril 2014, 04:30 am



Título: Ayuda con programación en dev c++
Publicado por: juan11622 en 3 Abril 2014, 04:30 am
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.


Título: Re: Ayuda con programación en dev c++
Publicado por: engel lex en 3 Abril 2014, 04:43 am
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
  1. int a;
  2. scanf ("%d", &a);

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

Código
  1. switch (a)
  2. {
  3. case '1':;
  4. printf ("Enero");
  5. 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
  1. 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