Hilfe -.- ich bekomm das c++ programm nich auf die reihe

Hi Leute, ich wollte fragen ob mir nochmal bei einem weiterem c++-Programm helfen könntet?

Auswahl zwischen der berechnung von idealgewicht und des BMI wertes, mit funktionen und switch schleifen

Programm:

#include <iostream>
using namespace std;
//BMI=Body Maß Index
//BMI über 30 Übergewicht, das die Gesundheit belastet
//BMI 26 - 30 Leichtes Übergewicht
//BMI 18 - 25 Normalgewichtig
//BMI unter 18 Gewicht zu niedrig, Gesundheit belastet

//wünschenswerter BMI unter Berücksichtigung des Alters
//19 - 24 Jahre BMI 19 bis 24
//24 - 34 Jahre BMI 20 bis 25
//35 - 44 Jahre BMI 21 bis 26
//45 - 54 Jahre BMI 22 bis 27
//55 - 64 Jahre BMI 23 bis 28
//ab 65 Jahre BMI 24 bis 29
// Berechnung des BMI - Wertes:

// BMI = Gewicht in kg : (Körpergröße in m)?

//Idealgewicht=Normalgewicht - 10 %

double idealgewicht()
{
double k, n, i, z;//k=körpergröße, n=normalgewicht, i=idealgewicht, g=gewicht in kg, z=zwischenrechnung

cout<< " Geben Sie Ihre Körpergroesse in cm ein.\n [Hinweis]\n Diese Berechnung ist für Personen\n ab 19 Jahren interessant, da für\n alle Personen unter 19 Jahren \nder Wachstum noch nich abgeschlossen ist!!! " <<endl;
cin>> k;
n=k-100;
z=(n/100)*10;
i=n-z;
cout<< " Ihr Idealgewicht müsste " <<i<< " kg betragen. " <<endl;
}
double gewichtsklasse()
{
double BMI, k, g;//BMI=Body Maß Index, k=körpergröße in m, g=gewicht in kg
cout<< " Geben Sie Ihre Körpergroesse in cm ein.\n [Hinweis]\n Diese Berechnung ist für Personen\n ab 19 Jahren interessant, da für\n alle Personen unter 19 Jahren \nder Wachstum noch nich abgeschlossen ist!!! " <<endl;
cout<< " Geben Sie Ihre Koerpergroesse in m ein. " <<endl;
cin>> k;
cout<< " Geben Sie Ihr Gewicht in kg ein. " <<endl;
cin>> g;
BMI=g/(k*k);

cout<< " Ihr BMI - Wert betraegt " <<BMI<< " . " <<endl;
cout<< " Sie können an der Tabelle erkennen, ob sie an Uebergewicht oder Untergewicht leiden, oder ob Sie ein Normales Gewichtsverhalten haben. " <<endl;
cout<< " Body Maß Index [BMI]: " <<endl <<endl;
cout<< " BMI über 30 Übergewicht, das die Gesundheit belastet " <<endl;
cout<< " BMI 26 - 30 Leichtes Übergewicht " <<endl;
cout<< " BMI 18 - 25 Normalgewichtig " <<endl;
cout<< " BMI unter 18 Gewicht zu niedrig, Gesundheit belastet " <<endl <<endl;

cout<< " Wuenschenswerter BMI - Wert unter Beruecksichtigung des Alters " <<endl <<endl;
cout<< " 19 - 24 Jahre BMI 19 bis 24 " <<endl;
cout<< " 24 - 34 Jahre BMI 20 bis 25 " <<endl;
cout<< " 35 - 44 Jahre BMI 21 bis 26 " <<endl;
cout<< " 45 - 54 Jahre BMI 22 bis 27 " <<endl;
cout<< " 55 - 64 Jahre BMI 23 bis 28 " <<endl;
cout<< " ab 65 Jahre BMI 24 bis 29 " <<endl;
}

int main()
{
char wahl;
double i, BMI;

cout<< " Berechnung des Idealgewichts [1] " <<endl;
cout<< " Berechnung von Über -oder Untergewicht [2] " <<endl;
cin>> wahl;

do
{
switch (wahl)
{
case 1:
{
i=idealgewicht();
{
break;
case 2:
{
BMI=gewichtsklasse();
}
break;
default:
{
cout<< " Du hast Wurstfinger ^^....versuch die Tasten richtig zu treffen!!! " <<endl;
}
}
}
while((wahl>2)||(wahl<1));


return 0;
}
 
vlt etwas unübersichtlich ^^ aber ich bin auch schon ruhig ^^ meine programme sehen nicht besser aus ^^

du hast nur vergessen den switch abzuschließen, es fehlen zwei } , dann gehts
auserdem werden sonderzeichen falsch dargestellt.
und das wichtigste: ich hab immer wurstfinger, also irgendwo ein logischer fehler ^^
vlt manche sachen in extradateien auslagern das man den durchblick behält ^^

fehler: i=idealgewicht(); das geht so soweit ich informiert bin nicht, du musst die funktion erst aufrufen und dann kannst du den rückgabewert verwenden.
 
danke, ich hoffe das ich das hinekomme ^^

das mit den wurstfingern war nur langeweile ^^ und das mit dem quellcode habe ich ja ordentlich geschrieben, aber das wurde irgendwie an dn rand gepresst wie presswurst
^^
ich hoffe ich bekomm das hin
switch habe ich doch schon mit den klammern abgeschlossen ich weiß nich wie ich weitermachen soll...sry
 
ja die ideen musst du haben, da können wir dir nicht helfen. wenn ich die klammern schließe bekommt man schon was kompiliert, das problem mit dem i=... musst/solltest du lösen so schwer ist das nicht ^^
 
In der switch Anweisung sind zu viele geschweifte Klammern di da nicht hingehören.

Und das mit dem "i=idealgewicht();" kannste dir sparen.
ein einfacher aufruf der Funktion reicht da völlig.

Deweiteren recht es die Variable "wahl" als "int" zu definieren.

bsp
Code:
switch (wahl)
{
  case 1: idealgewicht();
           break;

  case 2: ....
}

mfg

PS: Der Code ist grausam.
 
Zurück
Oben