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

Fjernet ubrukt kode og la til doxygen kommentarer på alle funksjonene i stoppesteder.cpp.

parent 92e01a54
No related branches found
No related tags found
No related merge requests found
......@@ -2,15 +2,28 @@
using namespace std;
/**
* Constructor for Stoppested, lager ett nytt Stoppestd object.
*
*/
Stoppesteder::Stoppesteder() {
lesFraFil();
}
/**
* Destructor for Stoppested objekt.
*
*/
Stoppesteder::~Stoppesteder() {
skrivTilFil();
ryddOppMinne();
}
/**
* Skriver ut alle stoppesteder til terminal.
*
* @see Stoppested::hentNavn().
*/
void Stoppesteder::skrivData() {
int i = 1;
for (const auto& val : alleStoppesteder) {
......@@ -19,6 +32,14 @@ void Stoppesteder::skrivData() {
}
}
/**
* Skriver ut data om ett stoppested basert på bruker input
* med info om nabostoppene e.g. navn og tid.
*
* @see HjelpeFunksjoner::rensStreng().
* @see hentEksisterende().
* @see Stoppested::skrivDataMedNaboer().
*/
void Stoppesteder::skrivSpesifikkData() {
cout << "\nSkriv inn navnet på stoppestedet: ";
string inn;
......@@ -31,36 +52,35 @@ void Stoppesteder::skrivSpesifikkData() {
cout << "\nIkke entydig eller finnes ikke!" << '\n';
}
/**
* Legger til ett nytt stoppested hvis det ikke eksisterer.
*
* @param navn - Navnet på stoppestedet.
* @param leggTilTid - Skal tid legges til ja/nei.
*
* @see hentEksisterende().
*/
void Stoppesteder::ny(const string& navn, const bool& leggTilTid) {
// bool eksisterer = false;
/*vector<Stoppested *>::iterator it =
find_if(alleStoppesteder.begin(), alleStoppesteder.end(),
[](Stoppested *s, const string navn) { return s->hentNavn() == navn; });*/
/*for (const auto & val : alleStoppesteder) {
if (val->hentNavn() == navn)
eksisterer = true;
}*/
if (hentEksisterende(navn) != nullptr)
cout << '\n'
<< "Error: "
<< navn
<< " eksisterer allerede!"
<< '\n';
/* else if (leggTilTid) {
// tid mellom forrige busstopp
// tid til neste bussstopp
// for (int i = alleStoppesteder.size(); i < )
alleStoppesteder.push_back(new Stoppested(alleStoppesteder.size(), navn, leggTilTid));
}*/
else {
alleStoppesteder.push_back(new Stoppested(navn, leggTilTid));
//skrivTilFil();
}
}
}
/**
* Returnerer pekeren til stoppestedet hvis det eksiterer.
*
* @param navn - Navnet på stoppestedet.
* @return Stoppested* - Peker til stoppested, nullptr hvis det ikke finnes.
*
* @see HjelpeFunksjoner::gjorOmTilStorBokstav().
* @see Stoppested::hentNavn().
*/
Stoppested* Stoppesteder::hentEksisterende(const string& navn) {
bool lik;
int antallLike = 0;
......@@ -87,20 +107,35 @@ Stoppested* Stoppesteder::hentEksisterende(const string& navn) {
if (antallLike == 1) return tmpStoppested;
return nullptr;
}
/**
* Returnerer pekeren til stoppestedet hvis det eksiterer.
*
* @param index - Indeksen til stoppestedet i vectoren alleStoppesteder.
* @return Stoppested* - Peker til stoppested, nullptr hvis det ikke finnes.
*/
Stoppested* Stoppesteder::hentEksisterende(const int& index) {
if (alleStoppesteder.size() >= index) return alleStoppesteder[index];
return nullptr;
}
/**
* Skriver ut meny valgene til terminal.
*
*/
void Stoppesteder::skrivMeny() {
/*cout << "\nN - Lag nytt stoppested" << '\n'
<< "A - Skriv alle stoppesteder" << '\n'
<< "E - Skriv alt om ett stoppested" << '\n';*/
cout << "\nN - Nytt stoppested" << '\n'
<< "A - Skriv alle stoppesteder" << '\n'
<< "E - Skriv alt om ett stoppested" << '\n'
<< "Q - Tilbake";
}
/**
* Returnerer indeksen til stoppestedet fra alleStoppesteder vectoren.
*
* @param stoppested - Peker til stoppestedet.
* @return int - Indeksen til stoppestedet, -1 hvis det ikke finnes.
*/
int Stoppesteder::hentIndex(Stoppested* stoppested) {
int i = 0;
for (const auto& val : alleStoppesteder) {
......@@ -110,12 +145,18 @@ int Stoppesteder::hentIndex(Stoppested* stoppested) {
return -1;
}
/**
* Meny, styrer hvilke funksjoner som skal brukes
* basert på bruker valget i parameteren.
*
* @param valg - Bruker valget.
*
* @see HjelpeFunksjoner::rensStreng().
* @see skrivData().
* @see skrivSpesifikkData().
*/
void Stoppesteder::meny(const char& valg) {
// char valg;
string navn;
// do {
// skrivMeny();
// valg = lesChar("");
switch (valg) {
case 'N': {
cout << "\nSkriv inn navn på stoppested:";
......@@ -123,7 +164,6 @@ void Stoppesteder::meny(const char& valg) {
navn = hjelp.rensStreng(navn);
if (navn != "") {
ny(navn, false);
}
break;
}
......@@ -139,9 +179,13 @@ void Stoppesteder::meny(const char& valg) {
cout << "\nUgyldig valg!" << '\n';
break;
}
//} while (valg != 'Q');
}
/**
* Sletter de lagrede stoppested pekerne fra alleStoppesteder
* vectoren.
*
*/
void Stoppesteder::ryddOppMinne() {
for (int i = 0; i < alleStoppesteder.size(); i++) {
delete alleStoppesteder[i];
......@@ -149,6 +193,11 @@ void Stoppesteder::ryddOppMinne() {
alleStoppesteder.clear();
}
/**
* Leser stoppesteder fra fil.
*
* @see Stoppested::lesFraFil().
*/
void Stoppesteder::lesFraFil() {
int antallStoppesteder, i;
antallStoppesteder = i = 0;
......@@ -167,6 +216,11 @@ void Stoppesteder::lesFraFil() {
<< '\n';
}
/**
* Skriver alle stoppestedene til fil.
*
* @see Stoppested::skrivTilFil().
*/
void Stoppesteder::skrivTilFil() {
ofstream fil(STI_STOPPESTEDER);
fil << alleStoppesteder.size() << '\n';
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment