diverse kleine Verbesserungen

This commit is contained in:
Leaced 2017-04-05 17:28:45 +02:00
parent 242b634e5e
commit 1a91cb9985
4 changed files with 39 additions and 47 deletions

View file

@ -1,8 +1,9 @@
#include<iostream> #include<iostream>
#include<conio.h>
#include<string> #include<string>
#include<sstream> #include<sstream>
//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() int main()
{ {
@ -10,27 +11,24 @@ int main()
std::string input; std::string input;
std::cout<<"Gib deine Gr\x94\xE1 \be in metern ein: "; std::cout<<"Gib deine Gr\x94\xE1 \be in metern ein: ";
getline(std::cin,input); do
std::stringstream(input)>>height;
if(height<=0 || height>2.5)
{ {
std::cout<<"ERROR: Die eingegebene Gr\x94\xE1 \be ist nicht m\x94glich."; getline(std::cin,input);
return(1); 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: "; 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."; getline(std::cin,input);
return(1); 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: "<<weight/(height*height); std::cout<<"\nDein BMI ist: "<<weight/(height*height);
getchar(); getch();
return(0); return(0);
} }

View file

@ -1,67 +1,61 @@
#include<iostream> #include<iostream>
#include<conio.h>
#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()
{ {
std::string input; std::string input;
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 << "Gib die Strecke der Landstra\xE1 \be in km ein: ";
do do
{ {
getline(std::cin, input); getline(std::cin, input);
std::stringstream(input) >> distance; 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: "; 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); }while(distance<=0);
std::cout << "Geben sie ihre Startgeschwindigkeit in km/h ein: "; std::cout << "Gib die Startgeschwindigkeit in km/h ein: ";
getline(std::cin, input); do
std::stringstream(input) >> speed;
if(0>speed>200)
{ {
std::cout << "\nERROR: Die Geschwindigkeit muss gr\x94\xE1 \ber als 0 km/h sein und darf 200 km/h nicht \x81 \bberschreiten."; getline(std::cin, input);
getchar(); std::stringstream(input) >> speed;
return(1); 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: "; std::cout << "Gib nun die Geschwindigkeit der Autos der gegen\x81 \bberliegenden Fahrbahn ein: ";
getline(std::cin, input); do
std::stringstream(input) >> speedOppositeTrack;
if(0>speedOppositeTrack>200)
{ {
std::cout << "\nERROR: Die Geschwindigkeit muss gr\x94\xE1 \ber als 0 km/h sein und darf 200 km/h nicht \x81 \bberschreiten."; getline(std::cin, input);
getchar(); std::stringstream(input) >> speedOppositeTrack;
return(1); 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. 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)
{ {
std::cout << "ERROR: Begegnung kann nicht berechnet werden."; std::cout << "ERROR: Begegnung kann nicht berechnet werden.";
break; 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); getline(std::cin, input);
if(input=="+") speed += 5; if(input=="+") speed += 5;
if(input=="-") speed -= 5; else if(input=="-") speed -= 5;
if(-speed>speedOppositeTrack) break; if(-speed>speedOppositeTrack) break;
} }
std::cout << "PROGRAMMENDE!"; std::cout << "PROGRAMMENDE!";
getchar(); getch();
return(0); return(0);
} }

View file

@ -4,7 +4,7 @@
int main() int main()
{ {
long long depth; long long depth = 1;
std::string input; std::string input;
std::cout << "Geben sie die Tiefe ein: "; std::cout << "Geben sie die Tiefe ein: ";
@ -12,7 +12,7 @@ int main()
{ {
getline(std::cin, input); getline(std::cin, input);
std::stringstream(input) >> depth; 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); }while(depth<2);
for(long long idx = 0; idx<depth*depth; idx++) for(long long idx = 0; idx<depth*depth; idx++)

View file

@ -4,7 +4,7 @@
#include<conio.h> #include<conio.h>
#include<string> #include<string>
#include<sstream> #include<sstream>
using namespace std;
int main() int main()
{ {
bool again = true; bool again = true;
@ -24,7 +24,7 @@ int main()
{ {
tries++; tries++;
getline(std::cin, input); 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: "; 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); }while(number<1 || number>100);
@ -35,7 +35,7 @@ int main()
//Zusatzaufgabe: Berechne die minimal notwendige Anzahl an Versuchen //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: "; 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); getline(std::cin, input);
stringstream(input) >> randNumber; std::stringstream(input) >> randNumber;
if(randNumber == 1) again = true; if(randNumber == 1) again = true;
std::cout << "\n\n"; std::cout << "\n\n";
} }