Do-while Schleife ergänzt

This commit is contained in:
Leaced 2017-04-05 13:51:21 +02:00 committed by GitHub
parent c91ab2c265
commit 4774e6840f

View file

@ -2,7 +2,7 @@
#include<string> #include<string>
#include<sstream> #include<sstream>
//Dieses Programm berechnet wann sich 2 Autos auf einer Straße treffen wobei die Geschwindigkeit beider Autos schrittweise erhöht werden kann. //Dieses Programm berechnet wann sich 2 Autos auf einer Straße treffen wobei die Geschwindigkeit beider Autos schrittweise erhöht werden kann.
int main() int main()
{ {
@ -10,15 +10,12 @@ int main()
long double speed, distance, speedOppositeTrack, position; long double speed, distance, speedOppositeTrack, position;
std::cout << "Geben sie die Strecke der Landstra\xE1 \be in km ein: "; std::cout << "Geben sie die Strecke der Landstra\xE1 \be in km ein: ";
getline(std::cin, input); do
std::stringstream(input) >> distance;
if(0>distance)
{ {
std::cout << "\nERROR: Die Strecke muss gr\x94\xE1 \ber als 0 km sein"; getline(std::cin, input);
getchar(); std::stringstream(input) >> distance;
return(1); if(distance<0)std::cout << "\nERROR: Die Strecke muss gr\x94\xE1 \ber als 0 km sein. Gebe die Strecke erneut ein: ";
} }while(distance<0);
std::cout << "Geben sie ihre Startgeschwindigkeit in km/h ein: "; std::cout << "Geben sie ihre Startgeschwindigkeit in km/h ein: ";
@ -43,9 +40,9 @@ int main()
return(1); return(1);
} }
std::cout << "\nGib nach jeder Ausgabe +/- ein um deine Geschwindigkeit um 5 km/h zu verringern oder erhöhen\nSie begegnen unterwegs folgenden Autos:\n"; std::cout << "\nGib nach jeder Ausgabe +/- ein um deine Geschwindigkeit um 5 km/h zu verringern oder erhöhen\nSie begegnen unterwegs folgenden Autos:\n";
for(long double time = distance/(speed+speedOppositeTrack), position = time*speed; position<=distance; position += speedOppositeTrack/(120*(speed+speedOppositeTrack))*speed, time += speedOppositeTrack/(120*(speed+speedOppositeTrack))) //Formel für t nicht ausreichend. for(long double time = distance/(speed+speedOppositeTrack), position = time*speed; position<=distance; position += speedOppositeTrack/(120*(speed+speedOppositeTrack))*speed, time += speedOppositeTrack/(120*(speed+speedOppositeTrack))) //Formel für t nicht ausreichend.
{ {
if(position>ULLONG_MAX) if(position>ULLONG_MAX)
{ {