Do-while Schleife ergänzt
This commit is contained in:
parent
c91ab2c265
commit
4774e6840f
1 changed files with 8 additions and 11 deletions
|
@ -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)
|
||||||
{
|
{
|
||||||
|
|
Reference in a new issue