Que tal, gracias por la respuesta
He compilado tu código en un nuevo proyecto y funciona a la perfección, pero adaptando el código al mío el programa se cierra automáticamente, es como si estuviese pillando un vacio anteriormente o algo de eso, la cuestión es que no se como arreglarlo.
También al ser ahora la variable "mas" un string y no un char como antes estoy teniedo problemas a la hora de decirle que si es una s minúscula o mayúscula ejecute el bucle de nuevo.
Te pego el nuevo código, gracias y un saludo.
Código c++:
Ver original#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;
int main()
{
string mas;
do {
const char *ordenador[3] = { "piedra", "papel", "tijera" };
enum resultado_t { PIEDRA, PAPEL, TIJERA };
cout << "Eleccion de la maquina: " << ordenador[s] << endl;
int eleccion;
cout << "Introduce n. jugada (1 = piedra, 2 = papel, 3 = tijera): ";
cin >> eleccion;
cout << endl;
--eleccion;
if(eleccion == s)
{
cout << "Empate!" << endl;
}
else if(eleccion == PIEDRA)
{
if(s == PAPEL)
cout << "Perdistes!" << endl;
else
cout << "Ganastes!" << endl;
}
else if(eleccion == PAPEL)
if(s == PIEDRA)
cout << "Ganastes!!" << endl;
else
cout << "Perdistes!!" << endl;
else
if(s == PIEDRA)
cout << "Perdistes!!!" << endl;
else
cout << "Ganastes!!!" << endl;
cout << "¿Quieres jugar otra vez? (presiona s/S y enter si quieres seguir jugando o simplemente presiona enter si quiere salir) " << endl;
getline (cin, mas);
if(mas=="s" || mas=="S")
continue;
if(mas.empty())
break;
} while(true);
return 0;
}