Duda puntual

Jacke
04 de Marzo del 2004
Muy buenas.
Mi duda consiste en que soy incapaz de realizar un switch y que vuelva al princpio si la opcion no esta "activada".
cout<<endl<<endl<<"Elige el nivel de dificultad:"<<endl<<endl;
cout<<"1) FACIL "<<endl<<endl;
cout<<"2) MEDIO "<<endl<<endl;
cout<<"3) DIFICIL" <<endl<<endl;
cin>>dif;
do{
switch(dif){
case \'1\':
clrscr();
Nivel = NFACIL;
jugar();
break;
case \'2\':
clrscr();
Nivel = NMEDIO;
jugar();
break;
case \'3\':
clrscr();
Nivel = NDIFICIL;
jugar();
break;
default:
cout<<"Nivel de dificultad no establecido, por favor intentelo de nuevo.."<<endl;
salir = FALSE;
break;
}
cout<<"Te quedan "<<DinTotal<< " euros"<<endl<<endl;
if (DinTotal <= 0){
cout<<"Lo sentimos. Se ha quedado sin dinero. No puede seguir jugando"<<endl;
getch();
break;
}
cout << "¨Deseas seguir jugando?(s/n)";
cin >> sn;
if (sn == \'s\') salir = FALSE;

Soy incapaz de hacer que vuelva al principio..se me keda en bucle.
Otra duda es: Como cargar una imagende fondo en Turbo c++, que necesito?? y donde encontrar informacion para saber como lo hago?? Gracias.

joseie1
04 de Marzo del 2004
primero si quieres que te aparesca el menu denuevo:
el do-while inicialo antes del menu....

do
{
clrscr();
//menu.........

2º en el switch evalua las opciones sin la comilla simple


Jacke
04 de Marzo del 2004
y la condicion del while?? Recuerda que ha de ser valida tanto para que tire hacia atras cuando el numero no sea ni 1,2 y 3 y que deje pasar cuando la instruccion baja de cualkiera de dentro de las opciones... :S

Gracias

nosic
04 de Marzo del 2004
podrias meter todos los casos simplemente en una variable entera (en vez de cout<<1... etc), solo te creas "int variable" y escribes el switch en funcion de esa variable (case 1: .... case 2: ... etc), y al final le metes el while para cerrar el do del principio

te falta el while ( );

me explico:

do{
switch(dif){
case \'1\':
clrscr();
Nivel = NFACIL;
jugar();
break;
case \'2\':
.
.
.
.
default:
cout<<"Nivel de dificultad no establecido, por favor intentelo de nuevo.."<<endl;
salir = FALSE;
break;
}
while (variable<1 || variable>3);