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

 

 


Tema destacado: Curso de javascript por TickTack


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Pregunta de dudas de ejercicio
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Pregunta de dudas de ejercicio  (Leído 2,351 veces)
RiCo9297

Desconectado Desconectado

Mensajes: 10


Ver Perfil
Pregunta de dudas de ejercicio
« en: 14 Agosto 2016, 19:51 pm »

Hola buenas me gustaría que alguien me explicase, por que en el tercer modulo comprobarResultado, el número de aciertos no aumenta en el recuento final y el motivo de por que los números aleatorios no son aleatorios realmente por que siempre se me repiten los mismo números.

Código
  1. #include <iostream>
  2. #include <cstdlib>
  3. using namespace std;
  4.  
  5.  
  6. char aQueJugar(char &opcion){
  7. cout << "¿Qué quieres practicar: sumas (+), restas (-) o " <<
  8. " multiplicaciones(*)?: ";
  9. cin >> opcion;
  10. }
  11.  
  12.  
  13. int generarOperacion(char opcion, bool acertada, int numpregunta, int &resultado, int &total){
  14.  
  15. int valor1 = rand() % 20 + 10;
  16. int valor2 = rand() % 20 + 10;
  17. numpregunta = 1;
  18. int numaciertos = 0;
  19. int numfallos = 0;
  20. acertada = true;
  21.  
  22. aQueJugar(opcion);
  23.  
  24. do{
  25. if(opcion == '+'){
  26. cout << "Pregunta" << numpregunta << ":" << endl;
  27. cout << " " << valor1 << endl;
  28. cout << "+" << valor2 << endl;
  29. cout << "------" << endl;
  30. total = valor1 + valor2;
  31. cin >> resultado;
  32. if(resultado == total){
  33. acertada = true;
  34. cout << "Muy bien! Eres un genio!" << endl;
  35. }
  36. else{
  37. acertada = false;
  38. cout << "Oh! Esta no la has acertado" << endl;
  39. }
  40. }
  41. if(opcion == '-'){
  42. cout << "Pregunta" << numpregunta << ":" << endl;
  43. cout << " " << valor1 << endl;
  44. cout << "-" << valor2 << endl;
  45. cout << "------" << endl;
  46. total = valor1 - valor2;
  47. cin >> resultado;
  48. if(resultado == total){
  49. acertada = true;
  50. cout << "Muy bien! Eres un genio!" << endl;
  51. }
  52. else{
  53. acertada = false;
  54. cout << "Oh! Esta no la has acertado" << endl;
  55. }
  56. }
  57. if(opcion == '*'){
  58. cout << "Pregunta" << numpregunta << ":" << endl;
  59. cout << " " <<valor1 << endl;
  60. cout << "*" << valor2 << endl;
  61. cout << "-------" << endl;
  62. total = valor1 * valor2;
  63. cin >> resultado;
  64. if(resultado == total){
  65. acertada = true;
  66. cout << "Muy bien! Eres un genio!" << endl;
  67. }
  68. else{
  69. acertada = false;
  70. cout << "oh! Esta no la has acertado" << endl;
  71. }
  72. }
  73. numpregunta++;
  74. }while(numpregunta <= 5);
  75.  
  76.  
  77. }
  78.  
  79. int comprobarResultado(bool acertada){
  80. acertada = true;
  81. int resultado = 0;
  82. char opcion;
  83. int numpregunta = 1;
  84. int i = 0;
  85. char otravez;
  86. int total = 0;
  87. generarOperacion(opcion, acertada, numpregunta, resultado, total);
  88. cout << "** HAS TERMINADP! **" << endl;
  89. do{
  90. if(resultado == total){
  91. acertada == true;
  92. i++;
  93. }
  94. numpregunta++;
  95. }while(numpregunta <= 5);
  96. cout << "Has acertado " << i << " de " << numpregunta - 1 << " preguntas";
  97. }
  98.  
  99. int main(){
  100. char sino;
  101. char opcion;
  102. bool acertada;
  103. char otravez;
  104. cout << "***************************************" << endl;
  105. cout << "***** BIENVENIDO A LA GINKAMÁTICA *****" << endl;
  106. cout << "***************************************" << endl;
  107. cout << endl;
  108. cout << "¿Quieres jugar conmigo? (s,n): ";
  109. cin >> sino;
  110. if(sino == 's'){
  111. comprobarResultado(acertada);
  112. }
  113. else{
  114. if(sino == 'n'){
  115. cout << "Adios";
  116. }
  117. }
  118. }


