Muchas gracias, eso no lo sabia :P
Ya lo hice y me salio a la perfeccion. Pero al intentar hacer otra funcion para la parte español-ingles, al intentar probarlo me daba error. Tras hacer muchas pruebaas, decidi borrar esa funcion y probar el programa. Y cual fue mi sorpresa que dio error.
Es decir, hice la primero funcion, me salio, y despues de hacer otra funcion y borrarla, ahora la primera funcion me da error, sin apenas haberla tocado. Que esta pasando¿
me dice: "passing arg 1 of strcmp' makes pointer from integer without a cast", eso en cada variable. Muy extraño.
Os dejo el programa, haber que pasa:
Código C:
Ver originalint cont=0;
int aleatorio_ingles=0,opcion,opcion_espanol,opcion_mal,opcion_verbo;
char verbo;
int aleatorio_espanol=0,opcion_verbo2;
char *verb, *verb2, *verb3, *verb4, *verb5, *verb6, *verb7;
void e_verbo()
{
do{
printf("\n Traduzca %s: ",verb2
); scanf(" %[^\n]s",&verbo
);
if(strcmp(verbo
,verb
)==0)//el primer error me lo da aqui //,no se porque
{
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", verb
, verb2
);
else
{
if(verb4==NULL)
printf("\n La traduccion del verbo %s es: %s, %s\n\n", verb
, verb2
, verb3
);
else
{
if(verb5==NULL)
printf("\n La traduccion del verbo %s es: %s, %s, %s\n\n", verb
, verb2
, verb3
, verb4
);
else
{
if(verb6==NULL)
printf("\n La traduccion del verbo %s es: %s, %s, %s, %s\n\n", verb
, verb2
, verb3
, verb4
, verb5
);
else
{
if(verb7==NULL)
printf("\n La traduccion del verbo %s es: %s, %s, %s, %s, %s\n\n", verb
, verb2
, 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 1: //os paso directamente al case
verb = betray;
verb2 = traicionar;
verb3, verb4, verb5, verb6, verb7;
e_verbo();// llamo a la funcion
break;
return 0;
}