domingo, 21 de abril de 2013

C++, switch-case



BORLAND C++:
programa 10: switch-case 


Switch case es una estructura de control empleada en programación, a la que pertenecen otras estructuras como el if, if else o until, entre otras, así como combinaciones propias de determinados lenguajes de programación.
El switch no es tan popular como el if, pero se utiliza con regularidad en la programación. En principio la funcionalidad de un switch también se puede implementar con múltiples ifs anidados. En el caso de que hayan muchas acciones dependientes de muchos valores iniciales, es recomendable su uso. El switch favorece la legibilidad y rapidez en la programación.

Nomenclatura:
switch( variable ){
  case valor1: accion1; (*)
  case valor2: accion2; (*)
  ...
  case valorN: accionN; (*)
 
  default: accionD; (**
}
 
EJEMPLO:
Programa quedespliega un menu (turistico), con la posibiidad de incluir un if-else para la opcion de numero de ocupantes o participantes para saber el tipo de paquete recomendado.


#include <conio.h>

#include <iostream.h>

#include <stdio.h>

#include <windows>


/*ALICIA CHAVEZ ROMERO

2do CUATRIMESTRE "C"

MECATRONICA

FIGURAS

*/

char nombre[30], direccion[30],r, nam,si ;

int op=0, nump=0, ocupantes=0;


void main()

{

 cout<<"%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%"<<endl;

 cout<<"%%%%%%%%%%%%%%%%%%%%%%%%%%%% **MI VIAJE POR HIDALGO** %%%%%%%%%%%%%%%%%%%%%%%%"<<endl;

 cout<<"%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% CORREDOR TURISTICO %%%%%%%%%%%%%%%%%%%%%%%%%%%"<<endl;

 cout<<"%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%"<<endl;

 cout<<"\nSELECCION DE PAQUETES"<<endl;

 cout<<"\nIngresar NOMBRE COMPLETO"<<endl;

  cin>>nombre;

 cout<<"\nIngresar DIRECCION"<<endl;

  cin>>direccion;

do

{

 cout<<"\n..A CONTINUACION SE DESPLIEGA EL MENU DE DESTINOS.."<<endl;

 cout<<"\nSELECCIONA ALGUNA DE NUESTRAS OPCIONES"<<endl;

 cout<<"\n1)LAS GRUTAS TOLANTONGO "<<endl;

 cout<<"\n2)PARQUE ACUATICO TE-PATHE "<<endl;

 cout<<"\n3)LA GLORIA "<<endl;

 cout<<"\n4)CENTRO ECOTURISTICO LA FLORIDA "<<endl;

 cout<<"\n5)LAS GRUTAS DE XOXAFI "<<endl;

cout<<"\nEscribe el # del destino seleccionado"<<endl;

cin>>op;

switch (op)

        {

            case 1:

              clrscr();

              cout<<"BIENVENIDO....."<<nombre<<endl;

              cout<<"HAZ SELECCIONADO:"<<endl;

              cout<<"%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% GRUTAS TOLANTONGO %%%%%%%%%%%%%%%%%%%%%%%%%%%%"<<endl;

              cout<<"UBICACION:"<<endl;

              cout<<"LOCALIDAD:....SAN CRISTOBAL"<<endl;

              cout<<"MUNICIPIO:....CARDONAL"<<endl;

              cout<<"ES NECESARIO COLOCAR EL NUMERO DE PARTICIPANTES"<<endl;

              cin>>ocupantes;

              if (ocupantes<=4)

             {

              cout<<"EL COSTO TOTAL DEL PAQUETE ES:....$4000.00"<<endl;

              cout<<"CON UNA DURACION DE:..............4 DIAS Y 3 NOCHES"<<endl;

              cout<<"HOSPEDAJE RECOMENDADO: ...........Habitacion sencilla en Hotel"<<endl;

              cout<<"INCLUYE:..... 3 comidas p/dia, \nvisita a la gruta principal, \nTirolesa, \nPaseo en cuatrimotos por toda la zona"<<endl;

              cout<<"\n\nDESEA HACER SU RESERVACION AHORA <S=SI   N=NO>"<<endl;

              cin>>si;

              if (si=='s'||si=='S')

              {

              clrscr();

              cout<<"RESERVACION EN PROCESO"<<endl;

              cout<<"NOMBRE COMPLETO..........."<<nombre<<endl;

              cout<<"DIRECCION................."<<direccion<<endl;

              cout<<"NUMERO DE PARTICIPANTES..."<<ocupantes<<endl;

              cout<<"DESTINO.....GRUTAS TOLANTONGO"<<endl;

              cout<<"Total a cubrir: $4000.00"<<endl;

              cout<<"Abonar a la cuenta: 302303912"<<endl;

              cout<<"NOTA: Cubrir el 50% del costo total antes de los siguientes 5 dias habiles para confirmar su reservacion GRACIAS"<<endl;

              }

              else

              {

              cout<<"Vuelva pronto";

              }

             }

             else if(ocupantes>=5)

             {

              cout<<"EL COSTO TOTAL DEL PAQUETE ES:....$8000.00"<<endl;

              cout<<"CON UNA DURACION DE:..............3 DIAS Y 2 NOCHES"<<endl;

              cout<<"HOSPEDAJE RECOMENDADO: ...........HOTEL"<<endl;

              cout<<"INCLUYE:..... 3 comidas p/dia, \n visita a la gruta principal, \nTirolesa, \nPaseo en cuatrimotos por toda la zona, \ny consumo ilimitado de bebidas refrescantes"<<endl;

            cout<<"\n\nDESEA HACER SU RESERVACION AHORA <S=SI   N=NO>"<<endl;

              cin>>si;

              if (si=='s'||si=='S')

              {

              clrscr();

              cout<<"RESERVACION EN PROCESO"<<endl;

              cout<<"NOMBRE COMPLETO..........."<<nombre<<endl;

              cout<<"DIRECCION................."<<direccion<<endl;

              cout<<"NUMERO DE PARTICIPANTES..."<<ocupantes<<endl;

              cout<<"DESTINO.....GRUTAS TOLANTONGO"<<endl;

              cout<<"Total a cubrir: $8000.00"<<endl;

              cout<<"Abonar a la cuenta: 302303912"<<endl;

              cout<<"NOTA: Cubrir el 50% del costo total antes de los siguientes 5 dias habiles para confirmar su reservacion GRACIAS"<<endl;

              }

              else

              {

              cout<<"Vuelva pronto";

              }

             }

             break;


            case 2:

            clrscr();

              cout<<"BIENVENIDO....."<<nombre<<endl;

              cout<<"HAZ SELECCIONADO:"<<endl;

              cout<<"%%%%%%%%%%%%%%%%%%%%%%%%%%%% PARQUE ACUATICO TE-PATHE %%%%%%%%%%%%%%%%%%%%%%%%%"<<endl;

              cout<<"UBICACION:"<<endl;

              cout<<"LOCALIDAD:....TE-PATHE"<<endl;

              cout<<"MUNICIPIO:....IXMIQUILPAN"<<endl;

              cout<<"ES NECESARIO COLOCAR EL NUMERO DE PARTICIPANTES"<<endl;

              cin>>ocupantes;

              if (ocupantes<=4)

             {

              cout<<"EL COSTO TOTAL DEL PAQUETE ES:....$3000.00"<<endl;

              cout<<"CON UNA DURACION DE:..............4 DIAS Y 3 NOCHES"<<endl;

              cout<<"HOSPEDAJE RECOMENDADO: ...........CASA DE CAMPAÑA"<<endl;

              cout<<"INCLUYE:..... 3 comidas p/dia, \nacceso a todas las instalaciones sin restriccion de tiempo"<<endl;

              cout<<"\n\nDESEA HACER SU RESERVACION AHORA <S=SI   N=NO>"<<endl;

              cin>>si;

              if (si=='s'||si=='S')

              {

              clrscr();

              cout<<"RESERVACION EN PROCESO"<<endl;

              cout<<"NOMBRE COMPLETO..........."<<nombre<<endl;

              cout<<"DIRECCION................."<<direccion<<endl;

              cout<<"NUMERO DE PARTICIPANTES..."<<ocupantes<<endl;

              cout<<"DESTINO.....PARQUE ACUATICO TE-PATHE"<<endl;

              cout<<"Total a cubrir: $3000.00"<<endl;

              cout<<"Abonar a la cuenta: 745303912"<<endl;

              cout<<"NOTA: Cubrir el 50% del costo total antes de los siguientes 5 dias habiles para confirmar su reservacion GRACIAS"<<endl;

              }

              else

              {

              cout<<"Vuelva pronto";

              }

             }

             else if(ocupantes>=5)

             {

              cout<<"EL COSTO TOTAL DEL PAQUETE ES:....$6500.00"<<endl;

              cout<<"CON UNA DURACION DE:..............4 DIAS Y 3 NOCHES"<<endl;

              cout<<"HOSPEDAJE RECOMENDADO: ...........HOTEL"<<endl;

              cout<<"INCLUYE:..... 3 comidas p/dia,\nacceso a todas las instalaciones sin restriccion de tiempo,\nservicio de bar ilimitado"<<endl;

               cout<<"\n\nDESEA HACER SU RESERVACION AHORA <S=SI   N=NO>"<<endl;

              cin>>si;

              if (si=='s'||si=='S')

              {

              clrscr();

              cout<<"RESERVACION EN PROCESO"<<endl;

              cout<<"NOMBRE COMPLETO..........."<<nombre<<endl;

              cout<<"DIRECCION................."<<direccion<<endl;

              cout<<"NUMERO DE PARTICIPANTES..."<<ocupantes<<endl;

              cout<<"DESTINO.....PARQUE ACUATICO TE-PATHE"<<endl;

              cout<<"Total a cubrir: $6500.00"<<endl;

              cout<<"Abonar a la cuenta: 745303912"<<endl;

              cout<<"NOTA: Cubrir el 50% del costo total antes de los siguientes 5 dias habiles para confirmar su reservacion GRACIAS"<<endl;

              }

              else

              {

              cout<<"Vuelva pronto";

              }

             }

             break;

           case 3:

            clrscr();

              cout<<"BIENVENIDO....."<<nombre<<endl;

              cout<<"HAZ SELECCIONADO:"<<endl;

              cout<<"%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LA GLORIA %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%"<<endl;

              cout<<"UBICACION:"<<endl;

              cout<<"LOCALIDAD:....LA MESA"<<endl;

              cout<<"MUNICIPIO:....CARDONAL"<<endl;

              cout<<"ES NECESARIO COLOCAR EL NUMERO DE PARTICIPANTES"<<endl;

              cin>>ocupantes;

              if (ocupantes<=4)

             {

              cout<<"EL COSTO TOTAL DEL PAQUETE ES:....$3000.00"<<endl;

              cout<<"CON UNA DURACION DE:..............4 DIAS Y 3 NOCHES"<<endl;

              cout<<"HOSPEDAJE RECOMENDADO: ...........CASA DE CAMPAÑA"<<endl;

              cout<<"INCLUYE:..... 3 comidas p/dia, \nRappel, \ntirolesa"<<endl;

              cout<<"\n\nDESEA HACER SU RESERVACION AHORA <S=SI   N=NO>"<<endl;

              cin>>si;

              if (si=='s'||si=='S')

              {

              clrscr();

              cout<<"RESERVACION EN PROCESO"<<endl;

              cout<<"NOMBRE COMPLETO..........."<<nombre<<endl;

              cout<<"DIRECCION................."<<direccion<<endl;

              cout<<"NUMERO DE PARTICIPANTES..."<<ocupantes<<endl;

              cout<<"DESTINO.....LA GLORIA"<<endl;

              cout<<"Total a cubrir: $3000.00"<<endl;

              cout<<"Abonar a la cuenta: 445303912"<<endl;

              cout<<"NOTA: Cubrir el 50% del costo total antes de los siguientes 5 dias habiles para confirmar su reservacion GRACIAS"<<endl;

              }

              else

              {

              cout<<"Vuelva pronto";

              }

             }

             else if(ocupantes>=5)

             {

              cout<<"EL COSTO TOTAL DEL PAQUETE ES:....$6000.00"<<endl;

              cout<<"CON UNA DURACION DE:..............4 DIAS Y 3 NOCHES"<<endl;

              cout<<"HOSPEDAJE RECOMENDADO: ...........CABAÑA"<<endl;

              cout<<"INCLUYE:..... 3 comidas p/dia, \nRappel, \nTirolesa, \nservicio de bar ilimitado"<<endl;

              cout<<"\n\nDESEA HACER SU RESERVACION AHORA <S=SI   N=NO>"<<endl;

              cin>>si;

              if (si=='s'||si=='S')

              {

              clrscr();

              cout<<"RESERVACION EN PROCESO"<<endl;

              cout<<"NOMBRE COMPLETO..........."<<nombre<<endl;

              cout<<"DIRECCION................."<<direccion<<endl;

              cout<<"NUMERO DE PARTICIPANTES..."<<ocupantes<<endl;

              cout<<"DESTINO.....LA GLORIA"<<endl;

              cout<<"Total a cubrir: $6000.00"<<endl;

              cout<<"Abonar a la cuenta: 445303912"<<endl;

              cout<<"NOTA: Cubrir el 50% del costo total antes de los siguientes 5 dias habiles para confirmar su reservacion GRACIAS"<<endl;

              }

              else

              {

              cout<<"Vuelva pronto";

              }

             }

             break;

             case 4:

             clrscr();

              cout<<"BIENVENIDO....."<<nombre<<endl;

              cout<<"HAZ SELECCIONADO:"<<endl;

              cout<<"%%%%%%%%%%%%%%%%%%%%%%%%%% CENTRO ECOTURISTICO LA FLORIDA %%%%%%%%%%%%%%%%%%%%"<<endl;

              cout<<"UBICACION:"<<endl;

              cout<<"LOCALIDAD:....LA FLORIDA"<<endl;

              cout<<"MUNICIPIO:....CARDONAL"<<endl;

              cout<<"ES NECESARIO COLOCAR EL NUMERO DE PARTICIPANTES"<<endl;

              cin>>ocupantes;

              if (ocupantes<=4)

             {

              cout<<"EL COSTO TOTAL DEL PAQUETE ES:....$3000.00"<<endl;

              cout<<"CON UNA DURACION DE:..............4 DIAS Y 3 NOCHES"<<endl;

              cout<<"HOSPEDAJE RECOMENDADO: ...........CABAÑA"<<endl;

              cout<<"INCLUYE:..... 3 comidas p/dia, \nEntrada sin restricciones a todos los centros historicos de la zona (EX-HACIENDA, Cuevas de Pinturas Ruprestres, etc.)"<<endl;

              cout<<"\n\nDESEA HACER SU RESERVACION AHORA <S=SI   N=NO>"<<endl;

              cin>>si;

              if (si=='s'||si=='S')

              {

              clrscr();

              cout<<"RESERVACION EN PROCESO"<<endl;

              cout<<"NOMBRE COMPLETO..........."<<nombre<<endl;

              cout<<"DIRECCION................."<<direccion<<endl;

              cout<<"NUMERO DE PARTICIPANTES..."<<ocupantes<<endl;

              cout<<"DESTINO.....CENTRO ECOTURISTICO LA FLORIDA"<<endl;

              cout<<"Total a cubrir: $3000.00"<<endl;

              cout<<"Abonar a la cuenta: 739303912"<<endl;

              cout<<"NOTA: Cubrir el 50% del costo total antes de los siguientes 5 dias habiles para confirmar su reservacion GRACIAS"<<endl;

              }

              else

              {

              cout<<"Vuelva pronto";

              }

             }

             else if(ocupantes>=5)

             {

              cout<<"EL COSTO TOTAL DEL PAQUETE ES:....$5000.00"<<endl;

              cout<<"CON UNA DURACION DE:..............4 DIAS Y 3 NOCHES"<<endl;

              cout<<"HOSPEDAJE RECOMENDADO: ...........CABAÑA"<<endl;

              cout<<"INCLUYE:..... 3 comidas p/dia, \nEntrada sin restricciones a todos los centros historicos de la zona (EX-HACIENDA, Cuevas de Pinturas Ruprestres, etc.), consumo ilimitado de bebidas refrescantes"<<endl;

              cout<<"\n\nDESEA HACER SU RESERVACION AHORA <S=SI   N=NO>"<<endl;

              cin>>si;

              if (si=='s'||si=='S')

              {

              clrscr();

              cout<<"RESERVACION EN PROCESO"<<endl;

              cout<<"NOMBRE COMPLETO..........."<<nombre<<endl;

              cout<<"DIRECCION................."<<direccion<<endl;

              cout<<"NUMERO DE PARTICIPANTES..."<<ocupantes<<endl;

              cout<<"DESTINO.....CENTRO ECOTURISTICO LA FLORIDA"<<endl;

              cout<<"Total a cubrir: $5000.00"<<endl;

              cout<<"Abonar a la cuenta: 739303912"<<endl;

              cout<<"NOTA: Cubrir el 50% del costo total antes de los siguientes 5 dias habiles para confirmar su reservacion GRACIAS"<<endl;

              }

              else

              {

              cout<<"Vuelva pronto";

              }

             }


            break;

             case 5:

             clrscr();

              cout<<"BIENVENIDO....."<<nombre<<endl;

              cout<<"HAZ SELECCIONADO:"<<endl;

              cout<<"%%%%%%%%%%%%%%%%%%%%%%%%%% LAS GRUTAS DE XOXAFI %%%%%%%%%%%%%%%%%%%%"<<endl;

              cout<<"UBICACION:"<<endl;

              cout<<"LOCALIDAD:....XOXAFI"<<endl;

              cout<<"MUNICIPIO:....SANTIAGO DE ANAYA"<<endl;

              cout<<"ES NECESARIO COLOCAR EL NUMERO DE PARTICIPANTES"<<endl;

              cin>>ocupantes;

              if (ocupantes<=4)

              {

              cout<<"EL COSTO TOTAL DEL PAQUETE ES:....$3000.00"<<endl;

              cout<<"CON UNA DURACION DE:..............3 DIAS Y 2 NOCHES"<<endl;

              cout<<"HOSPEDAJE RECOMENDADO: ...........CASA DE CAMPAÑA"<<endl;

              cout<<"INCLUYE:..... 3 comidas p/dia, \nacceso a todas las actividades recreativas con un descuento del 80%, \nbar ilimitado"<<endl;

              cout<<"\n\nDESEA HACER SU RESERVACION AHORA <S=SI   N=NO>"<<endl;

              cin>>si;

              if (si=='s'||si=='S')

              {

              clrscr();

              cout<<"RESERVACION EN PROCESO"<<endl;

              cout<<"NOMBRE COMPLETO..........."<<nombre<<endl;

              cout<<"DIRECCION................."<<direccion<<endl;

              cout<<"NUMERO DE PARTICIPANTES..."<<ocupantes<<endl;

              cout<<"DESTINO.....LAS GRUTAS DE XOXAFI"<<endl;

              cout<<"Total a cubrir: $3,000.00"<<endl;

              cout<<"Abonar a la cuenta: 657838332"<<endl;

              cout<<"NOTA: Cubrir el 50% del costo total antes de los siguientes 5 dias habiles para confirmar su reservacion GRACIAS"<<endl;

              }

              else

              {

              cout<<"Vuelva pronto";

              }

             }

             else if(ocupantes>=5)

             {

              cout<<"EL COSTO TOTAL DEL PAQUETE ES:....$6000.00"<<endl;

              cout<<"CON UNA DURACION DE:..............4 DIAS Y 3 NOCHES"<<endl;

              cout<<"HOSPEDAJE RECOMENDADO: ...........CABAÑA"<<endl;

              cout<<"INCLUYE:..... 3 comidas p/dia, \nacceso a todas las actividades recreativas sin costo, \nbar ilimitado"<<endl;

              cout<<"\n\nDESEA HACER SU RESERVACION AHORA <S=SI   N=NO>"<<endl;

              cin>>si;

              if (si=='s'||si=='S')

              {

              clrscr();

              cout<<"RESERVACION EN PROCESO"<<endl;

              cout<<"NOMBRE COMPLETO..........."<<nombre<<endl;

              cout<<"DIRECCION................."<<direccion<<endl;

              cout<<"NUMERO DE PARTICIPANTES..."<<ocupantes<<endl;

              cout<<"DESTINO.....LAS GRUTAS DE XOXAFI"<<endl;

              cout<<"Total a cubrir: $6,000.00"<<endl;

              cout<<"Abonar a la cuenta: 657838332"<<endl;

              cout<<"NOTA: Cubrir el 50% del costo total antes de los siguientes 5 dias habiles para confirmar su reservacion GRACIAS"<<endl;

              }

              else

              {

              cout<<"Vuelva pronto";

              }

             }

           break;

           clrscr();

          default:

          cout<<"OPCION INVALIDA NO CONTAMOS CON ESE DESTINO"<<endl;

        }


cout<<"\n\nDESEA CONOCER ALGUN OTRO DE NUESTROS PAQUETES"<<endl;

cout<<"   <S=SI     N=NO>"<<endl;

cin>>r;

clrscr();


}while (r=='s'||r=='S');

getche();


}

se muestra la imagen del programa ejecutado:



primer parte del programa (portada)

ingresar datos del interesado y despliegue del menu de destinos

borrar pantalla y despliegue de las caracteristicas del destino y tambien la peticion del numero de participantes para saber que paquete le corresponde.

despliegue de informacion y pregunta de si se desea realizar reservacion

en esta cado fue afrimativa asi que imprimio los datos del solicitante y el destino seleccionado como un ticket de presentacion.



 
 referencia:
 http://es.wikipedia.org/wiki/Switch_case








No hay comentarios:

Publicar un comentario