Dudas juego ahorcado en C

Iniciado por Philips, 9 Marzo 2019, 22:10 PM

0 Miembros y 1 Visitante están viendo este tema.

Philips

Hola, soy novato en programacion, estoy tratando de hacer un ahorcado en el lenguaje C, solo que me encontré con un pequeño problema. ¿Como puedo hacer una condición para que el usuario no digite letras repetidas al tratar de adivinar la palabra?... les agradecería mucho su ayuda.

K-YreX

Para ello debes poder almacenar la información. Creo que la forma más visual es mediante dos arrays, uno de tipo <char> y otro de tipo <bool> (se puede añadir la librería <stdbool.h> para poder usar variables boolenas) o sino de tipo <int> con {0,1}.
Cuando te dicen una letra, la buscas en el array de <char>, coges su posición y miras esa posición en el array de tipo <bool/int>. Si el valor es 0, aceptas la letra y lo pones a 1, si el valor es 1, el usuario tiene que elegir otra letra. Suerte :-X
Código (cpp) [Seleccionar]

cout << "Todos tenemos un defecto, un error en nuestro código" << endl;

CalgaryCorpus

Si usas el caracter como indice del arreglo, solo es necesario 1 arreglo.
Aqui mi perfil en LinkedIn, invitame un cafe aqui

CalgaryCorpus

Malentendi lo que estaba dicho antes. Olvida mi comentario anterior.
Aqui mi perfil en LinkedIn, invitame un cafe aqui

K-YreX

Lo cierto es que sí que se puede usar un único array. Se inicializa con tamaño suficiente para todas las letras posibles pero con valores nulos. Y cada vez que el usuario introduce un caracter, se comprueba si ya está en el array; si está, se solicita otro caracter y si no está se da por válido y se introduce.
Yo había dado la otra idea porque es más visual y he creído que es mejor si está empezando. :-X
Código (cpp) [Seleccionar]

cout << "Todos tenemos un defecto, un error en nuestro código" << endl;