elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  String aleatorio y sin repeticiones
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: String aleatorio y sin repeticiones  (Leído 1,256 veces)
Calvin11

Desconectado Desconectado

Mensajes: 2


Ver Perfil
String aleatorio y sin repeticiones
« en: 22 Octubre 2016, 19:54 pm »

Hola, soy nuevo en este foro, espero que puedan ayudarme.
Mi pregunta es cómo hacer para generar cadenas de caracteres de manera aleatoria pero sin que se repita.
La cuestión es que estoy haciendo un juego de trivia pero cuando ingreso el jugador y le hago las pregunta, siempre y cuando responda bien, sigue respondiendo pero a veces vuelve a repetir la pregunta anterior.
Aquí les dejo un pedazo de código con el struct para que vean que es lo que les quiero decir:
Código
  1. struct pregunta{
  2.     char pregunta[100];
  3.     char opciones[5][40];
  4.     int correcta;
  5. };
  6. void jugar(){
  7.     pregunta A[21];
  8.     FILE *pa;
  9.     int n=0;
  10.     if((pa=fopen("ciencia.dat","rb"))==NULL){
  11.          cout<<"Error al abrir el archivo";
  12.          return;
  13.     }
  14.     char jugador[40];
  15.     int lvl=0,vida=1,rand_preg=0,rand_cat=0,respuesta=0;
  16.     fflush(stdin);
  17.     cout<<"\nNombre del participante: ";gets(jugador);
  18.     while(vida!=0){
  19.          srand (time(NULL));
  20.          rand_cat = rand() % 5;
  21.          srand (time(NULL));
  22.          if(rand_cat==1){
  23.               rand_preg=rand() % 20;
  24.               cout<<"\nPregunta:"<<A[rand_preg].pregunta;
  25.               cout<<"\nOpcion 1:"<<A[rand_preg].opciones[0];
  26.               cout<<"\nOpcion 2:"<<A[rand_preg].opciones[1];
  27.               cout<<"\nOpcion 3:"<<A[rand_preg].opciones[2];
  28.               cout<<"\nOpcion 4:"<<A[rand_preg].opciones[3];
  29.               cout<<"\nRESPUESTAAAAA:";cin>>respuesta;
  30.               if(respuesta==A[rand_preg].correcta){
  31.                    lvl++;
  32.               }
  33.               else{
  34.                    cout<<"\nPerdiste";
  35.                    vida=0;
  36.               }
  37.         }
  38.     }fclose(pa);
  39. }
Desde ya muchas gracias. ;D


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines