Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Problema a la hora de hacer un switch anidado

Estas en el tema de Problema a la hora de hacer un switch anidado en el foro de C/C++ en Foros del Web. Hola a tod@s He estado intentando aprender a programar en c++ a base de tuoriales que he ido encontrando por hay jajajajajaja me dio por ...
  #1 (permalink)  
Antiguo 22/05/2014, 15:44
 
Fecha de Ingreso: mayo-2014
Mensajes: 1
Antigüedad: 9 años, 11 meses
Puntos: 0
Pregunta Problema a la hora de hacer un switch anidado

Hola a tod@s

He estado intentando aprender a programar en c++ a base de tuoriales que he ido encontrando por hay jajajajajaja
me dio por intentar hacer un programa a base de switch, al compilarlo me bota dos errores que no he podido solucionar.
Los problemas que me da al compilar son estos
error C2043: instrucción break no válida
error C2046: palabra clave case no válida
en el codigo estan señalados con **

agradeceria toda la ayuda posible ya que soy nuevo en esto de programar en c++

Código PHP:
Este programa esta diseñado para calcular el costo del alquiler del vehiculo

#include<iostream>
using namespace std;
int main()
{
int cat,cot,cut,mod;
float total=0millas,dia;
        
cout <<"\n\t\Alquiler Vehiculo\n";
        
cout <<"\t1. Consulta modelos disponibles"<<endl;
        
cout <<"\t2. Calculo de precio del alquiler por tipo de gama"<<endl;
        
cout <<"\t3. Calculo de Descuentos"<<endl;
        
cin>>cat;
            switch (
cat)
                case 
1:
                    
cout <<"\n\t\Marca\n";
                    
cout <<"\t1. Mercedes"<<endl;
                    
cout <<"\t2. FORD"<<endl;
                    
cout <<"\t3. Renault"<<endl;
                    
cin>>cot;
                    switch(
cot)
                    {
                        case 
1:
                        
                            
cout <<"\n\t\Selecione el modelo para ver las caracteriticas\n";
                            
cout <<"\t1. Clase A"<<endl;
                            
cout <<"\t2. Clase B"<<endl;
                            
cout <<"\t3. Clase C"<<endl;
                            
cout <<"\t4. Clase    Ml"<<endl;
                            
cin>>mod;
                                switch (
mod)
                                    {
                                        case 
1:
                                            
cout <<"\t Full Equipo"<<"   "<<"si (gps integrado)"<< endl;
                                            
cout <<"\t Aire acondicionado"<<"   "<<"si"<< endl;
                                            
cout <<"\t Numero de pasajeros"<<"   "<<"4 adultos 1 niño"<< endl;
                                            
cout <<"\t Numero de maletas"<<"   "<<"3"<< endl;
                                            
cout <<"\t Gama"<<"   "<<"alta"<< endl;
                                            break;
                                        case 
2:
                                            
cout <<"\t Full Equipo"<<"   "<<"si (gps integrado)"<< endl;
                                            
cout <<"\t Aire acondicionado"<<"   "<<"si"<< endl;
                                            
cout <<"\t Numero de pasajeros"<<"   "<<"4 adultos 1 niño"<< endl;
                                            
cout <<"\t Numero de maletas"<<"   "<<"4"<< endl;
                                            
cout <<"\t Gama"<<"   "<<"alta"<< endl;
                                            break;
                                        case 
3:
                                            
cout <<"\t Full Equipo"<<"   "<<"si (gps integrado)"<< endl;
                                            
cout <<"\t Aire acondicionado"<<"   "<<"si"<< endl;
                                            
cout <<"\t Numero de pasajeros"<<"   "<<"4 adultos 1 niño"<< endl;
                                            
cout <<"\t Numero de maletas"<<"   "<<"3"<< endl;
                                            
cout <<"\t Gama"<<"   "<<"alta"<< endl;
                                            
cout <<"disponible en modelo sedan y coupe"<<endl;
                                            
cout <<"consultar disponibilidad en el punto de alquiler"<<endl;
                                            break;
                                        case 
4:
                                            
cout <<"\t Full Equipo"<<"   "<<"si (gps integrado)"<< endl;
                                            
cout <<"\t Aire acondicionado"<<"   "<<"si"<< endl;
                                            
cout <<"\t Numero de pasajeros"<<"   "<<"5 adultos "<< endl;
                                            
cout <<"\t Numero de maletas"<<"   "<<"5"<< endl;
                                            
cout <<"\t Gama"<<"   "<<"alta"<< endl;
                                            break;
                                        default:
                                            
cout<<"\t Opcion no valida"<<endl;
                                    }
                                    break;
                        case 
2:
                            
cout <<"\n\t\Selecione el modelo para ver las caracteriticas\n";
                            
cout <<"\t1. Fusion"<<endl;
                            
cout <<"\t2. Explorer"<<endl;
                            
cout <<"\t3. Edge"<<endl;
                            
cout <<"\t4. Focus"<<endl;
                            
cin>>mod;
                                switch (
mod)
                                    {
                                        case 
1:
                                            
cout <<"\t Full Equipo"<<"   "<<"si (gps integrado)"<< endl;
                                            
cout <<"\t Aire acondicionado"<<"   "<<"si"<< endl;
                                            
cout <<"\t Numero de pasajeros"<<"   "<<"4 adultos 1 niño"<< endl;
                                            
cout <<"\t Numero de maletas"<<"   "<<"3"<< endl;
                                            
cout <<"\t Gama"<<"   "<<"Media"<< endl;
                                            break;
                                        case 
2:
                                            
cout <<"\t Full Equipo"<<"   "<<"si (gps integrado)"<< endl;
                                            
cout <<"\t Aire acondicionado"<<"   "<<"si"<< endl;
                                            
cout <<"\t Numero de pasajeros"<<"   "<<"5 adultos"<< endl;
                                            
cout <<"\t Numero de maletas"<<"   "<<"5"<< endl;
                                            
cout <<"\t Gama"<<"   "<<"alta"<< endl;
                                            break;
                                        case 
3:
                                            
cout <<"\t Full Equipo"<<"   "<<"si (gps integrado)"<< endl;
                                            
cout <<"\t Aire acondicionado"<<"   "<<"si"<< endl;
                                            
cout <<"\t Numero de pasajeros"<<"   "<<"5 adultos"<< endl;
                                            
cout <<"\t Numero de maletas"<<"   "<<"5"<< endl;
                                            
cout <<"\t Gama"<<"   "<<"alta"<< endl;
                                            
cout <<"disponible en modelo sedan y coupe"<<endl;
                                            
                                            break;
                                        case 
4:
                                            
cout <<"\t Full Equipo"<<"   "<<"si "<< endl;
                                            
cout <<"\t Aire acondicionado"<<"   "<<"si"<< endl;
                                            
cout <<"\t Numero de pasajeros"<<"   "<<"4 adultos 1 niño "<< endl;
                                            
cout <<"\t Numero de maletas"<<"   "<<"3"<< endl;
                                            
cout <<"\t Gama"<<"   "<<"media"<< endl;
                                            
cout <<"disponibilidad de vehiculo adaptado para discapacitados"<<endl;
                                            break;
                                        default:
                                            
cout<<"\t Opcion no valida"<<endl;
                                        break;
                                    }
                                break;
                                case 
3:
                                    
int mod;
                                    
cout <<"\n\t\Selecione el modelo para ver las caracteriticas\n";
                                    
cout <<"\t1. Duster"<<endl;
                                    
cout <<"\t2. Logan"<<endl;
                                    
cout <<"\t3. Clio"<<endl;
                                    
cout <<"\t4. Megane"<<endl;
                                    
cin>>mod;
                                    switch (
mod)
                                        {
                                            case 
1:
                                                
cout <<"\t Full Equipo"<<"   "<<"si (gps integrado)"<< endl;
                                                
cout <<"\t Aire acondicionado"<<"   "<<"si"<< endl;
                                                
cout <<"\t Numero de pasajeros"<<"   "<<"4 adultos 1 niño"<< endl;
                                                
cout <<"\t Numero de maletas"<<"   "<<"4"<< endl;
                                                
cout <<"\t Gama"<<"   "<<"Media"<< endl;
                                                break;
                                            case 
2:
                                                
cout <<"\t Full Equipo"<<"   "<<"si"<< endl;
                                                
cout <<"\t Aire acondicionado"<<"   "<<"si"<< endl;
                                                
cout <<"\t Numero de pasajeros"<<"   "<<"4 adultos 1 niño"<< endl;
                                                
cout <<"\t Numero de maletas"<<"   "<<"3"<< endl;
                                                
cout <<"\t Gama"<<"   "<<"Media"<< endl;
                                                break;
                                            case 
3:
                                                
cout <<"\t Full Equipo"<<"   "<<"si "<< endl;
                                                
cout <<"\t Aire acondicionado"<<"   "<<"si"<< endl;
                                                
cout <<"\t Numero de pasajeros"<<"   "<<"4 adultos"<< endl;
                                                
cout <<"\t Numero de maletas"<<"   "<<"3"<< endl;
                                                
cout <<"\t Gama"<<"   "<<"alta"<< endl;
                                                break;
                                            case 
4:
                                                
cout <<"\t Full Equipo"<<"   "<<"si "<< endl;
                                                
cout <<"\t Aire acondicionado"<<"   "<<"si"<< endl;
                                                
cout <<"\t Numero de pasajeros"<<"   "<<"4 adultos 1 niño "<< endl;
                                                
cout <<"\t Numero de maletas"<<"   "<<"3"<< endl;
                                                
cout <<"\t Gama"<<"   "<<"media"<< endl;
                                                
cout <<"disponibilidad de vehiculo adaptado para discapacitados"<<endl;
                                                break;
                                            default:
                                                
cout<<"\t Opcion no valida"<<endl;
                                            }
                                    break;
                                }
                **break;**
                                    
                **case 
2:**

                
cout <<"\n\t\Alquiler Vehiculo\n";
cout <<"\t1. Vehiculo Gama alta"<<endl;
cout <<"\t2. VEhiculo Gama media"<<endl;
cout <<"\t3. Vehiculo adaptado para discapacitados"<<endl;
cout<<"Los precios incluyen Seguro y asistencia en carretera"<<endl;
cout << "Digite la categoria: "<<endl;
cin>>cut;
switch(
cut)
{
case 
1:
cout<< "Ingrese la cantidad de dias que el vehiculo ha sido rentado \n";
cin>>dia;
cout<<"Ingrese las millas recorridas \n";
cin>>millas;
total =(millas*0.5)*(dia*24);
break;
case 
2:
cout<< "Ingrese la cantidad de dias que el vehiculo ha sido rentado "<<endl;
cin>>dia;
cout<<"Ingrese las millas recorridas "<<endl;
cin>>millas;
total=(millas*0.5)*(dia*20);
break;
case 
3:
cout<< "Ingrese la cantidad de dias que el vehiculo ha sido rentado "<<endl;
cin>>dia;
cout<<"Ingrese las millas recorridas "<<endl;
cin>>millas;
total=(millas*0.5)*(dia*30);
break;

default:
    
cout<<"Opcion no valida"<<endl;
break;
}
cout << "El total a pagar por el alquiler del Vehiculo es de "<<total<<endl;
system("Pause");
return 
0;

Gracias por su tiempo y su colaboración

pd: por ahora el programa que uso para programar es visual express 2008, tbm agradeceria alguna recomendación de un programa con una interfaz mas sencilla
  #2 (permalink)  
Antiguo 22/05/2014, 16:51
Avatar de vangodp  
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 10 años, 6 meses
Puntos: 38
Respuesta: Problema a la hora de hacer un switch anidado

Tiene muchos errores.

haces quinientas lineas de cout eso lo podías meter en en funciones.

te sugiero que primero montes la estructura y que comentes bien.

Después solo pegas el texto en cada lugar por que lo que tienes ahí es un caos.
he visto que tienes declarados 2 variables iguales y que falta break; en algunas partes y en otras sobra.
tienes 2 case 2:
Casi es mejor rehacer todo prestando mucha atención.
No te olvides poner break; para cada case y default.
No te olvides llaves de cierre son esos los problemas que vi.
Tienes que prestar mas atención en esos detalles.

Código C++:
Ver original
  1. switch () {
  2.     case 1:                         //alquiler
  3.         switch () { //Interno1
  4.             case 1://configuracion1
  5.                
  6.                 break;
  7.             case 2://configuracion2
  8.            
  9.                 break;
  10.             case 3://configuracion3
  11.  
  12.                 break;
  13.             default:
  14.                
  15.                 break;
  16.         }//Interno1 fin
  17.         break;
  18.        
  19.     case 2:                        //accesorios
  20.  
  21.         break;
  22.     case 3:                        //ford
  23.  
  24.         break;
  25.     case 4:                        //mercedes
  26.        
  27.         break;    
  28.     default:
  29.        
  30.         break;
  31. }//fin switch

Etiquetas: compilar, int, numero, programa, switch
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:49.