#include <iostream>
#include <fstream>
#include <cstdlib>
#include <ctime>
#include <string>
using namespace std;
int main(){
int partidasGanadas= 0;
int partidasPerdidas = 0;
int partidasEmpatadas = 0;
while(true){
int eleccion1;
int eJ;
int eC;
string eleccionJugador;
string apodo;
string comparar;
ofstream escribir_jugadores;
ifstream leer_reglas;
ifstream leer_jugadores;
string reglas;
cout << "Introduce tu apodo : ";
cin >> apodo;
escribir_jugadores.open("E:\\jugadores.txt");
leer_jugadores.open("E:\\jugadores.txt");
if(leer_jugadores.is_open()&&escribir_jugadores.is _open()){
while(!leer_jugadores.eof()){
escribir_jugadores << apodo;
}
while(leer_jugadores.eof()){
leer_jugadores >> comparar;
if(comparar != apodo){
escribir_jugadores << apodo;
}
else{
break;
}
}
}
else{
cout << "El archivo no se ha abierto correctamente" << endl;
}
escribir_jugadores.close();
leer_jugadores.close();
cout << "¿Que quieres hacer?" << endl;
cout << "1- Jugar una partida" << endl;
cout << "2- Ver instrucciones" << endl;
cout << "0- Salir" << endl;
cin >> eleccion1;
if((eleccion1 != 0)&&(eleccion1 != 1)&&(eleccion1 != 2)){
cout << "Opcion no valida!" << endl;
}
if(eleccion1 == 2){
leer_reglas.open("reglas.txt");
if(leer_reglas.is_open()){
while(leer_reglas.eof()){
leer_reglas >> reglas;
cout << reglas;
}
}
}
else{
cout << "El archivo no se ha abierto correctamente " << endl;
}
leer_reglas.close();
if(eleccion1 == 0){
cout << "Partidas Ganadas : " << partidasGanadas << endl;
cout << "Partidas Perdidas : " << partidasPerdidas << endl;
cout << "Partidas Empatadas : " << partidasEmpatadas << endl;
cout << "Hasta luego!" << endl;
break;
}
if(eleccion1 == 1){
cout << "Elige elemento ( 1-piedra, 2-papel, 3-tijera, 4-lagarto, 5-spock)" << endl;
cin >> eJ;
while((eJ != 1)&&(eJ != 2)&&(eJ != 3)&&(eJ != 4)&&(eJ != 5)){
cout << "Elemento desconocido. Intentelo de nuevo " << endl;
cout << "Elige elemento ( 1-piedra, 2-papel, 3-tijera, 4-lagarto, 5-spock)" << endl;
cin >> eJ;
}
}
switch(eJ){
case 1: eleccionJugador = "piedra";
break;
case 2: eleccionJugador = "papel";
break;
case 3: eleccionJugador = "tijera";
break;
case 4: eleccionJugador = "lagarto";
break;
default :
eleccionJugador = "spock";
break;
}
srand (time(NULL));
eC = 1+ rand ( ) % 5;
switch(eC){
case 1:
cout << "Mi eleccion : piedra" << endl;
cout << "Tu eleccion : " << eleccionJugador << endl;
if((eJ == 3)||(eJ == 4)){
cout << "Yo gano!" << endl;
partidasPerdidas++;
}
else if(eJ == 1){
cout << "Empate!" << endl;
partidasEmpatadas++;
}
else{
cout << "Tu ganas" << endl;
partidasGanadas++;
}
;break;
case 2:
cout << "Mi eleccion : papel" << endl;
cout << "Tu eleccion : " << eleccionJugador << endl;
if((eJ == 1)||(eJ == 5)){
cout << "Yo gano!" << endl;
partidasPerdidas++;
}
else if(eJ == 2){
cout << "Empate!" << endl;
partidasEmpatadas++;
}
else{
cout << "Tu ganas" << endl;
partidasGanadas++;
}
;break;
case 3:
cout << "Mi eleccion : tijera" << endl;
cout << "Tu eleccion : " << eleccionJugador << endl;
if((eJ == 2)||(eJ == 4)){
cout << "Yo gano!" << endl;
partidasPerdidas++;
}
else if(eJ == 3){
cout << "Empate!" << endl;
partidasEmpatadas++;
}
else{
cout << "Tu ganas" << endl;
partidasGanadas++;
}
;break;
case 4:
cout << "Mi eleccion : lagarto" << endl;
cout << "Tu eleccion : " << eleccionJugador << endl;
if((eJ == 5)||(eJ == 2)){
cout << "Yo gano!" << endl;
partidasPerdidas++;
}
else if(eJ == 4){
cout << "Empate!" << endl;
partidasEmpatadas++;
}
else{
cout << "Tu ganas" << endl;
partidasGanadas++;
}
;break;
default :
cout << "Mi eleccion : spock" << endl;
cout << "Tu eleccion : " << eleccionJugador << endl;
if((eJ == 1)||(eJ == 3)){
cout << "Yo gano!" << endl;
partidasPerdidas++;
}
else if(eJ == 5){
cout << "Empate!" << endl;
partidasEmpatadas++;
}
else{
cout << "Tu ganas" << endl;
partidasGanadas++;
}
;break;
}
}
}
A ver si alguien me puede decir que le pasa al programa, lo ejecuto, pero una vez introducido el apodo, no sucede nada, alguna sugerencia?
Para guiaros, se trata del juego (Piedra , papel, tijera, lagarto , spock).
Con 2 flujos de entrada y 1 de salida.