From 68c946daddd86f5df3112fe25115dcaac5e1476b Mon Sep 17 00:00:00 2001
From: andrbl <andrbl@stud.ntnu.no>
Date: Thu, 7 Apr 2022 20:28:37 +0200
Subject: [PATCH] Fjernet ubrukt kode og la til doxygen kommentarer for alle
 funksjonene i ruter.cpp.

---
 ruter.cpp | 137 ++++++++++++++++++++++++++++++++++++------------------
 1 file changed, 91 insertions(+), 46 deletions(-)

diff --git a/ruter.cpp b/ruter.cpp
index c360b72..591a348 100644
--- a/ruter.cpp
+++ b/ruter.cpp
@@ -4,14 +4,31 @@ using namespace std;
 
 extern Stoppesteder* gStoppesteder;
 
+/**
+ * Constructor for Ruter, lager ett objekt.
+ *
+ */
 Ruter::Ruter() {
     lesFraFil();
 }
 
+/**
+ * Destructor for Ruter objekt.
+ *
+ */
 Ruter::~Ruter() {
     skrivTilFil();
 }
 
+/**
+ * Legger til en ny rute i map'et alleRuter basert på om
+ * det er en buss elle bane rute.
+ *
+ * @param nr - Rutens unike nummer/ID.
+ *
+ * @see Buss::lesData().
+ * @see Bane::lesData().
+ */
 void Ruter::ny(const int& nr) {
     cout << "\nBuss eller bane?" << '\n'
          << "\n1 - Buss" << '\n'
@@ -41,23 +58,26 @@ void Ruter::ny(const int& nr) {
     }
 }
 
+/**
+ * Returnerer peker til ruten hvis den finnes.
+ *
+ * @param nr - Rutens nummer/ID.
+ * @return Rute* - Peker til rute, nullptr hvis den ikke finnes.
+ */
 Rute* Ruter::hentEksisterende(const int nr) {
-    // for (const auto & val : alleRuter)
     Rute* rute = nullptr;
     for_each(begin(alleRuter), end(alleRuter),
              [&rute, &nr](pair<int const, Rute*>& mRuter) {
                  if (mRuter.first == nr) rute = mRuter.second;
              });
-    /*const auto & it = find_if(alleRuter.begin(), alleRuter.end(),
-    [nr](map<int, Rute*>mRuter){return true; });
-    it.first == 1;*/
     return rute;
 }
 
