From 1a91cb9985fb440c875b03e62e020e8f3bc72c9e Mon Sep 17 00:00:00 2001 From: Leaced Date: Wed, 5 Apr 2017 17:28:45 +0200 Subject: [PATCH] diverse kleine Verbesserungen --- Sonstiges/BMI.cpp | 28 ++++++++++---------- Sonstiges/Kreuzende Autos.cpp | 48 +++++++++++++++-------------------- Sonstiges/Schleifen.cpp | 4 +-- Sonstiges/Zahlen Raten.cpp | 6 ++--- 4 files changed, 39 insertions(+), 47 deletions(-) diff --git a/Sonstiges/BMI.cpp b/Sonstiges/BMI.cpp index da0bf79..50a6163 100644 --- a/Sonstiges/BMI.cpp +++ b/Sonstiges/BMI.cpp @@ -1,8 +1,9 @@ #include +#include #include #include -//Der Body-Mass-Index (BMI) – auch Körpermasseindex (KMI), Körpermassenzahl (KMZ) oder Quetelet-Kaup-Index – ist eine Maßzahl für die Bewertung des Körpergewichts eines Menschen in Relation zu seiner Körpergröße. +//Der Body-Mass-Index (BMI) - auch Körpermasseindex (KMI), Körpermassenzahl (KMZ) oder Quetelet-Kaup-Index - ist eine Maßzahl für die Bewertung des Körpergewichts eines Menschen in Relation zu seiner Körpergröße. int main() { @@ -10,27 +11,24 @@ int main() std::string input; std::cout<<"Gib deine Gr\x94\xE1 \be in metern ein: "; - getline(std::cin,input); - std::stringstream(input)>>height; - - if(height<=0 || height>2.5) + do { - std::cout<<"ERROR: Die eingegebene Gr\x94\xE1 \be ist nicht m\x94glich."; - return(1); - } + getline(std::cin,input); + std::stringstream(input)>>height; + if(height<0,5 || height>2.5) std::cout<<"ERROR: Die eingegebene Gr\x94\xE1 \be ist nicht im Wertebereich. Bitte gib eine Gr\x94\xE1 \be von 0,5 bis 2,5 ein: "; + }while(height<0,5 || height>2.5); std::cout<<"...und jetzt dein Gewicht in Kilogramm: "; - getline(std::cin,input); - std::stringstream(input)>>weight; - if(weight<=0 || weight>500) + do { - std::cout<<"ERROR: Das eingegebene Gewicht ist nicht m\x94glich."; - return(1); - } + getline(std::cin,input); + std::stringstream(input)>>weight; + if(weight<30 || weight>500) std::cout<<"ERROR: Das eingegebene Gewicht ist nicht im Wertebereich. Bitte gib ein Gewicht von 30 bis 500 ein: "; + }while(weight<30 || weight>500); std::cout<<"\nDein BMI ist: "< +#include #include #include -//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() { std::string input; long double speed, distance, speedOppositeTrack, position; - std::cout << "Geben sie die Strecke der Landstra\xE1 \be in km ein: "; + std::cout << "Gib die Strecke der Landstra\xE1 \be in km ein: "; do { getline(std::cin, input); std::stringstream(input) >> distance; - 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); + if(distance<=0)std::cout << "ERROR: Die Strecke muss gr\x94\xE1 \ber als 0 km sein. Gib die Strecke erneut ein: "; + }while(distance<=0); - std::cout << "Geben sie ihre Startgeschwindigkeit in km/h ein: "; - getline(std::cin, input); - std::stringstream(input) >> speed; - - if(0>speed>200) + std::cout << "Gib die Startgeschwindigkeit in km/h ein: "; + do { - std::cout << "\nERROR: Die Geschwindigkeit muss gr\x94\xE1 \ber als 0 km/h sein und darf 200 km/h nicht \x81 \bberschreiten."; - getchar(); - return(1); - } + getline(std::cin, input); + std::stringstream(input) >> speed; + if(speed<0 || speed>200) std::cout << "ERROR: Die Geschwindigkeit muss gr\x94\xE1 \ber als 0 km/h sein und darf 200 km/h nicht \x81 \bberschreiten. Gib die Geschwindigkeit erneut ein: "; + }while(speed<0 || speed>200); - std::cout << "...und nun die Geschwindigkeit der Autos der gegen\x81 \bberliegenden Fahrbahn: "; - getline(std::cin, input); - std::stringstream(input) >> speedOppositeTrack; - - if(0>speedOppositeTrack>200) + std::cout << "Gib nun die Geschwindigkeit der Autos der gegen\x81 \bberliegenden Fahrbahn ein: "; + do { - std::cout << "\nERROR: Die Geschwindigkeit muss gr\x94\xE1 \ber als 0 km/h sein und darf 200 km/h nicht \x81 \bberschreiten."; - getchar(); - return(1); - } + getline(std::cin, input); + std::stringstream(input) >> speedOppositeTrack; + if(speedOppositeTrack<0 || speedOppositeTrack>200)std::cout << "ERROR: Die Geschwindigkeit muss gr\x94\xE1 \ber als 0 km/h sein und darf 200 km/h nicht \x81 \bberschreiten. Gib die Geschwindigkeit erneut ein: "; + }while(speedOppositeTrack<0 || speedOppositeTrack>200); - 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\x94 \bhen\nDie Autos treffen sich wie folgt:\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. { if(position>ULLONG_MAX) { std::cout << "ERROR: Begegnung kann nicht berechnet werden."; - break; } - std::cout << (int)time << "h:" << (int)(time*60)%60 << "min:" << (int)(time*3600)%60 << "sec: " << position << "km"; + std::cout << (int)time << "h:" << (int)(time*60)%60 << "min:" << (int)(time*3600)%60 << "sec: " << position << "km "; getline(std::cin, input); if(input=="+") speed += 5; - if(input=="-") speed -= 5; + else if(input=="-") speed -= 5; if(-speed>speedOppositeTrack) break; } std::cout << "PROGRAMMENDE!"; - getchar(); + getch(); return(0); } diff --git a/Sonstiges/Schleifen.cpp b/Sonstiges/Schleifen.cpp index 98d971d..c7dd56f 100644 --- a/Sonstiges/Schleifen.cpp +++ b/Sonstiges/Schleifen.cpp @@ -4,7 +4,7 @@ int main() { - long long depth; + long long depth = 1; std::string input; std::cout << "Geben sie die Tiefe ein: "; @@ -12,7 +12,7 @@ int main() { getline(std::cin, input); std::stringstream(input) >> depth; - if(depth<2)std::cout << "ERROR: Die Zahl muss größer als 1 sein. Geben sie die Tiefe erneut ein: "; + if(depth<2)std::cout << "ERROR: Die Zahl muss gr\x94\xE1 \ber als 1 sein. Geben sie die Tiefe erneut ein: "; }while(depth<2); for(long long idx = 0; idx #include #include -using namespace std; + int main() { bool again = true; @@ -24,7 +24,7 @@ int main() { tries++; getline(std::cin, input); - stringstream(input) >> number; + std::stringstream(input) >> number; if(number<1 || number>100) std::cout << "Die eingegebene Zahl liegt nicht im Wertebereich. Gib eine Zahl zwischen 1 und 100 ein: "; }while(number<1 || number>100); @@ -35,7 +35,7 @@ int main() //Zusatzaufgabe: Berechne die minimal notwendige Anzahl an Versuchen std::cout << "\nTreffer! Du hast " << tries << " Versuche gebraucht.\nWenn du ein 2. mal spielen m\x94 \bchtest, gib \"1\" ein. Zum beenden w\x84hle eine beliebige Eingabe: "; getline(std::cin, input); - stringstream(input) >> randNumber; + std::stringstream(input) >> randNumber; if(randNumber == 1) again = true; std::cout << "\n\n"; }