starfix: no, ya los tengo puestos. LA opcion que os he enseñado, el verbo traicionar, era el case numero 209, asi que......
Pero es que lo EXTRAÑO es que antes no necesitaba ese & y funcionaba perfectamente, y ahora no se que he hecho que me da error. Además he añadido una nueva opcion que es mostrar la traduccion del verbo, y es muy extraño porque a al principio me sale bien, le doy a menu y al inentarlo no me va, despues si, y asi bastantes veces, no se que pasa.
Os paso el codigo con el case del verbo traicionar.
(por cierto ya se que hay algunos goto, pero por ahora mi problema es que funcione la funcion, mas adelante rematare eso :).
Código C:
Ver originalint cont=0;
int aleatorio_ingles=0,opcion,opcion_espanol,opcion_mal,opcion_verbo;
char verbo[];
char *verb, *verb2, *verb3, *verb4, *verb5, *verb6, *verb7;
int aleatorio_espanol=0,opcion_verbo2;
char traicionar[15]="traicionar", betray[8]="betray";
void e_verbo()
{
do{
printf("\n Traduzca %s: ",verb2
); scanf(" %[^\n]s",&verbo
); {
do{
printf("\n\n Que desea hacer ahora?: "); scanf(" %d",&opcion_verbo
);
if(opcion_verbo < 1 || opcion_verbo > 2)
{
printf("\n Opcion incorrecta, intentelo de nuevo: \n\n"); }
}while(opcion_verbo != 1 && opcion_verbo != 2);
}
else
{
printf("\n Lo siento, traduccion incorrecta\n"); do{
printf("\n 1-. Volver a intentarlo\n"); printf("\n 2-. Ver traduccion\n"); scanf(" %d",&opcion_mal
);
switch(opcion_mal)
{
case 1:
break;
case 2:
if(verb3==NULL)
printf("\n La traduccion del verbo %s es: %s\n\n", verb2
, verb
);
else
{
if(verb4==NULL)
printf("\n La traduccion del verbo %s es: %s, %s\n\n", verb2
, verb
, verb3
);
else
{
if(verb5==NULL)
printf("\n La traduccion del verbo %s es: %s, %s, %s\n\n", verb2
, verb
, verb3
, verb4
);
else
{
if(verb6==NULL)
printf("\n La traduccion del verbo %s es: %s, %s, %s, %s\n\n", verb2
, verb
, verb3
, verb4
, verb5
);
else
{
if(verb7==NULL)
printf("\n La traduccion del verbo %s es: %s, %s, %s, %s, %s\n\n", verb2
, verb
, verb3
, verb4
, verb5
, verb6
);
}}}}
break;
case 3:
break;
default:
printf("\n Opcion no valida, intentelo de nuevo\n"); break;
}
}while(opcion_mal != 1 && opcion_mal != 2 && opcion_mal != 3);
}
}while(opcion_mal == 1);
}
int main(){
case 210://paso directamente al case:
verb = rattle;
verb2 = sonar;
verb3 = vibrar, verb4, verb5, verb6, verb7;
e_verbo();
if (opcion_verbo == 1){
goto aleatorio_espanol;}
if(opcion_verbo
== 2 || opcion_mal
== 3){system("cls");}
if(opcion_mal == 2) goto menu;
break;