From 9f787b339e2e3d034d6772942ce331444ea51de8 Mon Sep 17 00:00:00 2001 From: Leaced Date: Fri, 14 Apr 2017 19:24:44 +0200 Subject: [PATCH] kleine Optimierung --- Sonstiges/Schleifen.cpp | 28 +++++++++++++------------- Sonstiges/Zahlen Raten.cpp | 41 +++++++++++++++++++------------------- Sonstiges/Zähler.cpp | 5 ++++- 3 files changed, 38 insertions(+), 36 deletions(-) diff --git a/Sonstiges/Schleifen.cpp b/Sonstiges/Schleifen.cpp index 680e7f7..41c901f 100644 --- a/Sonstiges/Schleifen.cpp +++ b/Sonstiges/Schleifen.cpp @@ -5,7 +5,7 @@ int main() { - long long depth = 1; + short depth = 1; std::string input; std::cout << "Gib die Tiefe ein: "; @@ -13,43 +13,43 @@ int main() { getline(std::cin, input); std::stringstream(input) >> depth; - if(depth<2)std::cout << "ERROR: Die Zahl muss gr\x94\xE1 \ber als 1 sein. Gib die Tiefe erneut ein: "; - }while(depth<2); + if(depth<2 || depth==SHRT_MAX)std::cout << "ERROR: Die Zahl ist zu gro\xE1 oder klein. Gib die Tiefe erneut ein: "; + }while(depth<2 || depth==SHRT_MAX); - for(long long idx = 0; idx0) std::cout << "*"; } - for(long long idx = 0; idx<2*depth-1; idx++) std::cout << "*"; - for(long long idx = 0; idx #include +//Zusatzaufgabe: Berechne die minimal notwendige Anzahl an Versuchen + int main() { - bool again = true; + std::string input; - while(again) + do { srand(time(NULL)); - again = false; - short randNumber = rand()%100+1, tries = 0, number = 0; - std::string input; - + short randNumber = rand()%100+1, tries = 0, number; + std::cout << "Errate die richtige Zahl zwischen 1 und 100: "; - while(number!=randNumber) + do { - do - { - tries++; - getline(std::cin, input); - 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); + tries++; + getline(std::cin, input); + std::stringstream(input) >> number; - if(number100) std::cerr << "Error: Die eingegebene Zahl liegt nicht im Wertebereich. Gib eine Zahl zwischen 1 und 100 ein: "; + else if(numberrandNumber) std::cout << "\nDie eingegebene Zahl ist zu gro\xE1! Versuche es erneut: "; - } + }while(number!=randNumber || number<1 || number>100); - //Zusatzaufgabe: Berechne die minimal notwendige Anzahl an Versuchen std::cout << "\nTreffer! Du hast " << tries << " Versuche gebraucht.\nM\x94 \bchtest du ein 2. mal spielen? y/n "; - getline(std::cin, input); - if(input == "y" || input == "Y") again = true; - std::cout << "\n\n"; - } + do + { + getline(std::cin, input); + if(input != "y" && input != "Y" && input != "n" && input !="N") std::cerr << "Error: Die Eingabe ist ung\x81ltig. M\x94 \bchtest du ein 2. mal spielen? y/n "; + else std::cout << "\n\n"; + }while(input != "y" && input != "Y" && input != "n" && input !="N"); + }while(input == "y" || input == "Y"); return(0); } diff --git a/Sonstiges/Zähler.cpp b/Sonstiges/Zähler.cpp index a0841aa..201a8f0 100644 --- a/Sonstiges/Zähler.cpp +++ b/Sonstiges/Zähler.cpp @@ -20,7 +20,10 @@ int main () if(startend; idx--) std::cout << idx << ", "; - std::cout << end << "\n\nDie Summe der natuerlichen Zahlen von " << start << " bis " << end << " betraegt: " << (end*(end+1)-start*(start-1))/2; + + std::cout << end << "\n\nDie Summe der natuerlichen Zahlen von " << start << " bis " << end << " betraegt: "; + if(start