Ejemplo n.º 1
0
void Competencia::guardar(std::ostream& os) const{
    os << (char) ENCABEZADO_ARCHIVO << " (|" << categoria().first << "|, |"
    << ((categoria().second == Masculino)? "Masculino" : "Femenino") << "|) |"
    << ( finalizada()? "True" : "False") << "| ";

    os << "[" ;

    int i;
    if( participantes().longitud() != 0 ){
        i=0;
        while(i<participantes().longitud()){
            os << "(";

            participantes().iesimo(i).guardar(os);
            i++;

            if(i == participantes().longitud()){
                os << ")] ";
            }else{
                os << "), ";
            }
        }

    }else{
        os << "]";
    }

    if( finalizada() ){
        os << "[" ;
        i=0;
        while( i< _ranking.longitud()){
            os << _ranking.iesimo(i);
            i++;

            if(i != _ranking.longitud()){
                os << ", ";
            }
        }
        os << "] ";

        os << "[" ;
        i=0;
        while( i<_controlAntidoping.longitud()){

            os << "(" << _controlAntidoping.iesimo(i).first << ", "
            << ((_controlAntidoping.iesimo(i).second )? "|True|" : "|False|") << ")";

            i++;

            if(i != _controlAntidoping.longitud()){
                os << ", ";
            }

        }
        os << "] ";

    }else {
        os << "[] []";
    }
}
Ejemplo n.º 2
0
bool Competencia::operator==(const Competencia& c) const{

    bool result = mismasAtletas(c.participantes() , participantes())
    	&& c.categoria() == categoria() && c.finalizada() == finalizada();

    if(result && finalizada()){
        result = c.ranking() == ranking()
        	&& mismasAtletas(c.lesTocoControlAntidoping(),lesTocoControlAntidoping());
        if(result){
            int i = 0;
            while( i < c.lesTocoControlAntidoping().longitud() && result){
                result = result && c.leDioPositivo(c.lesTocoControlAntidoping().iesimo(i))
                		== leDioPositivo(c.lesTocoControlAntidoping().iesimo(i));
                i++;
            }
        }
    }
    return result;
}
Ejemplo n.º 3
0
Competencia JJOO::finalizarCompetencia(const Competencia& competencia) const  {
    // Creo una copia de la competencia.
    Competencia finalizada(competencia.categoria().first,
                           competencia.categoria().second,
                           competencia.participantes());

    // Finalizo la competencia generando un ranking y un control antidoping.
    finalizada.finalizar(generarRanking(competencia), generarAntidoping(competencia));

    return finalizada;
}
Ejemplo n.º 4
0
void Competencia::mostrar(std::ostream& os) const{
    if(finalizada()){
        os << endl << "Categoria: (" << categoria().first << " , "
        << (categoria().second == Masculino? "Masculino":"Femenino" ) << " )" << endl
        << "Finalizada: True" << endl << "Participantes: " << participantes()
        << endl <<"Ranking: " << _ranking << " Control Antidoping: ";
        printControl(os);
    } else {
        os << endl << "Categoria: (" << categoria().first << " , "
         << (categoria().second == Masculino? "Masculino":"Femenino") << " )" << endl
        << "Finalizada: False" << endl << "Participantes: " << participantes();
    }
}