diff --git a/rute.cpp b/rute.cpp index 87ecdd8556575957d7fdeb0265f74ecfcc70df2d..0b8acc32caa5714281249cf00c3fc7604ad1b57d 100644 --- a/rute.cpp +++ b/rute.cpp @@ -425,6 +425,59 @@ void Rute::slettData(){ * Hvis de ikke er naboer, skal man bli sendt tilbake til meny */ void Rute::smettStopp() { + string navn, + fNavn, + aNavn; + int stoppNr, + fStoppNr, + aStoppNr, + indeks, + naboIndeks, + fIndeks, + aIndeks; + Stopp* fStopp = nullptr; + Stopp* aStopp = nullptr; + Stopp* nStopp = nullptr; + Stoppested* fStoppested = nullptr; + Stoppested* aStoppested = nullptr; + Stoppested* nStoppested = nullptr; + + cout << "\n\nMellom start\n" + << "Stoppested (entydig navn / tall / ENTER for å avslutte): "; + getline(cin, navn); + + while (navn.size() > 0) { // Så lenge ikke skrevet enter: + navn = gStoppestederBase.byttBokstaver(navn); // fjerner æøåÆØÅ + + if (erTall(navn)) { // Sjekker om input kun er tall + stoppNr = stoi(navn); // Hvis kun tall, gjør om til int + // Hvis tallet er et faktisk stoppested: + if (gStoppestederBase.finnesIndeks(stoppNr-1)) { + // Henter det faktiske navnet + navn = gStoppestederBase.hentNavnVhaIndeks(stoppNr); + } + } + + fNavn = gStoppestederBase.finnEntydig(navn); // Sjekker entydighet + + if (fNavn.size() > 0) { // Hvis entydig navn: + // Henter et stoppesteds faktiske indeks + fIndeks = gStoppestederBase.hentIndeksVhaNavn(fNavn); + fStoppNr = fIndeks+1; // Setter eget stoppNr + + if (finnesStopp(fStoppNr)) { // Hvis stoppen finnes på ruta + // Finne riktige pekere til stoppested og stopp + // Starte på neste while for å finne andre stopp? + } else { + //send inn i while igjen, stopp er ikke på ruta + } + } else { + //send inn i while igjen, ikke entydig + } + + + + } }