Programación General > C/C++

 programa de adivinar un numero.

(1/1)

daniqh:
Hola , estoy realizando un programa de clase en el que tengo que generar un numero aleatorio dentro de un rango introducido por el usuario ,y que el usuario en n intentos lo logre acertar. El problemilla que tengo es que me genera el numero aleatorio ,pero siempre que pongo ese mismo rango de numeros me genera el mismo ... :S se que el problema esta en el srand(time(NULL)); pero es que si lo dejo de comentar me deja de funcionar.

--- Código: C++ --- #include<stdlib.h>                                      /*JUEGO*/#include<stdio.h>#include<conio.h>#include<iostream.h> void main(){    int inicio_rango,fin_rango,aleatorio,i,n,n_intentos;    char respuesta;  //    srand(time(NULL));     i=0;     printf("...::::[ JUEGO ]::::...n");    printf("n");    printf("Desea jugar? (S/N) n");    respuesta=getch();     if((respuesta=='S')||(respuesta=='s')){        printf("Introduce un numero para iniciar el rango n");        scanf("%i",&inicio_rango);        printf("Introduce un numero para terminar el rango n");        scanf("%i",&fin_rango);        printf("Su rango va de %i a %i n",inicio_rango,fin_rango);         aleatorio=inicio_rango+rand()%(fin_rango-inicio_rango);        n=aleatorio+1;         printf("Introduce un numero de intentos n");        scanf("%i",&n_intentos);         while(i<=n_intentos){                while(n!=aleatorio){                    printf("Introduce un numeron");                    scanf("%i",&n);                    if(n>aleatorio)                        printf("Es menor que %i n",n);                    if(n<aleatorio)                        printf("Es Mayor que %i n",n);                        i++;              }                 if(n==aleatorio){                    printf("Has acertado en %i intentos el numero: %i n",i,aleatorio);                    break;}              }          }//Cierra IF    else{      printf("No desea jugar n");      } }  Saludos

PD: Uso el turbo c++ (borland)

Epa:
Buenas.

proba usar esta variante haber si funciona


--- Código: C++ ---     time_t rd;        time(&rd);    srand(rd);  
saludos

daniqh:
Hola,gracias por responder. He puesto lo que me has dicho y me sigue tirando error ... Debe de ser que no lo soporta el borland c++ o no se xD

ProfesorX:
Lamentablemente no tengo el Turbo C++, pero me parece que te falta inciuir un archivo.

para usar


--- Código: C --- time()  
tienes que poner


--- Código: C --- #include <time.h>  
Si eso no resuelve tu problema, deberias poner cual es el error que te marca, para que podamos tener una mejor idea de cual es el problema.

Saludos :)

daniqh:
Bueno ya lo he arreglado, he sustituido srand(time(NULL)); por randomize(); y ahora me genera un numero aleatorio dentro del rango y si vuelvo a poner el mismo rango me genera otro distinto.

Saludos y gracias a los que habeis respondido el post ;)

Navegación

[0] Índice de Mensajes

Ir a la versión completa