Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: TopoJunior en 13 Febrero 2013, 22:22 pm



Título: Ayuda con getchar:(
Publicado por: TopoJunior en 13 Febrero 2013, 22:22 pm
Bueno, hola a todos! El caso es que estoy haciendo un programa, el ahorcado, la palabra inicial (van a ser 3) es FUTBOL, y yo puse: IF. Si ... ch es igual a 'f' entonces ponla en el printf, que sería F _ _ _ _  Vale, si no se cumple, un else que sume 1 a errores y y diga cuantos errores llevas. Bien. hasta aquí bien... Peeeeeeeeeeeeeeeeeeeeeeeeeeeeeeero, si tu pones U, que pertenece a la palabra, te dice que has fallado, como hago para que eso no pase? En el sentido de que, que tengo que hacer para que reconozca la U ? pero antes de la F por ejemplo.. No sé si me expliqué bien...


Título: Re: Ayuda con getchar:(
Publicado por: leosansan en 13 Febrero 2013, 22:48 pm
Mejor pon el código que llevas, a ver si nos enteramos mejor.
Saluditos!.


Título: Re: Ayuda con getchar:(
Publicado por: TopoJunior en 14 Febrero 2013, 15:20 pm
#include <stdio.h>
#include <time.h>
#include <conio.h>

main()
{
      char ch;
      char ch1;
      int errores1;
      errores1 = 0;
   srand (time(NULL));
   int aleatorio;
   aleatorio = rand() % 3+1;
   if(aleatorio == 2)
   {
   printf("Te ha tocado esta palabra\n"); // La palabra es FUTBOL
   printf("_ _ _ _ _ _");
   printf("Ve escribiendo las letras\n");
    ch=getchar();
   if(ch == 'f') {
      printf("Bien, has acertado. F _ _ _ _ _\n");         
    if(ch1 == 'u') {
          printf("Has acertado. FU _ _ _ _\n");
          }
   }
   else
   {
       errores1++;
       printf("Has fallado. Llevas %d errores.", errores1);
   }
}
while(1);
}


Título: Re: Ayuda con getchar:(
Publicado por: leosansan en 14 Febrero 2013, 16:22 pm
................... Peeeeeeeeeeeeeeeeeeeeeeeeeeeeeeero, si tu pones U, que pertenece a la palabra, te dice que has fallado, como hago para que eso no pase? En el sentido de que, que tengo que hacer para que reconozca la U ? pero antes de la F por ejemplo.. No sé si me expliqué bien...

Por ejemplo:

Código
  1. #include <stdio.h>
  2. #include <time.h>
  3.  
  4. int main(){
  5.  char ch;
  6.  char ch1;
  7.  int errores1;
  8.  errores1 = 0;
  9.  srand (time(NULL));
  10.  int aleatorio;
  11.  aleatorio =+1 +rand() % 3;
  12.   //if(aleatorio == 2)
  13.  
  14.  printf("Te ha tocado esta palabra\n"); // La palabra es FUTBOL
  15.  printf("_ _ _ _ _ _");
  16.  printf("Ve escribiendo las letras\n");
  17.  
  18.  ch=getchar();
  19.  while (getchar ()!='\n');
  20.  if(ch == 'f') {
  21.    printf("Bien, has acertado. F _ _ _ _ _\n");
  22.  }
  23.  else if(ch == 'u') {
  24.    printf("Has acertado. _U _ _ _ _\n");
  25.  }
  26.  else  {
  27.    errores1++;
  28.    printf("Has fallado. Llevas %d errores.\n", errores1);
  29.  }
  30.  return 0;
  31. }
  32.  

Saluditos!.


Título: Re: Ayuda con getchar:(
Publicado por: TopoJunior en 14 Febrero 2013, 18:20 pm
Gracias, y una cosa, como hago esto ? Si tu tienes el IF ch == 'f' entonces pondrá
F _ _ pero si pongo U luego, pondrá _ u _ _ _ ¿Como hago para que se quede la F?


Título: Re: Ayuda con getchar:(
Publicado por: durasno en 14 Febrero 2013, 20:53 pm
Citar
¿Como hago para que se quede la F?
revisa el tema de arreglos, con eso lo podes solucionar. Luego para q puedas ingresar varios caracteres tenes que poner todo dentro de un bucle


Citar
while (getchar ()!='\n');
no preguntaste por esto asi q supongo q lo entendes. Saludos