Select Git revision
-
Andreas Blakli authoredAndreas Blakli authored
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
bane.cpp 2.04 KiB
/**
* @file bane.cpp
* @author Andreas Blakli
*/
#include "bane.h"
using namespace std;
/**
* Constructor for Bane, lager ett nytt bane objekt.
*
*/
Bane::Bane() : Rute() {
}
/**
* Destructor for Bane objekt.
*
*/
Bane::~Bane() {
}
/**
* Leser inn bane data fra CLI.
*
* @see lesData3 lesInt().
*/
void Bane::lesData() {
antallVogner = lesInt("Antall vogner", MIN_ANTALL_VOGNER, MAX_ANTALL_VOGNER);
baneLengde = lesInt("Banelengde", MIN_BANELENGDE, MAX_BANELENGDE);
}
/**
* Skriver bane data til terminal.
*
*/
void Bane::skrivData() {
cout << "\n\t..::Bane info::.." << '\n';
cout << "\n\tAntall vogner: " << antallVogner << '\n'
<< "\tBanelengde: " << baneLengde;
}
/**
* Skriver at typen er av bane til terminal.
*
*/
void Bane::skrivType() {
cout << "Bane";
}
/**
* Skriver bane data til terminal.
*
* @see Rute::skrivDataForlengs().
*/
void Bane::skrivDataForlengs() {
skrivData();
Rute::skrivDataForlengs();
cout << "\n\n";
}
/**
* Skriver bane data til terminal.
*
* @see Rute::skrivDataBaklengs().
*/
void Bane::skrivDataBaklengs() {
skrivData();
Rute::skrivDataBaklengs();
cout << "\n\n";
}
/**
* Leser inn bane fra fil.
*
* @param inn - Inn data fil-stream.
*
* @see HjelpeFunksjoner::splittStreng().
* @see Rute::lesFraFil().
*/
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);
}
/**
* Skriver banen til fil.
*
* @param ut - Ut data fil-stream.
*
* @see Rute::skrivTilFil().
*/
void Bane::skrivTilFil(ofstream& ut) {
ut << "Bane" << '\n'
<< antallVogner << '*'
<< baneLengde << '*'
<< '\n';
Rute::skrivTilFil(ut);
}