diff --git a/bane.cpp b/bane.cpp index 1d8cba3246b8e14dd722a1a229a1a66886644f6a..c63b1c2ba04946b14c3a3f33aa4b2acbdaec859a 100644 --- a/bane.cpp +++ b/bane.cpp @@ -3,22 +3,21 @@ using namespace std; Bane::Bane() : Rute() { - lesData(); + //lesData(); } Bane::~Bane() { - } void Bane::lesData() { antallVogner = lesInt("Antall vogner", MIN_ANTALL_VOGNER, MAX_ANTALL_VOGNER); baneLengde = lesInt("Banelengde", MIN_BANELENGDE, MAX_BANELENGDE); - } void Bane::skrivData() { - cout << "\nAntall vogner: " << antallVogner << '\n' - << "Banelengde: " << baneLengde; + cout << "\n\t..::Bane info::.." << '\n'; + cout << "\n\tAntall vogner: " << antallVogner << '\n' + << "\tBanelengde: " << baneLengde; } void Bane::skrivType() { @@ -26,13 +25,40 @@ void Bane::skrivType() { } void Bane::skrivDataForlengs() { - skrivType(); skrivData(); Rute::skrivDataForlengs(); + cout << "\n\n"; } void Bane::skrivDataBaklengs() { - skrivType(); skrivData(); Rute::skrivDataBaklengs(); + cout << "\n\n"; +} + +void Bane::lesFraFil(ifstream& inn) { + int i = 0; + string heleLinjen = ""; + getline(inn, heleLinjen); + vector<string> linjenSplittet = hjelp.splittStreng('*', heleLinjen); + for (const auto& val : linjenSplittet) { + switch (i) { + case 0: + antallVogner = stoi(val); + break; + case 1: + baneLengde = stoi(val); + break; + } + i++; + } + Rute::lesFraFil(inn); +} + +void Bane::skrivTilFil(ofstream& ut) { + ut << "Bane" << '\n' + << antallVogner << '*' + << baneLengde << '*' + << '\n'; + Rute::skrivTilFil(ut); } \ No newline at end of file diff --git a/bane.h b/bane.h index e56efb2a4910e519f4e7ee1d7f53fb521ed2af5e..93012a934bff8ff3c31d0bf33485b62678187bc1 100644 --- a/bane.h +++ b/bane.h @@ -2,15 +2,18 @@ #define __BANE_H #include <iostream> +#include <fstream> #include "konstanter.h" #include "lesData3.h" #include "rute.h" +#include "hjelpeFunksjoner.h" class Bane : public Rute { private: int antallVogner; int baneLengde; + HjelpeFunksjoner hjelp; public: Bane(); @@ -20,6 +23,8 @@ class Bane : public Rute { void skrivType(); void skrivDataForlengs(); void skrivDataBaklengs(); + void lesFraFil(std::ifstream &inn); + void skrivTilFil(std::ofstream &ut); }; #endif // __BANE_H \ No newline at end of file