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

Oppdaterte meny() funksjon i globaleFunksjoner.cpp.

parent 5baccf9c
No related branches found
No related tags found
No related merge requests found
...@@ -6,30 +6,54 @@ extern Stoppesteder* gStoppesteder; ...@@ -6,30 +6,54 @@ extern Stoppesteder* gStoppesteder;
extern Ruter* gRuter; extern Ruter* gRuter;
void skrivMeny() { void skrivMeny() {
cout << "\nS - Stoppesteder" << '\n' cout << "\nS N - Nytt stoppested" << '\n'
<< "R - Ruter" << '\n' << "S A - Skriv alle stoppesteder" << '\n'
<< "Q - Avslutt"; << "S E - Endre rute" << '\n'
<< "R N - Ny rute" << '\n'
<< "R A - Skriv kort alle ruter" << '\n'
<< "R E - Endre rute" << '\n'
<< "R B - Rute beskrivelse" << '\n'
<< "R T - Rutetabell" << '\n'
<< "Q - Avslutt" << '\n';
} }
void meny() { void meny() {
HjelpeFunksjoner hjelp; HjelpeFunksjoner hjelp;
char valg; string valg;
vector<char> valgChars;
bool igjen;
do { do {
igjen = true;
skrivMeny(); skrivMeny();
valg = lesChar(""); cout << "Kommando: ";
switch (valg) { getline(cin, valg);
valgChars = delOppValg(valg);
if (valgChars.size() > 0) {
switch (valgChars.front()) {
case 'S': case 'S':
// Slikt at .back() ikke kaster ut en error
if (valgChars.size() > 1)
gStoppesteder->meny(); gStoppesteder->meny();
else
cout << "\nUgyldig valg!" << '\n';
break; break;
case 'R': case 'R':
// Slikt at .back() ikke kaster ut en error
if (valgChars.size() > 1)
gRuter->meny(); gRuter->meny();
else
cout << "\nUgyldig valg!" << '\n';
break;
case 'Q': case 'Q':
break; break;
default: default:
cout << "\nUgyldig valg!" << '\n'; cout << "\nUgyldig valg!" << '\n';
break; break;
} }
} while (valg != 'Q'); if (valgChars.front() == 'Q') igjen = false;
} else cout << "\nUgyldig valg!" << '\n';
// Så lenge brukren trykker q/Q
} while (igjen);
} }
vector<char> delOppValg(const std::string& str) { vector<char> delOppValg(const std::string& str) {
...@@ -40,14 +64,14 @@ vector<char> delOppValg(const std::string & str) { ...@@ -40,14 +64,14 @@ vector<char> delOppValg(const std::string & str) {
tmp.push_back(hjelp.rensStreng(str)); tmp.push_back(hjelp.rensStreng(str));
tmp = hjelp.splittStreng(' ', tmp.back()); tmp = hjelp.splittStreng(' ', tmp.back());
if (tmp.size() > 0 && tmp.size() < 3) { if (tmp.size() > 0 && tmp.size() < 3) {
for (const auto & val : tmp) { for (auto val : tmp) {
val = hjelp.gjorOmTilStorBokstav(val);
if (val == "S" || val == "R" || val == "Q" || if (val == "S" || val == "R" || val == "Q" ||
val == "N" || val == "A" || val == "B" || val == "T") val == "N" || val == "A" || val == "B" || val == "T")
valg.push_back(static_cast<char>(val.front())); valg.push_back(static_cast<char>(val.front()));
} }
} }
return valg; return valg;
} }
void ryddOppMinne() { void ryddOppMinne() {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment