Skip to content
Snippets Groups Projects
Commit 141a7725 authored by Andreas Blakli's avatar Andreas Blakli
Browse files

Fjernet ubrukt kode og la til doxygen kommentarer i stoppested.cpp.

parent ae4680d0
Branches
No related tags found
No related merge requests found
......@@ -2,69 +2,94 @@
using namespace std;
// extern Stoppesteder* gStoppesteder;
/**
* Constructor for Stoppested, lager ett nytt Stoppested objekt.
*
*/
Stoppested::Stoppested() {
navn = "";
}
/**
* Constructor for Stoppested, lager ett nytt Stoppested objekt.
*
* @param navn - Navnet på stoppestedet.
* @param leggeTilTid - Med tid ja/nei.
*/
Stoppested::Stoppested(const string& navn, const bool& leggeTilTid) {
this->navn = navn;
}
/**
* Constructor for Stoppested, lager ett nytt Stoppested objekt.
*
* @param index - Indeks til stoppested.
* @param navn - Navnet på stoppestedet.
*/
Stoppested::Stoppested(const int& index, const string& navn) {
this->navn = navn;
// leggTilIndex()
}
/**
* Destructor for stoppested objekt.
*
*/
Stoppested::~Stoppested() {
}
/**
* Returnerer navnet til stoppestedet.
*
* @return string - Navnet til stoppestedet.
*/
string Stoppested::hentNavn() {
return navn;
}
void Stoppested::lesData() {
/*string inn;
cout << "\nSkriv inn navn på stoppested (blankt for avbryt):";
getline(cin, inn);
inn = hjelp.rensStreng(inn);
if (!inn.empty()) {
if (gStoppesteder->hentEksisterende(inn) == nullptr)
navn = inn;
else
cout << "\nError: Stoppested eksisterer fra før!" << '\n';
} else
cout << "\nAvbryter!" << '\n';*/
}
/**
* Skriver info om stoppestedet til terminal.
*
*/
void Stoppested::skrivData() {
cout << "\n..::Stoppested info::.."
<< "\nNavn: " << navn << '\n';
}
/**
* Skriver ut info om stoppestedet og dens naboer.
*
* @param alleStoppesteder vector med pekere til Stoppested.
*
* @see skrivData().
* @see hentNavn().
*/
void Stoppested::skrivDataMedNaboer(vector<Stoppested*> alleStoppesteder) {
skrivData();
int i, pos;
i = pos = 0;
bool naboEksisterer = false;
cout << "\nHar forbindelser til:"; // << '\n';
cout << "\nHar forbindelser til:";
for (const auto& val : indexNaboStoppene) {
cout << "\nSize indexes naboer: " << indexNaboStoppene.size();
cout << "\nSize tid: " << antallMinutterTilNaboStopp.size();
if (val < alleStoppesteder.size()) {
pos++;
cout << "\n\t" << i + pos << " - Navn: " << alleStoppesteder[val]->hentNavn()
<< '\t'
<< "Tid i minutter mellom stopp: " << antallMinutterTilNaboStopp[i];
//<< '\n';
naboEksisterer = true;
naboEksisterer = true;
}
i++;
}
if (!naboEksisterer) cout << "\nIngen forbindelser registrert!" << '\n';
}
/**
* Henter den siste tiden til nabostoppet.
*
* @return int - Tiden til nabostoppet, -1 hvis ingen tid.
*/
int Stoppested::hentTidNaboStopp() {
int storrelse = antallMinutterTilNaboStopp.size();
if (storrelse > 0) {
......@@ -73,37 +98,76 @@ int Stoppested::hentTidNaboStopp() {
return -1;
}
/**
* Henter den siste indexen til nabostoppet.
*
* @return int - Nabostoppets indeks, -1 hvis ingen nabo indeks(er).
*/
int Stoppested::hentIndex() {
if (indexNaboStoppene.size() > 0)
return indexNaboStoppene.back();
return -1;
}
/**
* Legger til nabostopp tid og indeks.
*
* @param index - Indeksen til nabostoppet.
* @param minutter - Antall minutter mellom nabostoppet.
*
* @see leggTilIndex().
* @see leggTilTid().
*/
void Stoppested::leggTilNaboStopp(const int& index, const int& minutter) {
leggTilIndex(index);
leggTilTid(minutter);
}
/**
* Leser inn tid mellom snabostoppet.
*
* @see leggTilTid().
*/
void Stoppested::lesTid() {
int minutter;
minutter = lesInt("Tid mellom forrige stopp i minutter", MIN_MINUTTER, MAX_MINUTTER);
leggTilTid(minutter);
// todo
}
/**
* Legger til indeken til nabostoppet i indexNaboStoppene.
*
* @param index - Indeksen til nabostoppet.
*/
void Stoppested::leggTilIndex(const int& index) {
indexNaboStoppene.push_back(index);
}
/**
* Legger til tiden til nabostoppet i antallMinutterTilNaboStopp.
*
* @param minutter - Antall minutter til nabostoppet.
*/
void Stoppested::leggTilTid(const int& minutter) {
antallMinutterTilNaboStopp.push_back(minutter);
}
/**
* Sletter all data lagt inn i indexNaboStoppene og
* antallMinutterTilNaboStopp vectorene.
*
*/
void Stoppested::slettVectorer() {
indexNaboStoppene.clear();
antallMinutterTilNaboStopp.clear();
}
/**
* Fjerner de første elementene i indexNaboStoppene
* og antallMinutterTilNaboStopp.
*
* @see slettVectorer().
*/
void Stoppested::fjernForsteNabo() {
int tmpIndex, tmpTid;
if (indexNaboStoppene.size() > 0 &&
......@@ -116,6 +180,12 @@ void Stoppested::fjernForsteNabo() {
}
}
/**
* Fjerner de siste elementene i indexNaboStoppene
* og antallMinutterTilNaboStopp hvis det eksisterer
* mer enn ett element.
*
*/
void Stoppested::fjernSisteNabo() {
if (indexNaboStoppene.size() > 1 &&
antallMinutterTilNaboStopp.size() > 1) {
......@@ -124,6 +194,16 @@ void Stoppested::fjernSisteNabo() {
}
}
/**
* Legger til nabo indeks og tid fremst i indexNaboStoppene
* og antallMinutterTilNaboStopp vectorene.
*
* @param index - Indeks som skal legges til.
* @param tid - Minutter som skal legges til.
*
* @see fjernForsteNabo().
* @see leggTilNaboStopp().
*/
void Stoppested::leggTilNaboFremst(const int& index, const int& tid) {
fjernForsteNabo();
int tmpIndex, tmpTid;
......@@ -139,11 +219,28 @@ void Stoppested::leggTilNaboFremst(const int& index, const int& tid) {
if (tmpIndex >= 0 && tmpTid >= 0) leggTilNaboStopp(tmpIndex, tmpTid);
}
/**
* Legger til nabo indeks og tid bakerst i indexNaboStoppene
* og antallMinutterTilNaboStopp vectorene.
*
* @param index - Indeks som skal legges til.
* @param tid - Minutter som skal legges til.
*
* @see fjernSisteNabo().
* @see leggTilNaboStopp().
*/
void Stoppested::leggTilNaboBakerst(const int& index, const int& tid) {
fjernSisteNabo();
leggTilNaboStopp(index, tid);
}
/**
* Henter enten det første eller siste nabostoppets indeks
* basert på den gitte parameteren.
*
* @param siste - Er det den siste som skal hentes true/false ja/nei.
* @return int - Indeksen til nabostoppet, -1 hvis indeks ikke ble funnet.
*/
int Stoppested::hentNaboStoppIndex(const bool& siste) {
if (indexNaboStoppene.size() > 1 && !siste)
return indexNaboStoppene.front();
......@@ -153,25 +250,41 @@ int Stoppested::hentNaboStoppIndex(const bool& siste) {
return -1;
}
/**
* Returnerer antall elementer i indexNaboStoppene vector.
*
* @return int - Antall elemnter i vectoren, -1 hvis ingen.
*/
int Stoppested::hentAntallStoppestedVector() {
if (indexNaboStoppene.size() > 1)
return indexNaboStoppene.size();
return -1;
}
/**
* Returnerer tiden til den første naboen.
*
* @return int - Tiden til den første naboen, -1 hvis ingen naboer.
*/
int Stoppested::hentTidForsteNabo() {
if (antallMinutterTilNaboStopp.size() > 1)
return antallMinutterTilNaboStopp.front();
return -1;
}
/**
* Leser inn stoppested fra fil.
*
* @param inn - Inn data fil-stream.
*
* @see HjelpeFunksjoner::splittStreng().
*/
void Stoppested::lesFraFil(ifstream& inn) {
string heleLinjen = "";
getline(inn, heleLinjen);
int pos = 0;
vector<string> linjenSplittet = hjelp.splittStreng('*', heleLinjen);
int storrelse = linjenSplittet.size();
cout << "\nStorrelse splittet: " << storrelse << "\n\n";
for (int i = 0; i < storrelse - 1; i++) {
switch (i) {
case 0:
......@@ -197,6 +310,11 @@ void Stoppested::lesFraFil(ifstream& inn) {
}
}
/**
* Skriver stoppested til fil.
*
* @param ut - Ut data fil-stream.
*/
void Stoppested::skrivTilFil(ofstream& ut) {
ut << navn << '*';
for (const auto& val : indexNaboStoppene) {
......@@ -206,4 +324,4 @@ void Stoppested::skrivTilFil(ofstream& ut) {
ut << val << '*';
}
ut << '\n';
}
\ No newline at end of file
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment