Código
#include<stdio.h> #include<math.h> #include<stdlib.h> #define N 100 int main () { /*Declaracion de variables*/ int i, j, k, espacios ,fallidos, exito, letras, si, no; char letra; char palabra[N], juego[N]; k=0; letras=0; exito=0; si=0; no=0; printf("Bievenido, esto es ahorcado, un juego para dos donde un administrador escribe una palabra/frase y el otro tendra que adivinarla."); printf("\nADVERTENCIA: cada vez que hagas un intento fallido, estaras mas cerca de ser ahorcado y perder el juego."); /*escribir espacios iniciales*/ while(palabra[k]!='.'){ if(palabra[k]!=32){ juego[k]='_'; letras=letras+1; }else{ juego[k]=' '; } k=k+1; } espacios=k; /*recibir letra y rellenar si es correcto*/ while(fallidos<8 && exito!=1){ for (i=0;i<=espacios;i++){ if(letra==palabra[i]){ juego[i]=letra; si=si+1; if(si==letras){ exito=1; } } if(letra!=palabra[i]){ no=no+1; if(no==espacios){ fallidos=fallidos+1; no=0; } } } } if(fallidos==8){ } if(exito==1){ } return(0); }
1er problema: los espacios de la palabra se generan bien, (ej: mama. = _ _ _ _) pero al ingresar una letra (sea o no correcta) me escribe dos veces seguidas (printf("\n%s", juego); printf("\nJugador 2, digite una letra: ")) esos printf.... por qué?
2do problema: cuando el admin ingresa la palabra (ej: foro el hacker.)los espacios salen normal. pero cuando ingreso santiago o jeronimo (no he encontrado mas ejemplos donde me ocurra esto) aparecen los espacios seguidos de simbolos (ej: santiago.= _ _ _ _ _ _ _ _ 1'@).
AYUDA
GRACIAS.
MOD: Etiquetas GeSHi.