コード例 #1
0
ファイル: jjoo.cpp プロジェクト: LeandroLovisolo/Algo1-TPI
void JJOO::cargar (std::istream& is) {
    char c;
    //Saco J anio jornada [
    is >> c >> _anio >> _jornadaActual >> c;
    bool loop = true;
    Lista<Atleta> nuevosAtletas;
    if(is.peek() != ']') {
        while(loop) {
            //Saco (
            is >> c;
            Atleta atle;
            atle.cargar(is);
            nuevosAtletas.agregarAtras(atle);
            //Saco )
            is >> c;
            if(is.peek() != ',') {
                loop = false;
            }
            else {
                //Saco la coma
                is >> c;
            }
        }
    }
    _atletas = nuevosAtletas;
    //Saco ] y [
    is >> c >> c;
    Lista<Lista<Competencia> > nuevasCompetenciasPorDia;
    if(is.peek() != ']') {
        loop = true;
        while(loop) {
            //Saco [
            is >> c;
            Lista<Competencia> nuevaCompetenciasEnElDia;
            if(is.peek() != ']') {
                Competencia compe;
                bool secLoop = true;
                while(secLoop) {
                    //Saco (
                    is >> c;
                    compe.cargar(is);
                    nuevaCompetenciasEnElDia.agregarAtras(compe);
                    //Saco )
                    is >> c;
                    if(is.peek() != ',') {
                        secLoop = false;
                    }
                    else {
                        //Saco la coma
                        is >> c;
                    }
                }
            }
            //Saco ]
            is >> c;
            nuevasCompetenciasPorDia.agregarAtras(nuevaCompetenciasEnElDia);
            if(is.peek() != ',') {
                loop = false;
            }
            else {
                //Saco la coma
                is >> c;
            }
        }
コード例 #2
0
ファイル: interfaz.cpp プロジェクト: nlasso/Borbotones
void MenuCompetencia()
{
    int maximaOpcion = 2;

    cout << "Creando competencia" << endl
            << "0. Volver al Menu Principal" << endl
            << "1. Crear competencia" << endl
            << "2. Cargar competencia" << endl;
    if (competenciaCreada)
    {
        maximaOpcion = 15;
        cout << "3. Finalizar competencia" << endl
            << "4. LinfordChristie" << endl
            << "5. ¿Ganan los mas capaces?" << endl
            << "6. Sancionar Tramposos" << endl
            << "7. ¿Le Dio positivo?" << endl
            << "8. Ranking" << endl
            << "9. Atletas que les toco control" << endl
            << "10. ¿Finalizada?" << endl
            << "11. Guardar" << endl
            << "12. Mostrar" << endl
            << "13. Participantes" << endl
            << "14. Categoria" << endl
			<< "15. Clasifico tarde" << endl;
    }

    int opt = LeerOpcion(maximaOpcion);

    LimpiarPantalla();
    switch(opt)
    {
        case 0:
        {
                LimpiarPantalla();
                break;
        }
        case 1:
        {
                LimpiarPantalla();
                competencia = MenuCrearCompetencia();
                competenciaCreada = true;
                LimpiarPantalla();
                MenuCompetencia();
                break;
        }
        case 2:
        {
            LimpiarPantalla();
            ifstream archivoEntrada;
            AbrirArchivoParaLeer(archivoEntrada);
            competencia.cargar(archivoEntrada);
            archivoEntrada.close();
            competenciaCreada = true;
            LimpiarPantalla();
            MenuCompetencia();
            break;
        }
        case 3:
        {
            int id;
            string doping;

            Lista<int> posiciones = Lista<int>();
            Lista< pair<int, bool> > resultados = Lista< pair<int, bool> >();

            MostrarAtletas(competencia.participantes(), "Lista de participantes :");

            cout << competencia.participantes() << endl;

            cout << "Ingrese la lista de atletas segun id de la lista, seguido del resultado de doping del mismo."<< endl;

            for (int i = 0; i < competencia.participantes().longitud(); i++)
            {
                cout << "Puesto numero " << i+1 << " : ";
                cin >> id;
                cin >> doping;
                posiciones.agregarAtras(competencia.participantes().iesimo(id).ciaNumber());
                resultados.agregar(pair<int, bool>(competencia.participantes().iesimo(id).ciaNumber(), doping == "s"));
            }

            competencia.finalizar(posiciones, resultados);
            LimpiarPantalla();
            MenuCompetencia();
            break;
        }
        case 4:
        {
            int id;
            string nombre;
            LimpiarPantalla();
            MostrarAtletas(competencia.participantes(), "Lista de participantes :");
            cout << "Indique que atleta desea descalificar : " << endl;
            cin >> id;
            nombre = competencia.participantes().iesimo(id).nombre();
            competencia.linfordChristie(competencia.participantes().iesimo(id).ciaNumber());
            cout << "El atleta " << nombre <<" fue descalificado";
            Pausar();
            LimpiarPantalla();
            MenuCompetencia();
            break;
        }
        case 5:
        {
            LimpiarPantalla();
            cout << "¿Ganan los más capaces? " << competencia.gananLosMasCapaces() << endl;
            Pausar();
            LimpiarPantalla();
            break;
        }
        case 6:
        {
            cout << "Sancionando tramposos" << endl;
            competencia.sancionarTramposos();
            cout << "Tramposos sancionados" << endl;
            Pausar();
            LimpiarPantalla();
            break;
        }
        case 7:
        {
            int id;
            MostrarAtletas(competencia.participantes(), "Lista de participantes :");
            cout << "Indique el id de atleta del que desea saber su resultado de doping :";
            cin >> id;
            cout << "Su resultado fue: " << competencia.leDioPositivo(competencia.participantes().iesimo(id)) << endl;
            Pausar();
            LimpiarPantalla();
            break;
        }
        case 8:
        {
            MostrarAtletas(competencia.ranking(), "Ranking de la competencia :");
            Pausar();
            LimpiarPantalla();
            break;
        }
        case 9:
        {
            MostrarAtletas(competencia.lesTocoControlAntidoping(), "Atletas a los que le toco control antidoping :");
            Pausar();
            LimpiarPantalla();
            break;
        }
        case 10:
        {
            cout << "¿Está finalizada la competencia? " << competencia.finalizada() << endl;
            Pausar();
            LimpiarPantalla();
            break;
        }
        case 11:
        {
            LimpiarPantalla();
            ofstream archivoSalida;

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

            LimpiarPantalla();
            MenuCompetencia();
            break;
        }
        case 12:
        {
            LimpiarPantalla();
            competencia.mostrar(cout);
            Pausar();
            LimpiarPantalla();
            MenuCompetencia();
            break;
        }
        case 13:
        {
            MostrarAtletas(competencia.participantes(), "Participantes de la competencia: ");
            Pausar();
            LimpiarPantalla();
            MenuCompetencia();
            break;
        }
        case 14:
        {
            cout << "Categoria: " << "[ Deporte: " << competencia.categoria().first << "| Sexo: " << competencia.categoria().second << "]" << endl;
            Pausar();
            LimpiarPantalla();
            MenuCompetencia();
            break;
        }
		case 15:
		{
			cout << "Ingresando nuevo participante" << endl;
			Atleta nuevoAtleta = MenuCrearAtleta();
			competencia.clasificoTarde(nuevoAtleta);
			LimpiarPantalla();
			MenuCompetencia();
			break;
		}
    }
}