![]() |
C+ Programmproblem
Hey Leute,
ich bin zur zeit dran mit C+ das Programmieren zu lernen... Ich habe versucht mir einen BMI Rechner zu programmieren und bin dabei auf folgendes Problem gestoßen... Meine eigentlich Simple Formel berechnet nicht den erwartenden Wert... Formel: (10000*Gewicht)/(Größe*Größe) // Gewicht und Größe sind Variablen z.b. gebe ich Werte ein für; Gewicht= 80 und Größe = 180 Mit dem Taschenrechner komme ich auf das Ergebnis 24,7 aber mein Programm rechnet 281,25 aus! Ich könnte mir vorstellen, dass das Problem wegen der Division der float-variablen zustande kommt... Ich habe diesbezüglich auch schon etwas recherchiert... Leider ohne Erfolg. Ich hoffe jemand kann mir helfen. Quellcode ist im Spoiler. Mfg Sanju |
zum einen lassen sich im spoiler auch code bzw. php-tags verschachteln:
das fördert ungemein die lesbarkeit deines prgrammcodes. beachte, ich habe (u.a.) deine globalen variablen als lokale variablen von main() deklariert. gewöhne dir bitte so früh wie möglich ab globale variablen zu verwenden! zum andern ist dein code standard C. kein c++ sprachmerkmal für mich erkennbar. aber egal, c++ ist ja abwärtskompatibel. da mein cygwin-gcc gerade buggy ist, und ich jetzt keinen bock habe deinetwegen linux zu starten, allgemeine ratschläge: a) per cout (c++) oder eben printf in bmi() die eingabe-parameter ausgeben, um zu schaun, ob auch die erwarteten parameter an die funktion übergeben werden. b) die ausgabe der bmi-auswertung auch in eine funktion auslagern, und da per switch m/w zu unsterscheiden. so brauchst du kein einziges else. 9-fach geschachtelte if-cascaden sind sehr schwer les- bzw. wartbar. PHP-Code:
und nicht vergessen: globale variablen sind baba ;) |
Du hast beim Aufruf von bmi() Größe und Gewicht vertauscht!
|
Zitat:
Danke :T |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:50 Uhr. |
Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.