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

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  como puedo evitar que el usuario siga ingresando en la opcion "inscripcion"
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: como puedo evitar que el usuario siga ingresando en la opcion "inscripcion"  (Leído 1,667 veces)
MILAGRITOS

Desconectado Desconectado

Mensajes: 2


Ver Perfil
como puedo evitar que el usuario siga ingresando en la opcion "inscripcion"
« en: 18 Julio 2017, 20:29 pm »

Tengo varias dudas pero dos principales, 1) como puedo evitar que el usuario siga ingresando en la opcion "inscripcion" una vez que ya tenga registrado 3 participantes y lance un "Cantidad de jugadores MAXIMA alcanzada" y 2) problema de variable con carton e int (el struct)

Código
  1. #include <iostream>
  2. #include <stdio.h>
  3. #include <math.h>
  4. #include <cstdlib>
  5. #include <ctime>
  6. using namespace std;
  7. struct jugador //Estructura para el registro de los participantes
  8. {
  9.   char nombre[50];
  10.     char apellido[50];
  11.    char cedula[8];
  12. char monto[20];
  13. };
  14.  
  15. struct carton //Estructura para la creación del cartón de bingo
  16. {
  17. string letras[5];
  18. int numeros[5][5];
  19. };
  20.  
  21. void inscripcion(struct jugador &j) //Subprograma que permite realizar la inscripcion del jugador
  22. {
  23. cout << "Introduzca su nombre: "<<endl;
  24. cin >> j.nombre;
  25. fflush(stdin); //Limpiamos el búfer
  26. cout << "Introduzca su apellido: "<<endl;
  27. cin >> j.apellido;
  28. fflush(stdin); //Limpiamos el búfer
  29. cout << "Introduzca su cedula: "<<endl;
  30. cin >> j.cedula;
  31. fflush(stdin); //Limpiamos el búfer
  32. cout << "Introduzca el monto a apostar: "<<endl;
  33. cin >> j.monto;
  34. fflush(stdin);
  35. }
  36.  
  37. void crear_carton (struct carton &bingo, int cantidad_cartones)
  38. {
  39. int inicio, fin, rango;
  40. int numeroRandom;
  41. srand((unsigned)time(0)); //Inicializacion del random
  42.  
  43. for(int i = 0; i < cantidad_cartones; i++)
  44. {
  45. bingo[i].letras[0] = "B";
  46. bingo[i].letras[1] = "I";
  47. bingo[i].letras[2] = "N";
  48. bingo[i].letras[3] = "G";
  49. bingo[i].letras[4] = "O";
  50. }
  51.  
  52. for(int i = 0; i < cantidad_cartones; i++) //Llenado del carton de bingo
  53. {
  54. inicio = 1, fin = 15;
  55. rango = (fin-inicio)+1;
  56. for (int j = 0; j< 5; j++) //Llenado de la columna B de los cartones de bingo
  57. {
  58. numeroRandom = inicio +
  59. int(rango * rand() / (RAND_MAX + 1.0));
  60. bingo[i].numeros[0][j]=numeroRandom;
  61. }
  62.  
  63. inicio = 16, fin = 30;
  64. rango = (fin-inicio) + 1;
  65. for(int j = 0; j < 5; j++) //Llenado de la columna I de los cartones de bingo
  66. {
  67. numeroRandom = inicio +
  68. int(rango * rand() / (RAND_MAX + 1.0));
  69. bingo[i].numeros[1][j]=numeroRandom;
  70. }
  71.  
  72. inicio = 31, fin = 45;
  73. rango = (fin-inicio) + 1;
  74. for(int j = 0;j < 5; j++) // Llenado de la columna N  de los cartones del bingo
  75. {
  76. numeroRandom = inicio +
  77. int(rango * rand() / (RAND_MAX + 1.0));
  78. bingo[i].numeros[2][j]=numeroRandom;
  79. }
  80.  
  81. inicio = 46, fin = 60;
  82. rango = (fin-inicio) + 1;
  83. for(int j = 0; j < 5; j++) // Llenado de la columna G de los cartones del bingo
  84. {
  85. numeroRandom = inicio +
  86. int(rango * rand() / (RAND_MAX + 1.0));
  87. bingo[i].numeros[3][j]=numeroRandom;
  88. }
  89.  
  90. inicio = 61, fin = 75;
  91. rango = (fin-inicio) + 1;
  92. for(int j = 0;j < 5; j++) // Llenado de la columna O de los cartones del bingo
  93. {
  94. numeroRandom = inicio +
  95. int(rango * rand() / (RAND_MAX + 1.0));
  96. bingo[i].numeros[4][j]=numeroRandom;
  97. }
  98. }
  99. }
  100.  
  101. void imprimir_carton (struct carton bingo, int cantidad_cartones)
  102. {
  103. for(int i = 0; i < cantidad_cartones; i++)
  104. {
  105. cout<<bingo[i].letras[0]<<"\t";
  106. cout<<bingo[i].letras[1]<<"\t";
  107. cout<<bingo[i].letras[2]<<"\t";
  108. cout<<bingo[i].letras[3]<<"\t";
  109. cout<<bingo[i].letras[4]<<"\t";
  110. cout<<endl;
  111. for(int k = 0; k < 5; k++)
  112. {
  113. cout<<bingo[i].numeros[0][k]<<"\t";
  114. cout<<bingo[i].numeros[1][k]<<"\t";
  115. cout<<bingo[i].numeros[2][k]<<"\t";
  116. cout<<bingo[i].numeros[3][k]<<"\t";
  117. cout<<bingo[i].numeros[4][k]<<"\t"<<endl;
  118. }
  119. cout<<endl;
  120. }
  121. cout<<endl<<endl;
  122. }
  123.  
  124. int main()
  125. {
  126. jugador j [3]; //Declaración de la estructura del jugador
  127. carton bingo [10]; //Declaracion del carton de bingo
  128. int opcion, rpta, cont= 1, i=0; //Variables - Inscripcion
  129. int aux = 0;
  130.  
  131. cout<<"Bienvenido al juego de BINGO."<<endl;
  132. do
  133. {
  134. cout<<"1. Inscripcion. "<<endl;
  135. cout<<"2. Jugar. "<<endl;
  136. cout<< "3. Record. "<<endl;
  137. cout<< "4. Salir. "<<endl;
  138. cout<< "Introduzca opcion (1-4): ";
  139. cin>> opcion;
  140.  
  141. //Inicio del anidamiento
  142. switch (opcion)
  143. {
  144. case 1: //Inscripcion de jugadores
  145. //PROBLEMA: NO SE DEBE REALIZAR INSCRIPCION MAS DE UNA VEZ Y FALTA COMPROBAR LOS NUMEROS DE CEDULA
  146. cout<<"Cantidad de jugadores a registrar: "<<endl;
  147. cin>>rpta;
  148. aux= rpta;
  149.   if((rpta>0)&&(rpta<= 3))
  150.   {
  151.   do
  152.   {
  153.   cout<<"Inscripcion del jugador # "<<cont<<endl;
  154.   cont++;
  155.   inscripcion (j[i]);
  156.   i++;
  157.   rpta= rpta-1;
  158.   }
  159.   while (rpta>0);
  160.   }
  161.   else
  162.   {
  163.   cout<<"Debe ingresar una cantidad de jugadores diferente."<<endl;
  164.   }
  165.   break;
  166.  
  167. case 2: //Jugar - Crear cartones para jugadores
  168. crear_carton (bingo, aux);
  169. imprimir_carton (bingo, aux);
  170. //case 3: {Record}
  171.  
  172. }
  173. }
  174. while (opcion!=4); //No hay opcion 4 sino que el programa se cierra cuando el usuario coloca "4"
  175. return 0;
  176. }
  177.  
  178.  

Engel Lex:
- Los códigos deben ir en etiquetas GeSHi
- Los titulos deben ser descriptivos


« Última modificación: 18 Julio 2017, 21:45 pm por engel lex » 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