En línea

RiCo9297

Desconectado Desconectado

Mensajes: 10


Ver Perfil
Re: Pregunta de dudas de ejercicio
« Respuesta #1 en: 14 Agosto 2016, 19:55 pm »

Por cierto soy bastante nuevo en el mundo de la programación lamento mucho si el código esta lleno de desorden y errores de sangrado, gracias por la ayuda.


En línea

AlbertoBSD
Programador y
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.696


🏴 Libertad!!!!!


Ver Perfil WWW
Re: Pregunta de dudas de ejercicio
« Respuesta #2 en: 14 Agosto 2016, 20:00 pm »

antes de usar cualquier rand ea necesario Inicializar la semilla random esto es:

Código
  1. srand(time(NULL));

solo una vez al inicio del codigo.
En línea

RiCo9297

Desconectado Desconectado

Mensajes: 10


Ver Perfil
Re: Pregunta de dudas de ejercicio
« Respuesta #3 en: 14 Agosto 2016, 20:03 pm »

Gracias la ayuda. :)
En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Pregunta de dudas de ejercicio
« Respuesta #4 en: 14 Agosto 2016, 20:06 pm »

Es un código algo complicado, con muchas variables. Algunas sobran, o no las suas correctamente, como "opcion" y "otravez".

Luego:
Código
  1. do{
  2. if(resultado == total){
  3. acertada == true;
  4. i++;
  5. }
  6. numpregunta++;
  7. }while(numpregunta <= 5);

resultado y total en ese bucle serán siempre los mismos valores, así que "numpregunta" saldrá siempre siendo o 1 o 5.
En línea

RiCo9297

Desconectado Desconectado

Mensajes: 10


Ver Perfil
Re: Pregunta de dudas de ejercicio
« Respuesta #5 en: 14 Agosto 2016, 20:14 pm »

Es un código algo complicado, con muchas variables. Algunas sobran, o no las suas correctamente, como "opcion" y "otravez".

Luego:
Código
  1. do{
  2. if(resultado == total){
  3. acertada == true;
  4. i++;
  5. }
  6. numpregunta++;
  7. }while(numpregunta <= 5);

resultado y total en ese bucle serán siempre los mismos valores, así que "numpregunta" saldrá siempre siendo o 1 o 5.

Vale muchas gracias, voy a ver si consigo arreglar el error
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Ejercicio] Aca tienen un ejercicio para practicar « 1 2 3 »
Programación Visual Basic
Dreamaker 20 15,847 Último mensaje 5 Septiembre 2010, 02:57 am
por TGa.
pregunta ejercicio java cartas « 1 2 »
Java
casidus 12 12,070 Último mensaje 23 Marzo 2012, 02:41 am
por ohuilapan
ejercicio conclase pag 70 ejercicio 1
Programación C/C++
flony 2 4,327 Último mensaje 17 Octubre 2010, 12:16 pm
por Akai
problema codigo ejercicio en c , dudas
Ejercicios
vani18 0 3,278 Último mensaje 13 Noviembre 2010, 15:02 pm
por vani18
[Pregunta]: Arreglos vacios en PHP (Ejercicio)
PHP
Leguim 1 1,640 Último mensaje 26 Febrero 2019, 13:55 pm
por WHK
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines