BMI Rechner in C Programmieren (Fach Spezifische Softwaretechnik , so heisst das Schulfach )?

2 Antworten

bmi = m / (l*l) ... wo hast du das?

btw... würd ich die körpergröße in cm abfragen und es intern umrechnen ...

ansonsten macht einer 1,8 der nächste macht 1.8  und der nächste macht 1.,,.5 .... und dein programm hängt sich auf ^^

ismiregahal  05.10.2015, 23:42

edt: habs gefunden... aber ich peil deinen qc echt null..

"

float bmi(float l,float m) {

return m/(l*l);}

"

du rufst ne funktion mit 2 parametern auf, gibst aber nur eine zurück

und das einzige was du ausgibst ist bmi_ = bmi(l,m);

mach die ausgabe mal nach deinem funktions aufruf (wieso auch immer du ne eigene funktion dafür hast)

0
Nickelback93  05.10.2015, 23:47
@ismiregahal

du rufst ne funktion mit 2 parametern auf, gibst aber nur eine zurück

Parameter übergibst du der Funktion im Normalfall als Kopie. Die Funktion arbeitet danach mit den Parametern als lokale Variablen weiter. Dieses "float" sagt aus, dass es einen Rückgabewert geben soll, vom Typ float (Fließkommazahl). An sich kannst du nicht mehr als einen Rückgabewert haben, es sei denn du übergibst Pointer an eine Funktion, sodass die Funktion direkten Zugriff auf die Adresse der Variablen hat.

mach die ausgabe mal nach deinem funktions aufruf (wieso auch immer du ne eigene funktion dafür hast)

Funktionen machen das Programm deutlich anschaulicher, als wenn du alles einfach nur in die main-Funktion reinklatschen würdest. Ebenfalls sind Funktionen (Klassen, Vererbung usw. natürlich auch, aber darum gehts ja nicht) ein wichtiger Bestandteil der OOP!

Weiterhin ist es wahrscheinlich die Aufgabenstellung diese Funktion oben als Prototypen zu deklarieren und unten zu definieren...

0
AydoganTGMwien 
Fragesteller
 05.10.2015, 23:46

Die formel hat uns unser lehrer gegeben .

Hab meinen Fehler gefunden wegen dem 1,8 und dem 1.8

hab die ganze zeit 1,8 eingegeb und das kann er ja nicht benutzen ,

desswegen war der BMI immer das Gewicht bei einer Größe von 1.74 m .. Thx für die Schnelle antwort .:D

0
float bmi(float l, float m) {
return m / (l/100.0f * l/100.0f);
}
Nickelback93  05.10.2015, 23:49

Hab vergessen dazu zu schreiben, dass du dieses "l/100.0f" brauchst, wenn du cm angaben machst :)

0