Programación General > C/C++
Re: Ahorcado para 2 jugadores...
© Jonathan ©:
Hola amigos, creo haber encontrado un error en su codigo fuente, trate de compilarlo con Turbo C++ 3.0 pero me daba un error raro, lo unico que hice fue midificar una linea de este codigo y el problema se soluciono, a continuacion les describo el cambio que realice en el fuente para poder compilarlo sin errores.
respuesta=NULL; /*CON ESTE FOR LIMPIO LA CADENA*/
Modifique la siguiente linea, lo unico que le agregue fue " = " el fuente me quedo de la siguiente forma:
respuesta == NULL; /*CON ESTE FOR LIMPIO LA CADENA*/
No digo que haya estado mal, capaz el error es mio pero colocandolo asi logre compilarlo sin problemas.
Saludos.
gmantil:
Hola Jonathan:
Yo también encontré este error, pero asumí que fue dejado a propósito, pues la variable respuesta es una cadena de caracteres, luego para poder asignar NULL a sus elementos se hace necesario subdindicar la variable.
Debes colocar ==> respuesta=NULL;
Sinembargo, de todas maneras esta operación debe ser revisada para ver su necesidad, pues date cuenta que inicializan solo 10 elementos de respuesta en NULL y la variable tiene 80 elementos.
gmantil
gmantil:
Error ===> respuesta=NULL;
gmantil
daviiid:
Sinceramente supongo que lo que pretende es colocar cada una de las posiciones del arreglo en 0 (NULL) y por eso es que hace ese for, o de algun otro modo el uso de ese for es inutil, y si nos damos cuenta en la ventana de mensajes del compilador, aun asi nos aparece 3 warning y uno de ellos corresponde a esa parte.
SOLUCION (en mi concepto)
original
for(i=0;i<10;i++)
{
respuesta=NULL; /*CON ESTE FOR LIMPIO LA CADENA*/
}
correccion
for(i=0;i<80;i++)
{
respuesta=NULL; /*CON ESTE FOR LIMPIO LA CADENA*/
}
es un manejo mas limpio y claro del error que aparece al compilar, aunque aun sigo deciendo que se deben manejar como apuntadores y no como arrays y mi modificacion al entrar la palabra es mejor que empleo el programador original y que despues dejo gmantil al hacer su seudo-correccion.
Otros warnings
el segundo warning mal hecha la conversion. Sencillo es la comparacion de un caracter (letra) con los caracteres de toda una cadena (palabra) y solo es la comparacion letra por letra.
original
for(i=0;i<longitud;i++)
{
if(letra==palabra) //error
{
gotoxy(15+i*4+18,19);
printf("%c",letra);
respuesta=letra;
}
}
correccion
for(i=0;i<longitud;i++)
{
if(letra==palabra) // correccion
{
gotoxy(15+i*4+18,19);
printf("%c",letra);
respuesta=letra;
}
}
tercer warning casi similar al error, y los demas warning
original corregido
for(i=0;i<longitud;i++)
{
if(letra==palabra)
{
gotoxy(15+i*4+18,19);
printf("%c",letra);
respuesta=letra; //error
}
}
correccion ultima
for(i=0;i<longitud;i++)
{
if(letra==palabra)
{
gotoxy(15+i*4+18,19);
printf("%c",letra);
respuesta=letra; //correccion
}
}
sencillo o no.
daviiid:
SOLUCION (en mi concepto)
original
for(i=0;i<10;i++)
{
respuesta=NULL; /*CON ESTE FOR LIMPIO LA CADENA*/
}
correccion
for(i=0;i<80;i++)
{
respuesta=NULL; /*CON ESTE FOR LIMPIO LA CADENA */
}
Navegación
[#] Página Siguiente
[*] Página Anterior
Ir a la versión completa