elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: ¿Usas Skype? Protégete de los Skype Resolver


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse)
| | |-+  Juego del ahorcado! C
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Juego del ahorcado! C  (Leído 541 veces)
kuhi

Desconectado Desconectado

Mensajes: 35


50 shadows of Kappa


Ver Perfil
Juego del ahorcado! C
« en: 21 Abril 2017, 18:34 »

Hola! Estoy haciendo el trabajo final de Introducción a la programación en C, me piden hacer el juego del ahorcado.
Me sale un problema, que no caigo en que puedo estar fallando, simplemente hago un gets() para almacenar una cadena de caracteres y se salta la fase de entrada de datos. No me permite darle la cadena de datos, se salta completamente esa parte.
Hay algo que hago mal y no me estoy dando cuenta, y debe ser algo muy muy básico.
He probado hacer el gets con la variable string y con la variable palabra, no me ha funcionado ninguna.

Pido por favor que no me adelanten más de lo que pido, quiero hacer el trabajo yo aprendiendo, solo quiero consultar y aclarar las dudas puntuales, porque hay gente con buena voluntad que igual quiere decirme más cosas de la cuenta y eso no me ayudaría a aprender.
Saludos y muchas gracias!

Código:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define MIN 4 // longitud minima palabra
#define MAX 8 // longitud maxima palabra
#define OPORTUNIDADES 7 // nr de oportunidades por partida

int jugadores[30][2]; // jugadores[x][y] nr de jugador y puntos del jugador
int njugadores; // nr de jugadores que participan
char palabra;
char string[8];
void playstring();
void banner();
int bienvenida();

int main()
{
banner(); // muestra un bonito dibujo del juego
system("cls");
system("color EC");
bienvenida(); // da la bienvenida al juego y almacena el numero de jugadores
printf("Indique una palabra de 4-8 letras:\n");
gets(string);
//strcpy(string,palabra);
//playstring();
}


En línea

El conocimiento no ocupa lugar, somos libres de saber cuánto queramos...
Fedex15

Desconectado Desconectado

Mensajes: 7


Ver Perfil
Re: Juego del ahorcado! C
« Respuesta #1 en: 21 Abril 2017, 19:13 »

Mira, con char palabra te va a tirar error porque es un char, no es una cadena.

Acordate que gets() es una funcion peligrosa, si le pasas una cadena de mayor tamaño que la memoria reservada sigue escribiendo en otras partes de la memoria, lo que podria probocar algun segmentation fault.

Acordate que gets es es :

Char* gets (char* _s). Recibe un puntero a char y devuelve un puntero a char.

Cual es el error que te esta tirando, es de compilacion o cuando ejecutas el programa?.


« Última modificación: 21 Abril 2017, 19:17 por Fedex15 » En línea

MAFUS


Desconectado Desconectado

Mensajes: 944



Ver Perfil
Re: Juego del ahorcado! C
« Respuesta #2 en: 21 Abril 2017, 21:34 »

Introducción a la programación...
¿Te han hablado del buffer de entrada y como trabajan las funciones de adquisición de datos por teclado?
El problema es que cuando pides esos datos el buffer de entrada todavía tiene cosas dentro, y entre esas cosas está el carácter de nueva línea, que hace que la función se detenga y guarde el contenido que ha capturado. Por parte del usuario lo único que ve es que el programa se salta la entrada de datos.

Cuando captures una entrada por teclado asegúrate de vaciar el buffer después. Hay varias técnicas. Cómo es un proyecto de fin de asignatura te invito a que los indagues.
En línea

while(is_alive(yourself)) {
    make_true(yourself, yourdreams);
}
kuhi

Desconectado Desconectado

Mensajes: 35


50 shadows of Kappa


Ver Perfil
Re: Juego del ahorcado! C
« Respuesta #3 en: 21 Abril 2017, 22:29 »

Muchas gracias!! <3 con fflush(stdin) solucionado!
No había caído, gracias!!!
En línea

El conocimiento no ocupa lugar, somos libres de saber cuánto queramos...
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
El juego del ahorcado...
Programación C/C++
-Digital- 9 7,287 Último mensaje 7 Abril 2010, 22:12
por DarkItachi
Juego del ahorcado C#
.NET
treblatp 3 7,974 Último mensaje 3 Febrero 2011, 20:18
por Khronos14
Juego del Ahorcado
ASM
ziony 1 2,903 Último mensaje 27 Abril 2012, 21:52
por Eternal Idol
JUEGO EL AHORCADO
Java
.rn3w. 2 754 Último mensaje 3 Marzo 2014, 16:19
por .rn3w.
Ahorcado (juego en c)
Programación C/C++
Reginald 3 636 Último mensaje 26 Enero 2016, 19:10
por WHK
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines