Untitled
unknown
plain_text
2 years ago
2.3 kB
3
Indexable
#include "Turnaj.h" #include <fstream> #include <iostream> #include <sstream> #include <algorithm> #include <iomanip> // pre std::setprecision void Turnaj::nacitajZoSuboru(const std::string& nazovSuboru) { std::ifstream vstupnySubor(nazovSuboru); std::string meno_klubu, krajina; int pocet_bodov; if (!vstupnySubor.is_open()) { throw std::runtime_error("Nepodarilo sa otvorit subor: " + nazovSuboru); } while (vstupnySubor >> meno_klubu >> krajina >> pocet_bodov) { Ucastnik ucastnik(meno_klubu, krajina); for (int i = 0; i < pocet_bodov; ++i) { int vysledok; vstupnySubor >> vysledok; ucastnik.pridajVysledok(vysledok); } ucastnici.push_back(ucastnik); } } void Turnaj::vypocitajVysledky() { for (auto& ucastnik : ucastnici) { ucastnik.vypocitajBodovAUspech(); } } void Turnaj::vypisUcastnikov() const { std::vector<Ucastnik> kopie_ucastnici = ucastnici; std::sort(kopie_ucastnici.begin(), kopie_ucastnici.end(), [](const Ucastnik& a, const Ucastnik& b) { return a.getPocetBodov() > b.getPocetBodov(); }); for (const auto& ucastnik : kopie_ucastnici) { std::cout << ucastnik.getMenoKlubu() << " (" << ucastnik.getKrajina() << ") " << ucastnik.getPocetBodov() << " " << std::fixed << std::setprecision(2) << ucastnik.getPercentualnaUspesnost() << "% ["; for (auto vysledok : ucastnik.getVysledky()) { std::cout << vysledok << " "; } std::cout << "]" << std::endl; } } void Turnaj::ulozDoSuboru(const std::string& nazovSuboru) const { std::ofstream vystupnySubor(nazovSuboru); if (!vystupnySubor.is_open()) { throw std::runtime_error("Nepodarilo sa otvorit subor: " + nazovSuboru); } for (const auto& ucastnik : ucastnici) { vystupnySubor << ucastnik.getMenoKlubu() << " (" << ucastnik.getKrajina() << ") " << ucastnik.getPocetBodov() << " " << std::fixed << std::setprecision(2) << ucastnik.getPercentualnaUspesnost() << "% ["; for (auto vysledok : ucastnik.getVysledky()) { vystupnySubor << vysledok << " "; } vystupnySubor << "]" << std::endl; } }
Editor is loading...
Leave a Comment