Skip to content
Snippets Groups Projects
Commit 74bea22d authored by Sondre Sand's avatar Sondre Sand
Browse files

fikset en kræsj

parent 518f15b0
Branches
No related tags found
1 merge request!6Frederik
......@@ -405,34 +405,37 @@ void Rute::fjernStopp() {
cout << "\n\nMellom slutt\n"
<< "Stoppested (entydig navn / tall / ENTER for å avslutte): ";
getline(cin, navn2);
lNavn = ""; //hopper ut av while
}
}
if(p1 > p2){
if(p1 > p2 && p2!=nullptr){
auto temp = itS; itS = itL; itL= temp; //bytter om iteratoren
tempI = sIndeks; sIndeks = lIndeks; lIndeks = tempI; //bytter indeks
tempN = sNavn; sNavn=lNavn; lNavn = tempN; //bytter navn
tempS = sStoppNr; sStoppNr = lStoppNr; lStoppNr = tempS; //bytter stoppnr
}
advance (itS, sStoppNr+1); //setter iterator start til en forbi stoppet
advance (itL, lStoppNr); //fordi advance tar med selv stoppet det starter på, så må en forbi
stoppene.erase(itS, itL); //fjerner alt mellom bruker start og slutt.
sp1 = gStoppestederBase.finnDuplikat(sNavn); //setter peker til vektoren på start navn
sp2 = gStoppestederBase.finnDuplikat(lNavn); //setter peker til vektoren på slutt navn
if(sp2->finnesNabo(sIndeks+1)){ //hvis de er naboer
tid = sp2->hentNaboTid(sIndeks); //hent tiden
p2->minutter=tid; //oppdater tiden i structen
cout << "Tiden mellom stoppestedene er allerede registrert som "
<< tid << "minutter.";
if(lNavn.size() > 0){
advance (itS, sStoppNr+1); //setter iterator start til en forbi stoppet
advance (itL, lStoppNr); //fordi advance tar med selv stoppet det starter på, så må en forbi
stoppene.erase(itS, itL); //fjerner alt mellom bruker start og slutt.
sp1 = gStoppestederBase.finnDuplikat(sNavn); //setter peker til vektoren på start navn
sp2 = gStoppestederBase.finnDuplikat(lNavn); //setter peker til vektoren på slutt navn
if(sp2->finnesNabo(sIndeks+1)){ //hvis de er naboer
tid = sp2->hentNaboTid(sIndeks); //hent tiden
p2->minutter=tid; //oppdater tiden i structen
cout << "Tiden mellom stoppestedene er allerede registrert som "
<< tid << "minutter.";
}else{ //hvis de ikke er naboer
tid=lesInt("Tid til fra forrige stopp", 1, 10); //leser inn tid mellom stopp
p2->minutter=tid; //oppdaterer tiden i struct
sp1->settNaboIndeks(lIndeks); //start stopp er nabo med slutt stopp
sp1->settNaboTid(tid); //oppdaterer tiden
sp2->settNaboIndeks(sIndeks); //slutt stopp er nabo med start stopp
sp2->settNaboTid(tid); //oppdaterer tiden
}
skrivKort();
skrivRute(Fram); //skriver ut oppdatert rute.
tid=lesInt("Tid til fra forrige stopp", 1, 10); //leser inn tid mellom stopp
p2->minutter=tid; //oppdaterer tiden i struct
sp1->settNaboIndeks(lIndeks); //start stopp er nabo med slutt stopp
sp1->settNaboTid(tid); //oppdaterer tiden
sp2->settNaboIndeks(sIndeks); //slutt stopp er nabo med start stopp
sp2->settNaboTid(tid); //oppdaterer tiden
}
skrivKort();
skrivRute(Fram); //skriver ut oppdatert rute.
}
}
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment