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; } }
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); } }
Funcionarios * Escola::searchFunc(string nome){ BSTItrIn<Funcionarios *> itr (funcionarios); while(!itr.isAtEnd()){ if(itr.retrieve()->getNome()== nome) return itr.retrieve(); itr.advance(); } return NULL; }
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()); } }
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(); } }
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; }