Advertisement
Jmdnbvs

2.8. La máquina calculadora

Dec 5th, 2019
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.61 KB | None | 0 0
  1. #include <iostream>
  2. #include<stdlib.h>
  3. #include <time.h>
  4. using namespace std;
  5. /*A Javier le gusta la electrónica y cacharrear para construir máquinas que tengan
  6. cierto propósito. Ahora que su hijo Luis está aprendiendo a calcular le ha construido una
  7.  
  8.  
  9.  
  10. máquina con un marcador, en el que aparecen cuatro dígitos y tres botones marcados
  11. con etiquetas +1, *2 y ÷3, que al ser pulsados actualizan el marcador realizando la
  12. operación correspondiente (sumar uno, multiplicar por dos o dividir entre tres). Como el
  13. marcador solamente tiene cuatro dígitos, las operaciones se realizan módulo 10.000 y
  14. la división es entera.
  15. Luis ha entendido perfectamente el funcionamiento de la máquina y la utiliza para
  16. comprobar que los cálculos que hace mentalmente antes de pulsar un botón son correctos.
  17. Ahora Javier le ha retado con un juego: él configura el marcador para que aparezca
  18. un número concreto y le pide a Luis que consiga llegar a otro número pulsando
  19. los botones el menor número de veces.
  20. ¿Puedes ayudarles calculando cuál es el menor número de pulsaciones que hay que
  21. realizar para conseguir que aparezca el número final a partir del original? 3*/
  22.  
  23.  
  24. int nump ;
  25. int numl;
  26.  
  27. void random_pantalla();
  28.  
  29. void game();
  30. void limpiar();
  31.  
  32.  
  33.  
  34.  
  35. int main(){
  36.  
  37. random_pantalla();
  38. game();
  39.  
  40.  
  41.  
  42. return 0;
  43. }
  44.  
  45.  
  46. void random_pantalla(){
  47.  
  48.  
  49. srand(time(NULL));
  50. nump=20+rand()%(41-20);//Numero del computador o pantalla
  51.  
  52. cout<<" Numero CPU. "<<endl;
  53. cout<<"***************"<<endl;
  54. cout<<" *"<<nump<<"*"<<" Atrapame luis!!!!!"<<endl;
  55. cout<<"***************"<<endl;
  56.  
  57. srand(time(NULL));
  58. numl=2+rand()%(19-2);//Numero de luis
  59.  
  60.  
  61. cout<<" Tu numero Luis: "<<numl<<endl;
  62.  
  63.  
  64.  
  65. }
  66.  
  67. void game(){
  68.  
  69. int opc;
  70. int suma=0;
  71.  
  72. int mov=0,mov_p=0,mov_x=0,mov_e=0;
  73. do{
  74. cout<<"\n";
  75. cout<<"1. +1"<<endl;
  76. cout<<"2. x2"<<endl;
  77. cout<<"3. /3"<<endl;
  78. cout<<"= ";cin>>opc;
  79.  
  80. switch(opc) {
  81.  
  82. case 1:
  83. numl++;
  84. mov_p++;
  85. mov++;
  86. break;
  87.  
  88. case 2:
  89. numl*=2;
  90. mov_x++;
  91. mov++;
  92. break;
  93.  
  94. case 3:
  95. numl /= 3;
  96. mov_e++;
  97. mov++;
  98. break;
  99.  
  100.  
  101. default:
  102. limpiar();
  103. break;
  104.  
  105. }
  106. cout<<"Vamos por: "<<numl<<endl;
  107. cout<<"Movimientos: "<<mov<<endl;
  108. }while(numl != nump);
  109.  
  110. if(numl == nump){
  111.  
  112. cout<<"\n\n\nFelicidades haz llegado al numero. "<<endl;
  113. cout<<"Moviemiento: "<<mov<<endl;
  114. cout<<" Ultilizaste.."<<endl;
  115. cout<<"+1: "<<mov_p<<endl;
  116. cout<<"x2: "<<mov_x<<endl;
  117. cout<<"/3: "<<mov_e<<endl;
  118. }
  119.  
  120. }
  121. void limpiar(){
  122.  
  123. system("cls");
  124. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement