Blog en Blogger Perfil en Slideshare Bookmarks en Delicious Perfil el Facebook Perfil en Twitter Fotos en Flickr Página en MySpace Canal en YouTube Perfil en Google Perfil en Google
Búsqueda personalizada
Ejercicios de programación en lenguaje C
 Inicio Ejercicios Lenguaje C Alternativa múltiple 2 > Solución

Solución del Ejercicio 2 - Habitaciones de una casa rural (Alternativa múltiple - Lenguaje C)

#include <stdio.h>

int main()
{
   int numero;

   printf( "Listado de habitaciones:" );
   printf( "\n\n1. Azul" );
   printf( "\n2. Roja" );
   printf( "\n3. Verde" );
   printf( "\n4. Rosa" );
   printf( "\n5. Gris" );
   printf( "\n\nIntroduzca numero de habitacion: " );

   scanf( "%d", &numero );

   switch ( numero )
   {
      case  1 : printf( "La Azul tiene 2 cama/s y esta en la primera planta." );
                break;
      
case  2 : printf( "La Roja tiene 1 cama/s y esta en la primera planta." );
                
break;
      
case  3 : printf( "La Verde tiene 3 cama/s y esta en la segunda planta." );
                
break;
      
case  4 : printf( "La Rosa tiene 2 cama/s y esta en la segunda planta." );
                
break;
      
case  5 : printf( "La Gris tiene 1 cama/s y esta en la tercera planta." );
                
break;
      default : printf( "ERROR: %d no esta asociado a ninguna habitacion.", numero );
   }

   return 0;
}


Una segunda solución es:

#include <string.h>
#include <stdio.h>

int main()
{
   char nombre[6], planta[8];
   int numero, camas;

   printf( "Listado de habitaciones:" );
   printf( "\n\n1. Azul" );
   printf( "\n2. Roja" );
   printf( "\n3. Verde" );
   printf( "\n4. Rosa" );
   printf( "\n5. Gris" );
   printf( "\n\nIntroduzca numero de habitacion: " );

   scanf( "%d", &numero );

   switch ( numero )
   {
      case  1 : strcpy( nombre, "Azul" );
                camas = 2;
                strcpy( planta, "primera" );
                break;
      
case  2 : strcpy( nombre, "Roja" );
                camas = 1;
                strcpy( planta, "primera" );
                
break;
      
case  3 : strcpy( nombre, "Verde" );
                camas = 3;
                strcpy( planta, "segunda" );
                
break;
      
case  4 : strcpy( nombre, "Rosa" );
                camas = 2;
                strcpy( planta, "segunda" );
                
break;
      
case  5 : strcpy( nombre, "Gris" );
                camas = 1;
                strcpy( planta, "tercera" );
   }

   if ( numero >= 1 && numero <= 5 )
      printf( "La %s tiene %d cama/s y esta en la %s planta.",
              nombre, camas, planta );
   else
      printf( "ERROR: %d no esta asociado a ninguna habitacion.",
              numero );

   return 0;
}


(Véase el apartad2.3 Alternativa multiple ( la instrucción switch ) del Curso de lenguaje C).
 Páginas relacionadas
  · Solución del ejercicio en pseudocódigo, ordinogramaPascal.
  · Instrucción alternativa múltiple (switch) en la sintaxis del ANSI C.
  · Presentaciones resumen y soluciones a los Ejercicios Propuestos en el libro EMPEZAR DE CERO A PROGRAMAR EN LENGUAJE C.