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

mulig fiks av issues R T

parent ac08e32d
No related branches found
No related tags found
1 merge request!5Frederik
......@@ -187,7 +187,7 @@ void Rute::ruteTabell(const int diff, const string start, const string stSted) {
tPrint, // hjelpevariabel for å sørge for korrekt utskrift av time
antGanger, // omregning for å legge inn riktig antall avgangstider
startTid, // omregning for å legge inn starttid
n, // hjelpevariabel for linjeskift ved ny time
n = -1, // hjelpevariabel for linjeskift ved ny time
timer, // hjelpevariabel for å skrive ut time
minutter, // hjelpevariabel for å skrive ut minutter
avgangsTid, // omregning for å legge inn riktig avgangstid
......@@ -197,22 +197,35 @@ void Rute::ruteTabell(const int diff, const string start, const string stSted) {
cout << "\nRuteavganger fra startstedet (" << start << ") - "
<< "avslutt med 0 0):\n\n";
cout << "Fra kl. (00:01 - 23:59): ";
cout << "Fra kl. (00:01 - 23:53): ";
cin >> startT >> startM; cin.ignore(); // Leser starttid
startTid = (startT*60)+startM; // Regner ut første avgangstid
while (!gyldigTid(startT, startM)) { // Sørger for at starttid er gyldig
while (!gyldigTid(startT, startM) || startTid > 1433) { // Sørger for at starttid er gyldig
cout << "\nUlovlig klokkeslett. Prøv igjen (tt mm): ";
cin >> startT >> startM; cin.ignore();
startTid = (startT*60)+startM;
}
startTid = (startT*60)+startM; // Regner ut første avgangstid
n = startT; // Setter indikator til å være første starttime
avgangsTid = startTid+diff;
//n = avgangsTid/60;
while (startT != 0 || startM != 0) { // Så lenge bruker ikke taster 0 0
avgangstider.push_back(startTid+diff); // Legger start tid i vector
avgangsTid = startTid+diff; // mulig denne kan fjernes
if (avgangsTid < 1440) {
avgangstider.push_back(avgangsTid); // Legger start tid i vector
} else {
avgangstider.push_back(avgangsTid%1440);
}
// Leser tid mellom avganger
if (avgangsTid < 1319) {
tidMellom = lesInt("Tid mellom avganger", MINTID, MAXTID);
} else {
tidMellom = lesInt("Tid mellom avganger", MINTID, 1439%startTid);
}
startTotal = (startT*60)+startM+tidMellom; // Omregner for sjekk
tPrint = startTotal/60; // Regner ut gyldig utskrift:
mPrint = startTotal%60;
......@@ -230,21 +243,25 @@ void Rute::ruteTabell(const int diff, const string start, const string stSted) {
sluttTotal = (sluttT*60)+sluttM; // Omregner for sjekk
}
antGanger = ((sluttT-startT)*60)/tidMellom; // Omregning for loop
antGanger = (((sluttT-startT)*60)+sluttM-startM)/tidMellom; // Omregning for loop
avgangsTid = startTid+diff; // Setter på differanse en gang
for (int i = 0; i < antGanger; i++) { // Legger til riktig antall avgangstider:
avgangsTid = avgangsTid + tidMellom; // Omregning
avgangstider.push_back(avgangsTid); // Legges i vektor
if (avgangsTid < 1440) {
avgangstider.push_back(avgangsTid);
} else {
avgangstider.push_back(avgangsTid%1440); // Legges i vektor
}
}
tPrint = (sluttTotal+1)/60; // Regner ut gyldig utskrift:
mPrint = (sluttTotal+1)%60;
if (sluttTotal < 1433) {
cout << "\n\nFra kl. (" << ((tPrint < 10) ? "0" : "") << tPrint
<< ':' << ((mPrint < 10) ? "0" : "") << mPrint
<< " - 23:59): ";
<< " - 23:53): ";
cin >> startT >> startM; cin.ignore(); // Leser ny starttid
startTotal = (startT*60)+startM; // Omregning
// Sørger for ny lovlig starttid:
......@@ -255,9 +272,14 @@ void Rute::ruteTabell(const int diff, const string start, const string stSted) {
startTotal = (startT*60)+startM; // Omregning
}
startTid = (startT*60)+startM; // Omregning
} else {
startT = 0; startM = 0;
}
cout << "\n\nRutetabell for stoppested: " << stSted << "\n\n"
<< ((n < 10) ? "0" : "") << n << ':';
}
cout << "\n\nRutetabell for stoppested: " << stSted << "\n\n";
//<< ((n < 10) ? "0" : "") << n << ':';
sort(avgangstider.begin(), avgangstider.end());
for (int i = 0; i < avgangstider.size(); i++) { // For hver avgangstid:
timer = avgangstider[i]/60; // Regner ut time
......@@ -265,9 +287,14 @@ void Rute::ruteTabell(const int diff, const string start, const string stSted) {
if (timer == n) { // Skriver ut minutter hvis time er lik indikator
cout << ' ' << ((minutter < 10) ? "0" : "") << minutter;
} else { // Skriver ut time hvis timer er mer enn indikator
if (timer < 24) {
cout << '\n' << ((timer < 10) ? "0" : "")
<< timer << ':' << ' ' << ((minutter < 10) ? "0" : "")
<< minutter;
} else {
cout << '\n' << ((timer%24 < 10) ? "0" : "") << timer%24 << ": " << ((minutter < 10) ? "0" : "")
<< minutter;
}
n = timer; // Oppdaterer indikator
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment