Busfahrplan in C++ Hilfe
-
Sehr geehrte C++ Profis,
ich benötige Hilfe bei einem Busfahrplan. Er möchte leider nicht so, wie ich es möchte.

Mein Problem ist es nun:
Bitte geben Sie die Stunden der Startuhrzeit ein: 15 Bitte geben Sie die Minuten der Startuhrzeit ein: 59 Der erste Bus faehrt also um 15:59 Uhr. Bitte geben Sie die Taktzeit in Minuten ein: 90Als Ausgabe: 15:59
17:29
18:59
20:29
21:59
23:29Aus cout hinzubekommen, dass Problem ist, dass mein Programm immer nur zu einer Stunde anfängt und die Startuhrzeit in Minuten ignoriert. Ich weiß leider nicht wie ich das am besten implementiere.
Der Busfahrplan soll nur bis 24 Uhr gehen. Für jede Stunde soll eine neue Zeile gemacht werden (Dies funktioniert auch).
Kann mir jemand helfen, damit ich die Ausgabe so hin bekomme?
#include <iostream> #include <string> using namespace std; int main() { int startzeit_stunden; int startzeit_minuten = 0; int takt = 0; do { cout << "Bitte geben Sie die Stunden der Startuhrzeit ein:"; cin >> startzeit_stunden; } while (startzeit_stunden < 0); do { cout << "Bitte geben Sie die Minuten der Startuhrzeit ein:"; cin >> startzeit_minuten; } while (startzeit_minuten > 59); cout << "Der erste Bus faehrt also um " << startzeit_stunden << ":" << startzeit_minuten << " Uhr. " << endl; do { cout << "Bitte geben Sie die Taktzeit in Minuten ein:"; cin >> takt; } while (takt > 180 || takt == 0); int cnt = startzeit_stunden; for (int i = startzeit_stunden; i<24; ++i) { while ((cnt += takt) < 59) { cout << i << ":" << cnt << " "; } cout << endl; cnt = cnt % takt; } }
-
#include <iostream> #include <string> using namespace std; int main() { int startzeit_stunden; int startzeit_minuten = 0; int takt = 0; do { cout << "Bitte geben Sie die Stunden der Startuhrzeit ein:"; cin >> startzeit_stunden; } while (startzeit_stunden < 0); do { cout << "Bitte geben Sie die Minuten der Startuhrzeit ein:"; cin >> startzeit_minuten; } while (startzeit_minuten > 59); cout << "Der erste Bus faehrt also um " << startzeit_stunden << ":" << startzeit_minuten << " Uhr. " << endl; do { cout << "Bitte geben Sie die Taktzeit in Minuten ein:"; cin >> takt; } while (takt > 180 || takt == 0); while(startzeit_stunden < 24) { cout << startzeit_stunden << ":" << startzeit_minuten << '\n'; startzeit_minuten += takt; startzeit_stunden += startzeit_minuten / 60; startzeit_minuten %= 60; } }
-
Hallo,
leider funktioniert nun folgendes nicht mehr: Für jede Stunde soll eine neue Zeile gemacht werden
Wie kann ich das realisieren?
-
Hallo,
habe es nun hinbekommen.
Erhalte folgende Fehlermeldung:equality assertion failed
- Expected: Bitte geben Sie die Stunden der Startuhrzeit ein: Bitte geben Sie d
ie Minuten der Startuhrzeit ein: Der erste Bus faehrt also um 15:59 Uhr.
Bitte geben Sie die Taktzeit in Minuten ein: 15:59
17:29
18:59
20:29
21:59
23:29- Actual : Bitte geben Sie die Stunden der Startuhrzeit ein: Bitte geben Sie d
ie Minuten der Startuhrzeit ein: Der erste Bus faehrt also um 15:59 Uhr.
Bitte geben Sie die Taktzeit in Minuten ein: 15:59
17:29
18:59
20:29
21:59
23:29#include <iostream> #include <string> using namespace std; int main() { int startzeit_stunden; int startzeit_minuten = 0; int takt = 0; do { cout << "Bitte geben Sie die Stunden der Startuhrzeit ein: "; cin >> startzeit_stunden; } while (startzeit_stunden < 0); do { cout << "Bitte geben Sie die Minuten der Startuhrzeit ein: "; cin >> startzeit_minuten; } while (startzeit_minuten > 59); cout << "Der erste Bus faehrt also um " << startzeit_stunden << ":" << startzeit_minuten << " Uhr. " << endl; do { cout << "Bitte geben Sie die Taktzeit in Minuten ein: "; cin >> takt; } while (takt > 180 || takt == 0); int z = 0; while (startzeit_stunden < 24) { z = startzeit_stunden; cout << startzeit_stunden << ":" << startzeit_minuten << " "; startzeit_minuten += takt; startzeit_stunden += startzeit_minuten / 60; startzeit_minuten %= 60; if (z != startzeit_stunden) { cout << endl; } } system("pause"); }
-
Wenn man irgendein Testsystem damit füttert, ist system("pause") bestimmt doof.
-
Hallo,
getestet, behebt den Fehler nicht. Das Testsystem hat nichts gegen system pause. Evnetuell gegen eine Bedingung.. jemand eine Idee?
-
ShawnMe schrieb:
Hallo,
leider funktioniert nun folgendes nicht mehr: Für jede Stunde soll eine neue Zeile gemacht werden
Wie kann ich das realisieren?
Ich verstehe Deine Anforderung nicht. Jede Abfahrtszeit wird doch in einer neuen Zeile ausgegeben?!
Und was meinst Du mit "leider funktioniert nun folgendes nicht mehr"?
In Deinem Code hat gar nichts funktioniert!
-
Hallo,
Es funktioniert nun alles.
Es taucht im testsystem nur der Fehler auf
equality assertion failed
Jemand eine idee ?
-
Die Taktzeit soll vermutlich auch nicht negativ sein oder?
-
LeBoyce schrieb:
Die Taktzeit soll vermutlich auch nicht negativ sein oder?
Genau so sollte die Stunden Anzahl nicht größer als 23 sein und die Minuten Anzahl nicht negativ oder gleich null ^^
-
Die volle Stunde hat auf meiner Digitaluhr aber null Minuten.
