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

sentencia switch bug

Estas en el tema de sentencia switch bug en el foro de C/C++ en Foros del Web. Hola, Tengo un pequeño problema con las sentencias switch. todo lo demás esta funcionando el único detalle es que al acabarse el segundo switch (anidado) ...
  #1 (permalink)  
Antiguo 15/05/2015, 22:31
 
Fecha de Ingreso: mayo-2015
Mensajes: 1
Antigüedad: 8 años, 11 meses
Puntos: 0
sentencia switch bug

Hola, Tengo un pequeño problema con las sentencias switch.
todo lo demás esta funcionando el único detalle es que al acabarse el segundo switch (anidado) se pasa directamente al case 2: del switch principal en ves de salir del programa
gracias de antemano, un saludo :)

int main(int argc, char *argv[])
{ int op;
menu menu;
cin>>op;
menu.setop(op);
switch(menu.getop()){
case 1:{
menu.caninos();
cin>>op;
menu.setop(op);
switch(menu.getop()){
case 1:{
chihuahua chihuahua;
animal &chi = chihuahua;
chi.come();
chihuahua.come("croquetas");
chi.edad();
chihuahua.edad(20);
perro &chih =chihuahua;
chih.ladrar();
chihuahua.ladrar("agudo");
cout<<endl<<"************************************* ****************"<<endl<<endl;
break;}
case 2:{
labrador labrador;
animal &lab = labrador;
lab.come();
labrador.come("croquetas");
lab.edad();
labrador.edad(14);
perro &labr=labrador;
labr.ladrar();
labrador.ladrar("Grave");
cout<<endl<<"************************************* ****************"<<endl<<endl;
break;}

case 3:{
danes danes;
animal &dan = danes;
dan.come();
danes.come("croquetas");
dan.edad();
danes.edad(14);
perro &dane=danes;
dane.ladrar();
danes.ladrar("Grave");
cout<<endl<<"************************************* ****************"<<endl<<endl;
break;}
}; }

case 2:{
menu.felinos();
cin>>op;
menu.setop(op);
witch(menu.getop()){
case 1:{
siames siames;
animal &sia = siames;
sia.come();
siames.come("croquetas enlatadas");
sia.edad();
siames.edad(15);
gato &siam =siames;
siam.maullar();
siames.maullar("ronco");
cout<<endl<<"************************************* ****************"<<endl<<endl;
break;}
case 2:{
persas persas;
animal &per = persas;
per.come();
persas.come("croquetas enlatadas");
per.edad();
persas.edad(20);
gato &pers =persas;
pers.maullar();
persas.maullar("agudo");
cout<<endl<<"************************************* ****************"<<endl<<endl;
break;}
case 3:{
bengala bengala;
animal &ben = bengala;
ben.come();
bengala.come("croquetas enlatadas");
ben.edad();
bengala.edad(13);
gato &beng =bengala;
beng.maullar();
bengala.maullar("agudo");
cout<<endl<<"************************************* ****************"<<endl<<endl;
break;
}
}; }
case 3: {

menu.aves();
cin>>op;
menu.setop(op);
switch(menu.getop()){
case 1:{
cotorro cotorro;
animal &cot = cotorro;
cot.come();
cotorro.come("semillas de girasol");
cot.edad();
cotorro.edad(25);
ave &coto =cotorro;
coto.habilidad();
cotorro.habilidad("reproducir sonidos");
cout<<endl<<"************************************* ****************"<<endl<<endl;
break;}

case 2: {
guacamaya guacamaya;
animal &gua = guacamaya;
gua.come();
guacamaya.come("semillas de girasol");
gua.edad();
guacamaya.edad(70);
ave &guaca =guacamaya;
guaca.habilidad();
guacamaya.habilidad("reproducir sonidos");
cout<<endl<<"************************************* ****************"<<endl<<endl;
break;}

case 3:{
cacatua cacatua;
animal &caca = cacatua;
caca.come();
cacatua.come("semillas de girasol");
caca.edad();
cacatua.edad(60);
ave &cacat =cacatua;
cacat.habilidad();
cacatua.habilidad("hacer trueques");
cout<<endl<<"************************************* ****************"<<endl<<endl;
break;}


};
}





};


system("PAUSE");
return EXIT_SUCCESS;
}
  #2 (permalink)  
Antiguo 16/05/2015, 02:29
 
Fecha de Ingreso: octubre-2013
Mensajes: 44
Antigüedad: 10 años, 5 meses
Puntos: 5
Respuesta: sentencia switch bug

Debes añadir un "break;" en la última línea del switch1 principal.

Etiquetas: c++
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 23:39.