Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/05/2011, 01:37
reethok
 
Fecha de Ingreso: abril-2011
Mensajes: 224
Antigüedad: 13 años
Puntos: 8
Pregunta Por qué no me lee con scanf un char al final de un ciclo?

No se si en el título me explique bien...

Código C:
Ver original
  1. #include <stdio.h>
  2. #include <math.h>
  3. #include <stdlib.h>
  4.  
  5. int main()
  6. {
  7.     int numero;
  8.     int prueba;
  9.     char sn;
  10.    
  11.     while(1 == 1){
  12.          srand(time(NULL));
  13.          numero = (rand() % 1000) + 1;
  14.          printf("Tengo un numero entre 1 y 1000\n"
  15.                 "Puedes adivinar cual es?\n"
  16.                 "Por favor escribe tu primera respuesta\n");
  17.          scanf("%d", &prueba);
  18.          
  19.          while(prueba != numero){
  20.               if(prueba > numero){
  21.                    printf("\nMuy arriba. Intenta de nuevo.\n");
  22.                    scanf("%d", &prueba);
  23.                    }
  24.               if(prueba < numero){
  25.                    printf("\nMuy abajo. Intenta de nuevo.\n");
  26.                    scanf("%d", &prueba);
  27.                    }
  28.               }
  29.  
  30.          if(prueba == numero){
  31.               printf("Felicidades! Adivinaste el numero!\n");
  32.               }
  33.          
  34.          printf("Quieres jugar otra vez? (S/N)\n");
  35.          scanf("%c", &sn);
  36.          if(sn == "S" || sn == "s")
  37.               continue;
  38.          else
  39.               break;
  40.          }
  41. }

Cuando adivinas el número se cierra rápidamente... sin poder escribir S o N para continuar o no?

Ayuda D:

Saludos!