C++ :: Aufgabe #290 :: Lösung #2
3 Lösungen
#290
WHtR (Waist to Height Ratio) berechnen
Anfänger - C++
von JKooP
- 10.05.2020 um 09:17 Uhr
Schreibe ein Programm zur Ermittlung des WHtR- Wertes aus Taillenumfang + Körpergröße und der daraus resultierenden Bewertung.
Es sollen sowohl das Geschlecht (m/w) als auch das Kindesalter bzw. der Altersfaktor für Erwachsene berücksichtigt werden.
Viel Spaß
Es sollen sowohl das Geschlecht (m/w) als auch das Kindesalter bzw. der Altersfaktor für Erwachsene berücksichtigt werden.
Viel Spaß
#2
von basic (1310 Punkte)
- 27.09.2020 um 22:30 Uhr
#include <iostream>
using namespace std;
void classifybysex(double whtr) {
char c;
cout << "\nGeschlecht eingeben:\n";
cout << "Männlich > 15 Jahre (m)\n";
cout << "Weiblich > 15 Jahre (w)\n";
cout << "Kind < 15 Jahre (k)\n";
cout << "Eingabe: ";
cin >> c;
cout << "\n";
switch(c) {
case 'm':
if(whtr <= 0.34) {
cout << "Starkes Untergewicht\n";
} else if(whtr >= 0.35 && whtr <= 0.42) {
cout << "Untergewicht\n";
} else if(whtr >= 0.43 && whtr <= 0.52) {
cout << "Normalgewicht\n";
} else if(whtr >= 0.53 && whtr <= 0.57) {
cout << "Übergewicht\n";
} else if(whtr >= 0.58 && whtr <= 0.62) {
cout << "Adipositas\n";
} else {
cout << "Extreme Adipositas\n";
}
break;
case 'w':
if(whtr <= 0.34) {
cout << "Starkes Untergewicht\n";
} else if(whtr >= 0.36 && whtr <= 0.41) {
cout << "Untergewicht\n";
} else if(whtr >= 0.42 && whtr <= 0.48) {
cout << "Normalgewicht\n";
} else if(whtr >= 0.49 && whtr <= 0.53) {
cout << "Übergewicht\n";
} else if(whtr >= 0.54 && whtr <= 0.57) {
cout << "Adipositas\n";
} else {
cout << "Extreme Adipositas\n";
}
break;
case 'k':
if(whtr <= 0.34) {
cout << "Starkes Untergewicht\n";
} else if(whtr >= 0.35 && whtr <= 0.45) {
cout << "Untergewicht\n";
} else if(whtr >= 0.46 && whtr <= 0.51) {
cout << "Normalgewicht\n";
} else if(whtr >= 0.52 && whtr <= 0.63) {
cout << "Übergewicht\n";
} else {
cout << "Extreme Adipositas\n";
}
break;
default:
cout << "Falsche Eingabe\n";
}
}
void classifybyage(double whtr) {
int age;
cout << "\nAlter eingeben: ";
cin >> age;
cout << "\n";
if(age < 15) {
if(whtr <= 0.34) {
cout << "Untergewicht\n";
} else if(whtr >= 0.35 && whtr <= 0.45) {
cout << "Normalgewicht\n";
} else if(whtr >= 0.46 && whtr <= 0.51) {
cout << "Übergewicht\n";
} else if(whtr >= 0.52 && whtr <= 0.63) {
cout << "Adipositas\n";
} else {
cout << "Extreme Adipositas\n";
}
} else if(age >= 15 && age <= 39) {
if(whtr < 0.4) {
cout << "Untergewicht\n";
} else if(whtr >= 0.4 && whtr <= 0.5) {
cout << "Normalgewicht\n";
} else if(whtr >= 0.51 && whtr <= 0.56) {
cout << "Übergewicht\n";
} else if(whtr >= 0.57 && whtr <= 0.68) {
cout << "Adipositas\n";
} else {
cout << "Extreme Adipositas\n";
}
} else if(age >= 40 && age <= 50) {
int a = age;
while(a <= 50) {
whtr += 0.01;
a++;
}
if(whtr < 0.4) {
cout << "Untergewicht\n";
} else if(whtr >= 0.4 && whtr <= 0.5) {
cout << "Normalgewicht\n";
} else if(whtr >= 0.51 && whtr <= 0.56) {
cout << "Übergewicht\n";
} else if(whtr >= 0.57 && whtr <= 0.68) {
cout << "Adipositas\n";
} else {
cout << "Extreme Adipositas\n";
}
} else if(age > 50) {
if(whtr < 0.4) {
cout << "Untergewicht\n";
} else if(whtr >= 0.5 && whtr <= 0.6) {
cout << "Normalgewicht\n";
} else if(whtr >= 0.61 && whtr <= 0.66) {
cout << "Übergewicht\n";
} else if(whtr >= 0.67 && whtr <= 0.78) {
cout << "Adipositas\n";
} else {
cout << "Extreme Adipositas\n";
}
}
}
double calcwhtr(double ws, double h) {
return ws / h;
}
int main() {
char query, c;
double waistsize, height, whtr;
do {
cout << "Klassifikation nach Geschlecht (g)\n";
cout << "Klassifikation nach Alter (a)\n";
cout << "Auswahl: ";
cin >> query;
cout << "\n";
switch(query) {
case 'g':
cout << "Tailienumfang (in cm): ";
cin >> waistsize;
cout << "Körpergröße (in cm): ";
cin >> height;
whtr = calcwhtr(waistsize, height);
classifybysex(whtr);
break;
case 'a':
cout << "Tailienumfang (in cm): ";
cin >> waistsize;
cout << "Körpergröße (in cm): ";
cin >> height;
whtr = calcwhtr(waistsize, height);
classifybyage(whtr);
break;
default:
cout << "Falsche Eingabe\n\n";
break;
}
cout << "\nNächste Eingabe? (j/n): ";
cin >> c;
cout << "\n";
} while((query != 'a' || query != 'g') && c != 'n');
}Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1
