Vale, ahora pondre el programa completo pero solo con un case. Y si, hay muchos verbos y enc ada case hay uno. LLamo a random, y segun el numero aleatorio que salga, sera un case, y ese es el verbo que tendre que traducir.
Sobre los goto ya lo arreglo, pero ahora lo que me interesa es poner el case como una funcion, ya que cada vez que hay un verbo nuevo, tengo que copiar el mismo trozo de codigo solo que cambaido algunas variables segun el verbo que sea.
Código C:
Ver original#include <stdio.h>
int main()
{ //variables
int cont=0;
int aleatorio_ingles=0, aleatorio_espanol=0, opcion_mal, opcion_verbo;
char verbo[15];
//pongo chars con los verbos
char betray[8]="betray";
char traicionar[15]="traicionar";
//.......
//Ahora aqui estaria el menu principal que elegiria
//entre traducir a espanol o al ingles.
//......
//Aqui es la opcion traducir al ingles
printf("\n\n\t ***Espanol - Ingles***\n\n"); aleatorio_espanol:
cont++;
aleatorio_espanol2:
aleatorio_espanol
=152+rand()%209;//se saca un numero random // del 152 al 209
//esto una cosa rara porque algnas veces salia otro numero raro,
//jaja. Simplemente asegurar que el numero es el valido
if(aleatorio_espanol < 152 || aleatorio_espanol > 209)
goto aleatorio_espanol2;
switch(aleatorio_espanol)// un switch segun el numero random
case 1://por ejemplo el case 1, que es el verbo traicionar
// esta es la parte que quiero convertir en funcion, porque
//cuando hay un verbo neuvo, copio este mismo codigo y hago otro
//case, solo que cambiando el nombre de las variables al nuevo verbo
do{
printf("\n Traduzca traicionar: "); scanf(" %[^\n]s",&verbo
);
{
do{
printf("\n\n Que desea hacer ahora?: "); scanf(" %d",&opcion_verbo
);
switch(opcion_verbo)
{
case 1:
goto aleatorio_espanol;
break;
case 2:
break;
default:
printf("\n Opcion incorrecta, intentelo de nuevo: \n\n"); break;
}
}while(opcion_verbo != 1 && opcion_verbo != 2);
}
else
{
printf("\n Lo siento, traduccion incorrecta\n"); do{
printf("\n 1-. Volver a intentarlo\n"); scanf(" %d",&opcion_mal
);
switch(opcion_mal)
{
case 1:
break;
case 2:
break;
default:
printf("\n Opcion no valida, intentelo de nuevo\n"); break;
}
}while(opcion_mal != 1 && opcion_mal != 2);
}
}while(opcion_mal == 1);
break;
return 0;
}