Autor
|
Tema: Ayuda!!! Ejercicio bucles c++ (Leído 2,323 veces)
|
afrocardo
Desconectado
Mensajes: 23
|
Buenas,Tengo que realizar este ejercicio.Lo he hecho con un if,Pero en el ejercicio necesito adivinar el numero;tantas veces ,hasta adivinar dicho numero.
Creo que debería usar un bucle do while¿Qué os parece?
Este es el codigo:
//Construir un programa que simule el siguiente juego entre los jugadores A (advino) y P (pensador): //P piensa un número comprendido entre 1 y N , //y A trata de adivinarlo, mediante tanteos sucesivos, hasta dar con él. Por cada tanteo de A, P //da una respuesta orientativa de entre las siguientes: //Fallaste. El número pensado es menor que el tuyo. //Fallaste. Mi número es mayor. //Acertaste al fin. //Mejoras: //Debe acertar en el número de jugadas que se introduzca por teclado. //Se debe ejecutar tantas veces como quiera el usuario. #include <iostream> using namespace std;
int main() { int numeromaximo,numero,numeroaadivinar; cout<<"Entre 1 y que, quieres el numero?"<<endl; cin>>numeromaximo; cout<<"Introduce el numero que el jugador P(pensador)debe adivinar"<<endl; cin>>numeroaadivinar; cout << "Jugador P(pensador),piensa y di un numero ENTRE 1 Y"<<" "<<numeromaximo<<" para que jugador A (adivino) lo adivine:" << endl; cin>>numero; if(numero>=1 || numero<=numeromaximo){ cout<<"Correcto.Has dicho un numero entre 1 y "<<" "<<numeromaximo<<endl; if(numero==numeroaadivinar){ cout<<"Has adivinado el numero.Es el numero:"<<" "<<numeroaadivinar<<endl;
} else{ cout<<"pero has introducido un numero fallido"<<endl; } } return 0; }
|
|
|
En línea
|
|
|
|
ivancea96
Desconectado
Mensajes: 3.412
ASMático
|
Do-While es la mejor elección xD
Pero, va va, colócalo.
|
|
|
En línea
|
|
|
|
afrocardo
Desconectado
Mensajes: 23
|
Lo he hecho con while porque la profesora me dijo que había que hacerlo con while,y luego me dijo que el numero que debo adivinar debe generarse aleatoriamente en pantalla y tiene que ser un numero aleatorio de 1 hasta N(por ejemplo de 1 hasta 10).Mi problema es que cuando porngo el numero adivinado, no me muestra el mensaje de correcto, sino que dice que meta otro numero.
código probado en el software Eclipse Indigo C++
código:
//Construir un programa que simule el siguiente juego entre los jugadores A (advino) y P (pensador): //P piensa un número comprendido entre 1 y N , //y A trata de adivinarlo, mediante tanteos sucesivos, hasta dar con él. Por cada tanteo de A, P //da una respuesta orientativa de entre las siguientes: //Fallaste. El número pensado es menor que el tuyo. //Fallaste. Mi número es mayor. //Acertaste al fin. //Mejoras: //Debe acertar en el número de jugadas que se introduzca por teclado. //Se debe ejecutar tantas veces como quiera el usuario. #include <iostream> using namespace std; #define NUMMAX 11 #define NUMMIN 1
int main() { int numero,numeroaadivinar,numeromaximo,numeroaleatorio; srand(time(NULL)); numeroaleatorio=rand(); cout<<"El numero aleatorio es:"<<(numeroaleatorio=1+rand()%(NUMMAX-1))<<endl;
while((rand()%NUMMAX)!=numero){ cout<<"Introduce un numero entre 1 y 10"<<endl; cin>>numero; if((numeroaleatorio<numero){ cout<<"Fallaste.El numero pensado es menor que el tuyo"<<endl; } if((numeroaleatorio>numero){ cout<<"Fallaste.Mi numero es mayor que el tuyo"<<endl; }
}
cout<<"Correcto.Has adivinado el numero"<<endl;
return 0; }
|
|
|
En línea
|
|
|
|
ivancea96
Desconectado
Mensajes: 3.412
ASMático
|
Estás poniendo (rand()%NUMMAX)
En vez de numeroAleatorio. Cada vez que pones eso, se genera un numero nuevo. Y a todo esto, al hacer while y no do-while, la primera comprobación del while comprueba con "numero", al que no le has dado un valor por defecto. Pon numero=-1 (o cualquier otro número posible fuera del rango) para evitar fallos.
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
ayuda con bucles
Programación C/C++
|
NLkurosaki
|
2
|
2,501
|
13 Diciembre 2010, 16:55 pm
por NLkurosaki
|
|
|
Ayuda con bucles VB 2010
« 1 2 »
.NET (C#, VB.NET, ASP)
|
juanlulete
|
17
|
9,136
|
22 Julio 2012, 11:32 am
por juanlulete
|
|
|
Ayuda con ejercicio de bucles.
Programación C/C++
|
eveelynn24
|
2
|
1,942
|
8 Noviembre 2014, 18:55 pm
por plataplomo2948
|
|
|
ejercicio de bucles, acumuladores, banderas...
Java
|
riomundo
|
2
|
2,001
|
23 Octubre 2015, 00:25 am
por Lind L. Tailor
|
|
|
Problema con bucles (Ayuda)
Programación C/C++
|
orakelove
|
1
|
1,553
|
16 Octubre 2018, 00:38 am
por Beginner Web
|
|