Skip to content
Snippets Groups Projects
Commit 5c9b47ab authored by Frederik Simonsen's avatar Frederik Simonsen
Browse files

R B skrive ruten forlengs

parent 4917a343
No related branches found
No related tags found
No related merge requests found
......@@ -30,3 +30,12 @@ void Bane::skrivTilFil(ofstream & ut) {
Rute::skrivTilFil(ut);
ut << antVogner << ' ' << lengde << '\n';
}
/**
* skrivBeskrivelse()
*/
void Bane::skrivBeskrivelse() {
cout << "Banen har " << antVogner << " vogner og banesettet er "
<< lengde << " meter langt.\n";
Rute::skrivBeskrivelse();
}
\ No newline at end of file
......@@ -21,6 +21,7 @@ class Bane : public Rute {
Bane(std::ifstream & inn);
virtual void skrivData() const;
virtual void skrivTilFil(std::ofstream & ut);
virtual void skrivBeskrivelse();
};
......
......@@ -32,3 +32,13 @@ void Buss::skrivTilFil(ofstream & ut) {
ut << antSitt << ' ' << antStaa
<< ' ' << leddbuss << '\n';
}
/**
* skrivBeskrivelse()
*/
void Buss::skrivBeskrivelse() {
cout << "Bussen har " << antSitt << " sitteplasser, " << antStaa
<< " ståplasser og er " << (leddbuss ? "" : "ikke")
<< " en leddbuss.\n";
Rute::skrivBeskrivelse();
}
\ No newline at end of file
......@@ -23,6 +23,7 @@ class Buss : public Rute {
Buss(std::ifstream & inn);
virtual void skrivData() const;
virtual void skrivTilFil(std::ofstream & ut);
virtual void skrivBeskrivelse();
};
......
......@@ -8,6 +8,8 @@
#ifndef __CONST_H
#define __CONST_H
const int MINRUTER = 1;
const int MAXRUTER = 999;
// TODO: INNHOLD HER
#endif
......@@ -9,5 +9,6 @@
#define __ENUM_H
// TODO: INNHOLD HER
enum Retning { Fram, Tilbake };
#endif
\ No newline at end of file
......@@ -5,6 +5,7 @@
* @author Sondre Sand & Frederik Simonsen
*/
#include <iostream>
#include <iomanip>
#include <list>
#include <fstream>
#include "rute.h"
......@@ -84,3 +85,36 @@ void Rute::skrivTilFil(ofstream & ut) {
int Stopp::hentNr() {
return nr;
}
/**
* skrivBeskrivelse()
*/
void Rute::skrivBeskrivelse() {
cout << "Ruten:\n";
skrivRute(Fram);
cout << "\n\n";
skrivRute(Tilbake);
}
/**
* skrivRute(...)
* @param retning
*/
void Rute::skrivRute(const Retning retning) {
int minF,
indeks,
totMin;
string navn;
if (retning == Fram) {
for (auto it = stoppene.begin(); it != stoppene.end(); it++) {
indeks = (*it)->nr;
minF = (*it)->minutter;
navn = gStoppestederBase.hentNavnVhaIndeks(indeks);
totMin += minF;
cout << setw(25) << navn << " - " << setw(2) << minF
<< " min fra forrige (" << setw(3) << totMin
<< " min fra rutestart)\n";
}
}
}
\ No newline at end of file
......@@ -10,6 +10,7 @@
#include <list>
#include <fstream>
#include "enum.h"
/**
* Stopp (med unikt nummer og antall minutter fra stoppested)
......@@ -33,6 +34,8 @@ class Rute {
Rute(std::ifstream & inn);
virtual void skrivData() const;
virtual void skrivTilFil(std::ofstream & ut);
virtual void skrivBeskrivelse();
void skrivRute(const Retning retning);
};
......
......@@ -12,6 +12,7 @@
#include "rute.h"
#include "bane.h"
#include "buss.h"
#include "const.h"
using namespace std;
/**
......@@ -79,7 +80,13 @@ void Ruter::nyRute() {
* ruteBeskrivelse()
*/
void Ruter::ruteBeskrivelse() {
int ruteNr;
ruteNr = lesInt("\nRutenr", MINRUTER, MAXRUTER);
auto it = rutene.find(ruteNr);
if (it != rutene.end()) {
it->second->skrivBeskrivelse();
} else
cout << "\nRuten med dette rutenr eksisterer ikke..\n";
}
/**
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment