Buenas con algo de ayuda he conseguido hacer una calculadora y un randon, ahora me gustaría juntar ambas cosas para conseguir ¿un juego en consola? o algo así, dejo dos ejemplos de lo que quiero conseguir a juntar los dos códigos.
(pantalla) 2*?=8 ¿que valor tiene la incógnita?
(pulsamos en el teclado) 4
(pantalla) correcto.
(pantalla) 5-?=3 ¿que valor tiene la incógnita?
(pulsamos en el teclado) 3
(pantalla) te has equivocado, el valor era 2
Código de la calculadora
#include <iostream>
#include <ctype.h> //Para usar la funcion toupper()
#define SI 'Y'
using namespace std;
int main(){
float a;
int eleccion;
int menu(float a);
cout<<"---------------------------------------------------------------<<endl;
cout<<"| Calculadora basica en C++|"<<endl;
cout<<"---------------------------------------------------------------<<endl;
while(1){
cout<<"Introducir un numero mayor a 5 o menor a 1 para finalizar el programa"<<endl;
cout<<"nnIntroduce el primer valor: ";
cin>>a;
cout<<"nn";
eleccion = menu(a);
if (eleccion == 0) break;
}
return 0;
}
int menu(float a){
int accion, nada, i = 0;
char eleccion;
float b, resultado;
float computarresultado(int accion, float a, float b);
while (1){
cout<<"nnTipos de acciones"<<endl;
cout<<"- 1.)Sumar"<<endl;
cout<<"- 2.)Restar"<<endl;
cout<<"- 3.)Multiplicar"<<endl;
cout<<"- 4.)Dividir"<<endl;
cout<<"- 5.)Resultado"<<endl;
cout<<"-Numero fuera de rango para parar"<<endl;
cout<<"nSeleccione la accion a realizar: ";
cin>>accion;
if (accion == 5){
cout<<"nnEl resultado es"<<resultado<<endl;
cout<<"nDesea seguir computando calculos? (Y/N): ";
cin>>eleccion;
cout<<"nn";
if (toupper(eleccion) == SI)
return(eleccion = 1);
else
accion == 111;
}
if (accion < 1 || accion > 5){
cout<<"nnFin del programa. Gracias por utilizarme"<<endl;
cin>>nada;
return 0;
}
cout<<"nIntroduce el segundo valor"<<endl;
cin>>b;
if (i == 0) {
resultado = computarresultado(accion, a, b);
i = 1;
}
else
resultado = computarresultado(accion, resultado, b);
cout<<"nEl resultado actual es: "<<resultado<<endl;
}
return 0;
}
float computarresultado(int accion, float a, float b){
switch(accion){
case 1:
return(a + b);
case 2:
return(a - b);
case 3:
return(a * b);
case 4:
if (b == 0){
cout<<"nnNo se puede dividir entre 0, por favor, vuelva a intentarlo"<<endl;
return(a);
}
return(a / b);
}
}
código de el randon
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main() {
int i;
srand((unsigned)time(NULL));
for (i=0; i<2; i++) {
cout << (rand()%100) << endl;
}
return 0;
}