コード例 #1
0
void Escola::printFuncionarios(){
	bool found;
	BSTItrIn<Funcionario> it = arvoreFuncionarios;
	while (!it.isAtEnd())
	{ 
		cout << it.retrieve().print();
		it.advance();
		found =true;
	}
	if(!found){
		cout << endl << "Nao existem Funcionarios adicionados!" << endl;
	}
}
コード例 #2
0
bool Escola::addTurmaFunc(Turma *t, string nome){
	bool found;
	BSTItrIn<Funcionario> it = arvoreFuncionarios;
	while (!it.isAtEnd()) {
		if (it.retrieve().getNome() == nome) {
			found = true;
			break;
		}

		it.advance();
	}
	if (found){
		it.retrieve().addTurma(t);
	}
}
コード例 #3
0
ファイル: Escola.cpp プロジェクト: joaodealmeida/AEDA
Funcionarios * Escola::searchFunc(string nome){


	BSTItrIn<Funcionarios *> itr (funcionarios);

	while(!itr.isAtEnd()){
		if(itr.retrieve()->getNome()== nome)
			return itr.retrieve();
		itr.advance();
	}


	return NULL;

}
コード例 #4
0
void Escola::removeFuncionario(const string n){
	bool found;
	BSTItrIn<Funcionario> it = arvoreFuncionarios;
	while (!it.isAtEnd()) {
		if (it.retrieve().getNome() == n) {
			found = true;
			break;
		}

		it.advance();
	}
	if (found){
		arvoreFuncionarios.remove(it.retrieve());
	}

}
コード例 #5
0
void Campeonato::outputFileProvas(string filename) {

    ofstream pFile;

    pFile.open(filename.c_str(), std::ofstream::out | std::ofstream::trunc);

    BSTItrIn<Prova*> it = calendario->getProvas();

    while(!it.isAtEnd()) {


        pFile << it.retrieve()->getDataFormatada() << endl
              << it.retrieve()->getLocal() << endl
              << it.retrieve()->getDuracao() << endl
              << it.retrieve()->getAdversarios()[0]->getNome() << endl
              << it.retrieve()->getAdversarios()[1]->getNome() << endl
              << it.retrieve()->getVencedor() << endl
              << it.retrieve()->getModalidade()->getNome() << endl;

        it.advance();
    }

}
コード例 #6
0
void Campeonato::realizarProva() {

    BSTItrIn<Prova*> it = calendario->getProvas();

    do {

        if(it.retrieve()->getCompleted()=="nao") {

            string equipa1 = it.retrieve()->getAdversarios()[0]->getNome();
            string equipa2 = it.retrieve()->getAdversarios()[1]->getNome();

            string venc = it.retrieve()->getModalidade()->pontuacao(equipa1, equipa2);

            if(venc==equipa1) {
                equipas[findEquipa(equipa1)]->setPontuacao(3);
            }
            else if(venc==equipa2) {
                equipas[findEquipa(equipa2)]->setPontuacao(3);
            }
            else {
                equipas[findEquipa(equipa1)]->setPontuacao(1);
                equipas[findEquipa(equipa2)]->setPontuacao(1);
            }

            it.retrieve()->setCompleted(true);
        }

        it.advance();
    } while(!it.isAtEnd());

    if(updateClassificacoes()>0)
        return;

    //BSTItrIn<Prova> it = calendario->getProvas();

    /*while(!it.isAtEnd()){

    	equipa1 = it.retrieve().getAdversarios()[0]->getNome();
    	equipa2 = it.retrieve().getAdversarios()[1]->getNome();
    	v = it.retrieve().getModalidade()->pontuacao(equipa1, equipa2);

    	if(v == it.retrieve().getAdversarios()[0]->getNome()){
    		equipas[findEquipa(equipa1)]->setPontuacao(3);
    	}

    	else if(v == it.retrieve().getAdversarios()[1]->getNome() ){
    		equipas[findEquipa(equipa2)]->setPontuacao(3);
    	}

    	else{
    		equipas[findEquipa(equipa1)]->setPontuacao(1);
    		equipas[findEquipa(equipa2)]->setPontuacao(1);
    	}

    	Prova p1 = it.retrieve();
    	it.advance();
    	updateClassificacoes();
    }*/

    cout << endl << "Nao existem mais provas a realizar" << endl;

}