Пример #1
0
bool JJOO::mismosAtletas(const JJOO& j) const {
    bool igual = true;

    // Verifico misma cantidad de atletas.
    if(_atletas.longitud() == j.atletas().longitud()) {

        // Recorro lista de atletas de instancia a comparar.
        int i = 0;
        while(i < _atletas.longitud()) {

            // Verfico que ambas instancias tengan los mismos atletas.
            if(!j.atletas().pertenece(_atletas.iesimo(i))) {
                igual = false;
            }
            i++;
        }
    } else {
        igual = false;
    }

    return igual;
}
Пример #2
0
void MenuJJOO()
{
    int maximaOpcion = 2;

    cout << "Creando competencia" << endl
            << "0. Volver al Menu Principal" << endl
            << "1. Crear JJOO" << endl
            << "2. Cargar JJOO" << endl;
    if (jjooCreado)
    {
        maximaOpcion = 19;
        cout << "3. Transcurrir dia" << endl
            << "4. StevenBradbury" << endl
            << "5. LiuSong" << endl
            << "6. Los mas fracasados" << endl
            << "7. Medallero" << endl
            << "8. De paseo" << endl
            << "9. Sequia olimpica" << endl
            << "10. ¿Ordenados asi hay un patron?" << endl
            << "11. Boicot por disciplina" << endl
            << "12. Guardar" << endl
            << "13. Mostrar" << endl
            << "14. Ver anio" << endl
            << "15. Ver Jornada actual" << endl
            << "16. Ver atletas" << endl
            << "17. Cantidad de dias" << endl
            << "18. Atleta Prodigio" << endl
			<< "19. Deportes no olimpicos" << endl;
    }

    int opt = LeerOpcion(maximaOpcion);

    LimpiarPantalla();
    switch(opt)
    {
        case 0:
        {
            LimpiarPantalla();
            break;
        }
        case 1:
        {
            LimpiarPantalla();
            jjoo = MenuCrearJJOO();
            jjooCreado = true;
            LimpiarPantalla();
            MenuJJOO();
            break;
        }
        case 2:
        {
            LimpiarPantalla();
            ifstream archivoEntrada;
            AbrirArchivoParaLeer(archivoEntrada);
            jjoo.cargar(archivoEntrada);
            archivoEntrada.close();
            jjooCreado = true;
            LimpiarPantalla();
            MenuJJOO();
            break;
        }
        case 3:
        {
            LimpiarPantalla();
            cout << "Comenzando a transcurrir dia" << endl;
            jjoo.transcurrirDia();
            cout << "Dia transcurrido" << endl;
            Pausar();
            LimpiarPantalla();
            MenuJJOO();
            break;
        }
        case 4:
        {
            LimpiarPantalla();
            cout << "Nombre: " << jjoo.stevenBradbury().nombre() <<  "CIA Number: " << jjoo.stevenBradbury().ciaNumber() << endl;
            Pausar();
            LimpiarPantalla();
            MenuJJOO();
            break;
        }
        case 5:
        {
            int id;
            string pais;
            LimpiarPantalla();
            MostrarAtletas(jjoo.atletas(), "Atletas del Juego Olimpico: ");
            cout << "Indique el atleta y el pais al cual sera nacionalizado :" << endl;
            cin >> id;
            cin >> pais;
            jjoo.liuSong(jjoo.atletas().iesimo(id), pais);
            Pausar();
            LimpiarPantalla();
            MenuJJOO();
            break;
        }
        case 6:
        {
            string pais;
            cout << "Indique el pais del cual desea conocer sus atletas mas fracasados: ";
            cin >> pais;
            MostrarAtletas(jjoo.losMasFracasados(pais), "Los mas fracasados: ");
            Pausar();
            LimpiarPantalla();
            MenuJJOO();
            break;
        }
        case 7:
        {
            cout << "Medallero olimpico" << endl;
            cout << "Pais" << "     " << "Medallas" << endl;
            for (int i = 0; i < jjoo.medallero().longitud(); i++)
            {
                cout << jjoo.medallero().iesimo(i).first << "       " << jjoo.medallero().iesimo(i).second << endl;
            }
            Pausar();
            LimpiarPantalla();
            MenuJJOO();
            break;
        }
        case 8:
        {
            MostrarAtletas(jjoo.dePaseo(), "Atletas de paseo :");
            Pausar();
            LimpiarPantalla();
            MenuJJOO();
            break;
        }
        case 9:
        {
            cout << "Sequia olimpica: " << endl;
            for (int i = 0; i < jjoo.sequiaOlimpica().longitud(); i++)
            {
                cout << jjoo.sequiaOlimpica().iesimo(i) << " ";
            }
            Pausar();
            LimpiarPantalla();
            MenuJJOO();
            break;
        }
        case 10:
        {
            cout << "¿Hay un patron? " << jjoo.uyOrdenadoAsiHayUnPatron() << endl;
            Pausar();
            LimpiarPantalla();
            MenuJJOO();
            break;
        }
        case 11:
        {
            string deporte, sexo, pais;
            Sexo sexoFinal;
            cout << "Indique el deporte y sexo de la categoria y el pais que desea boicotear : ";
            cin >> deporte;
            cin >> sexo;
            cin >> pais;

            if (sexo == "f" || sexo == "F" || sexo == "femenino" || sexo == "Femenino")
            {
                sexoFinal = Femenino;
            }
            if (sexo == "m" || sexo == "M" || sexo == "masculino" || sexo == "Masculino")
            {
                sexoFinal = Masculino;
            }
            jjoo.boicotPorDisciplina(pair<Deporte, Sexo>(deporte, sexoFinal), pais);
            cout << "Boicot aplicado" << endl;
            Pausar();
            LimpiarPantalla();
            MenuJJOO();
            break;
        }
        case 12:
        {
            LimpiarPantalla();
            ofstream archivoSalida;

            AbrirArchivoParaEscribir(archivoSalida);
            jjoo.guardar(archivoSalida);
            archivoSalida.close();

            LimpiarPantalla();
            MenuJJOO();
            break;
        }
        case 13:
        {
            LimpiarPantalla();
            jjoo.mostrar(cout);
            Pausar();
            LimpiarPantalla();
            MenuJJOO();
            break;
        }
        case 14:
        {
            cout << "Anio: " << jjoo.anio() << endl;
            Pausar();
            LimpiarPantalla();
            MenuJJOO();
            break;
        }
        case 15:
        {
            cout << "Jornada actual: " << jjoo.jornadaActual() << endl;
            Pausar();
            LimpiarPantalla();
            MenuJJOO();
            break;
        }
        case 16:
        {
            MostrarAtletas(jjoo.atletas(), "Atletas del Juego olimpico: ");
            Pausar();
            LimpiarPantalla();
            MenuJJOO();
            break;
        }
        case 17:
        {
            cout << "Cantidad de dias: " << jjoo.cantDias() << endl;
            Pausar();
            LimpiarPantalla();
            MenuJJOO();
            break;
        }
        case 18:
        {
            cout << "El Atleta prodigio es: " << endl;
            atletaProdigio(jjoo).mostrar(cout);
            Pausar();
            LimpiarPantalla();
            MenuJJOO();
            break;
        }
		case 19:
		{
			cout << "Deportes no olimpicos" << endl;
			Lista<Deporte> deportes = jjoo.deportesNoOlimpicos();
			cout << "[ ";
			for(int i = 0; i < deportes.longitud(); i++)
			{
				cout << deportes.iesimo(i) << " ";
			}
			cout << "]";
		}
    }
}