+/**
+ * Skriver meny valg til terminal.
+ *
+ */
 void Ruter::skrivMeny() {
-    /*cout << "\n1 - Buss" << '\n'
-    << "2 - Bane" << '\n'
-    << "0 - Avbryt" << '\n';*/
     cout << "\nN - Ny rute" << '\n'
          << "A - Skriv kort alle ruter" << '\n'
          << "E - Endre rute" << '\n'
@@ -66,16 +86,18 @@ void Ruter::skrivMeny() {
          << "Q - Tilbake" << '\n';
 }
 
+/**
+ * Meny som velger hvilke funksjoner som skal brukes
+ * basert på bruker valget gitt i valg parameteren.
+ *
+ * @param valg - Bruker valget.
+ */
 void Ruter::meny(const char& valg) {
-    // char valg;
     Rute* rute;
     int ruteNr;
-
-    // do {
     rute = nullptr;
     ruteNr = -1;
-    // skrivMeny();
-    // valg = lesChar("");
+
     switch (valg) {
         case 'N': {
             ruteNr = lesRute();
@@ -111,21 +133,17 @@ void Ruter::meny(const char& valg) {
             cout << "\nUgyldig valg!" << '\n';
             break;
     }
-    //} while (valg != 'Q');
-
-    /* Rute* rute;
-    int valg, ruteNr;
-    ruteNr = lesInt("Skriv inn nummer for ny rute", MIN_RUTER, MAX_RUTER);
-    skrivMeny();
-    valg = lesInt("", 0, 3);
-    rute = hentEksisterende(ruteNr);
-    if (rute == nullptr) {
-        ny(valg, ruteNr);
-    } else
-        cout << "\nError: Rute eksisterer allerede!" << '\n';*/
 }
 
-void Ruter::skrivKortData() {  // skrivKortData
+/**
+ * Skriver ut info om en rute til terminal.
+ *
+ * @see Bane::skrivType().
+ * @see Buss::skrivType().
+ * @see Stoppesteder::hentEksisterende().
+ * @see Stoppested::hentNavn().
+ */
+void Ruter::skrivKortData() {
     Buss* buss;
     Bane* bane;
     Stoppested* stopp;
@@ -133,10 +151,6 @@ void Ruter::skrivKortData() {  // skrivKortData
     for (const auto& val : alleRuter) {
         stopp = nullptr;
         cout << "\nRute nr:" << val.first;
-        /*if (val.second == buss)
-            cout << "\tBuss";
-        else
-            cout << "\tBane";*/
         cout << '\t';
         val.second->skrivType();
         if (val.second->alleStoppestedenePaaRuten.size() > 0) {
@@ -147,22 +161,42 @@ void Ruter::skrivKortData() {  // skrivKortData
     }
 }
 
+/**
+ * Skriver data forlengs og baklengs om en rute.
+ *
+ * @param rute - Peker til ruten som skal skrives ut.
+ *
+ * @see Rute::skrivData().
+ */
 void Ruter::skrivData(Rute* rute) {
     rute->skrivData();
 }
 
+/**
+ * Skriver data forlengs og baklengs om en rute basert på rute
+ * nummeret/ID.
+ *
+ * @param ruteNr - rute nummeret/ID.
+ *
+ * @see Rute::skrivData().
+ */
 void Ruter::spesifikkRuteData(const int& ruteNr) {
     Rute* rute;
-    // int ruteNr;
-    // ruteNr = lesRute();
     rute = hentEksisterende(ruteNr);
     if (rute != nullptr) {
-        // skrivData(rute);
         rute->skrivData();
     } else
         cout << "\nError: rute nr: " << ruteNr << " finnes ikke!" << '\n';
 }
 
+/**
+ * Endrer en eksisternde rute.
+ *
+ * @see lesRute().
+ * @see hentEksisterende().
+ * @see spesifikkRuteData().
+ * @see Rute::endre().
+ */
 void Ruter::endre() {
     Rute* rute;
     int ruteNr, valg;
@@ -173,22 +207,28 @@ void Ruter::endre() {
         rute->endre();
     } else
         cout << "\nError: rute nr: " << ruteNr << " finnes ikke!" << '\n';
-
-    if (valg > 0) {
-        /* int start, slutt;
-         start = lesInt("Hvilke stoppested utgjør start ytterpunkt?",
-                        1, alleStoppestedenePaaRuten.size());
-         slutt = lesInt("Hvilket stoppested utgjør slutt ytterpunkt?",
-                        start + 1, alleStoppestedenePaaRuten.size());*/
-    }
 }
 
+/**
+ * Leser inn rute nummer fra CLI.
+ *
+ * @return int - Innlest tall valgt av bruker.
+ *
+ * @see lesData3 lesInt().
+ */
 int Ruter::lesRute() {
     int ruteNr;
     ruteNr = lesInt("Skriv inn rute nummer", MIN_RUTER, MAX_RUTER);
     return ruteNr;
 }
 
+/**
+ * Leser ruter fra fil.
+ *
+ * @see HjelpeFunksjoner::splittStreng().
+ * @see Buss::lesFraFil().
+ * @see Bane::lesFraFil().
+ */
 void Ruter::lesFraFil() {
     int antallRuter, i;
     antallRuter = i = 0;
@@ -201,13 +241,12 @@ void Ruter::lesFraFil() {
         while (!fil.eof() && i < antallRuter) {
             getline(fil, type);
             typeSplittet = hjelp.splittStreng('*', type);
-            if(typeSplittet[1] == "Buss") {
+            if (typeSplittet[1] == "Buss") {
                 Buss* buss = new Buss;
                 buss->lesFraFil(fil);
                 alleRuter.insert(pair<int, Rute*>(stoi(typeSplittet.front()), buss));
-            }
-            else if (typeSplittet[1] == "Bane") {
-                Bane * bane = new Bane;
+            } else if (typeSplittet[1] == "Bane") {
+                Bane* bane = new Bane;
                 bane->lesFraFil(fil);
                 alleRuter.insert(pair<int, Rute*>(stoi(typeSplittet.front()), bane));
             }
@@ -219,12 +258,18 @@ void Ruter::lesFraFil() {
              << '\n';
 }
 
+/**
+ * Skriver ruter til fil.
+ *
+ * @see Buss::skrivTilFil().
+ * @see Bane::skrivTilFil().
+ */
 void Ruter::skrivTilFil() {
     ofstream fil(STI_RUTER);
     fil << alleRuter.size() << '\n';
-    for (const auto & val : alleRuter) {
+    for (const auto& val : alleRuter) {
         fil << val.first << '*';
         val.second->skrivTilFil(fil);
         fil << "X" << '\n';
     }
-}
\ No newline at end of file
+}
-- 
GitLab