competencia.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. #ifndef __COMPETENCIA__
  2. #define __COMPETENCIA__
  3. #include "tipos.h"
  4. #include "atleta.h"
  5. class Competencia {
  6. private:
  7. Categoria _categoria;
  8. vector<Atleta> _participantes;
  9. bool _finalizada;
  10. vector<Atleta> _ranking;
  11. vector<pair<Atleta, bool> > _lesTocoControlAntiDoping;
  12. public:
  13. Competencia(const Deporte &d, const Genero &g, const vector<Atleta> &as);
  14. Categoria categoria() const;
  15. vector<Atleta> participantes() const;
  16. bool finalizada() const;
  17. vector<Atleta> ranking() const;
  18. vector<Atleta> lesTocoControlAntiDoping() const;
  19. bool leDioPositivo(const Atleta &a) const;
  20. void finalizar(const vector<int> &posiciones, const vector<pair<int, bool> > &control);
  21. void linfordChristie(const int &n);
  22. bool gananLosMasCapaces() const;
  23. void sancionarTramposos();
  24. bool operator==(const Competencia &c) const;
  25. //Entrada y salida
  26. void mostrar(std::ostream &os) const;
  27. void guardar(std::ostream &os) const;
  28. void cargar(std::istream &is);
  29. };
  30. std::ostream &operator<<(std::ostream &os, const Competencia &c);
  31. std::ostream &operator>>(std::ostream &os, const Competencia &c);
  32. #endif /*__COMPETENCIA__*/