Programación General > C/C++

 Re: Ahorcado para 2 jugadores...

<< < (3/4) > >>

© 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

[0] Índice de Mensajes

[#] Página Siguiente

[*] Página Anterior

Ir a la versión completa