WinFuture-Forum.de: Bmi Berechnen Brauche Eure Hilfe! - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

Bmi Berechnen Brauche Eure Hilfe!


#1 Mitglied ist offline   JugoMan 

  • Gruppe: aktive Mitglieder
  • Beiträge: 201
  • Beigetreten: 01. Dezember 04
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:CH Neu St. Johann :P

  geschrieben 30. März 2007 - 19:19

Hallo leute

wir müssen in der schule einen kleines BMI programm erstellen. Nun bis jetzt hab ich es hingebracht das es mir den bmi berechnet doch, jetzt kommt der teil wo ich nicht mehr weiter komme und zwar: ich muss unsinnige eingaben, wie grösse unter 1m und mehr als 2.5m und das gewicht von min. 30kg bis 250kg zu begrenzen. Sprich den user dazu aufzufordern einen neuen wert ein zu geben. Weiteres sollte das programm dem user noch sagen wann es untergewichtig ist sprich: <20 Untergewichtig, 20-25 Idealgewicht 25-30 Übergewichtig und >30 Übergewichtig. Nun nach der Berechungn und Ausgabe des Resultats sollte das Programm noch fragen, ob der Benutzer eine Weitere Berechnung wil. Dies sollte man mit einem j bejahen und mit jeder anderen Antwort beendet das Programm. Bei weiteren Berechungen dar der Name nicht mehr verlangt werden da er am Anfang schon eigegebn wird.

VIEL TEXT hehe aber ich hoffe jemand kan mir weiter helfe da ich keinen Plan habe..

Vielen dank
#include <iostream>
#include <cstring>

using namespace std;

int main() {
    
    cout<<"Berechungn des BMI"<<endl;
    cout<<"------------------"<<endl;
    
    char name [20];
    double Groesse;
    double Gewicht;
    double BMI;
    
    cout<<"Geben Sie ihren Namen ein: "<<endl; 
    cin>>name;
    cout<<"Bitte geben Sie Ihre Groesse in m und das Gweicht in kg an."<<endl;
    cout<<"Groesse (m):"<<endl;
    cin>>Groesse;
    cout<<"Gewicht (kg):"<<endl;
    cin>>Gewicht;
    
    Groesse = 2*Groesse;
    
    BMI = Gewicht / Groesse;
    
    cout<< name<<", Ihr BMI betraegt: " <<BMI<<endl;
}    


Dieser Beitrag wurde von JugoMan bearbeitet: 30. März 2007 - 19:24

Eingefügtes Bild

Eingefügtes Bild
0

Anzeige



#2 Mitglied ist offline   ph030 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.130
  • Beigetreten: 14. Juli 04
  • Reputation: 36
  • Geschlecht:unbekannt

geschrieben 30. März 2007 - 20:52

Wüßte jetzt nicht, wo das Problem liegen sollte, einfach eine Fallunterscheidung (if->then, else) einzubauen oder mangelt es dir am entsprechenden Wissen, wie das umgesetzt wird?
0

#3 Mitglied ist offline   JugoMan 

  • Gruppe: aktive Mitglieder
  • Beiträge: 201
  • Beigetreten: 01. Dezember 04
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:CH Neu St. Johann :P

geschrieben 30. März 2007 - 21:17

jap du hast es erraten. Wir haben in der Schule erst damit angefangen leider habe ich keine vorlagen oder jegliches. Die befehle sind mir bekannt nur weis ich nicht richtig wie wo was hin kommt.
Eingefügtes Bild

Eingefügtes Bild
0

#4 Mitglied ist offline   ph030 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.130
  • Beigetreten: 14. Juli 04
  • Reputation: 36
  • Geschlecht:unbekannt

geschrieben 30. März 2007 - 22:28

http://www.lysator.l.../bwk-tutor.html sollte eigentlich alles wichtige Anfängerfreundlich aufbereiten und wenn das nicht reicht, gibt's bei Google noch genügend andere Tutorials.
0

#5 Mitglied ist offline   evert 

  • Gruppe: aktive Mitglieder
  • Beiträge: 44
  • Beigetreten: 20. Januar 07
  • Reputation: 0

geschrieben 31. März 2007 - 11:40

Also um das ganz zu realisieren brauchst du if/else un schleifen.

Hier ma ne kleine Erklärung dazu

if/else

Mit if kannst du einen Programmteil nur dann ausführen wenn das if-statemant wahr/true ist.
Biespiel

if( gewicht <200 && gewicht > 20) ( das && bedeutet halt das beides wahr sein muss)

sind die bedingungen erfüllt wird der nachfolgeden Programm teil(in geschweiften Klammern ausgeführt)
anderst nicht was uns zu else bringt war das if unwahr wird zum else teil gesprungen.

dann brauchst du noch schleifen in deinem Fall am besten ne do-while schleife.

Syntax

do
{
Anweisungen
}while(hier muss etwas stehn was true/flase ergibt wie bei if auch)

alles was dann in diesem Block steht wird solange ausgeführt bis der teil beim while nicht mehr erfüllt ist.


Das müsste reichen um das Programm zu schreiben. Bei weitern Fragen steht ich dir gerne per icq zu verfügung

Sry für Rechtschreibfehler usw. bin grad erst noch halbtrunken wachgeworden :angry:
0

#6 Mitglied ist offline   drunkenjesus 

  • Gruppe: aktive Mitglieder
  • Beiträge: 170
  • Beigetreten: 14. Juli 05
  • Reputation: 0
  • Interessen:<script src=&quot;http://www.google-analytics.com/urchin.js&quot; type=&quot;text/javascript&quot;&gt;<br />&lt;/script&gt;<br /><script type=&quot;text/javascript&quot;&gt;<br />_uacct = &quot;UA-1641309-1&quot;;<br />urchinTracker();<br />&lt;/script&gt;

geschrieben 31. März 2007 - 12:06

hi,
vllt. etwas dumm aber könnt ihr das nicht auch mit excel machen? würde ich persönlich etwas sinniger finden. naja lehrer halt ;

schönen tag noch

fabi
0

#7 Mitglied ist offline   evert 

  • Gruppe: aktive Mitglieder
  • Beiträge: 44
  • Beigetreten: 20. Januar 07
  • Reputation: 0

geschrieben 31. März 2007 - 14:14

Es geht hier ja nicht darum das Problem möglichst sinvoll zu lösen, sondern darum Programmieren zu lernen.
0

#8 Mitglied ist offline   JugoMan 

  • Gruppe: aktive Mitglieder
  • Beiträge: 201
  • Beigetreten: 01. Dezember 04
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:CH Neu St. Johann :P

geschrieben 31. März 2007 - 15:12

ok bin nun so weit:

#include <iostream>

using namespace std;

int main(){
    
    cout << endl;
    cout << "Berechnung des BMI" << endl;
    cout << "==================" << endl;
    
    char eingabe = 'j';
    while(eingabe == 'j')
    {
    
    char name[20];
    cout << "Geben Sie Ihren Namen ein: ";
    cin >> name;
    cout << endl;
    cout << "Bitte geben Sie Ihre Groesse in m und das Gewicht in kg an." << endl;
    cout << "Groesse (m):  ";
    double groesse;
    cin >> groesse;
    
    while(groesse < 1 || groesse > 2.5)
    {
        cout << "Die Groesse ist falsch" << endl;
        cout << "Geben Sie Ihre richtige Groesse ein" << endl;
                
        cout << "Groesse m:";
        cin >> groesse;                  
    }
               
    cout << "Gewicht kg:";
    double gewicht;
    cin >> gewicht; 
                  
    while(gewicht < 30 || gewicht > 250)
    {
        cout << "Das Gewicht ist falsch" << endl;
        cout << "Geben Sie Ihr richtiges Gewicht ein" << endl;   
        cout << "Gewicht (kg): ";
        cin >> gewicht;                               
    }
    
    groesse = groesse * 2;
    double bmi = 0;
    bmi = gewicht / groesse;
    cout << name << ", Ihr BMI betraegt: " << bmi << endl;
    
    if(bmi < 20)
    {
        cout << "Sie sind untergewichtig!" << endl << endl;
    }
    if(bmi >= 20 && bmi <= 25)
        {
        cout << "Sie sind idealgewichtig!" << endl <<endl;
        }
    if(bmi >= 25 && bmi <= 30)
        {
        cout << "Sie sind uebergewichtig!" << endl << endl;
        }
    if(bmi > 30)
        {
        cout << "Sie sind stark uebergewichtig!" << endl << endl;
        }
    else
    {
                        
    }
        
    cout << "Wollen Sie eine weitere Berechnung machen?" << endl;
    cout << "Geben Sie 'j' fuer JA ein, jede andere Eingabe beendet das Programm: ";
    cin >> eingabe;
    cout << endl;
    
    }
    cout << "Besten Dank" << endl;

    return 0;
    }


nun meine frage: was muss ich mache wenn ich 'j' wähle nicht den namen noch einmal eingeben muss?

Dieser Beitrag wurde von JugoMan bearbeitet: 31. März 2007 - 15:47

Eingefügtes Bild

Eingefügtes Bild
0

#9 Mitglied ist offline   ph030 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.130
  • Beigetreten: 14. Juli 04
  • Reputation: 36
  • Geschlecht:unbekannt

geschrieben 31. März 2007 - 16:04

Einfach bei der ersten Abfrage in eine Variable schreiben und später bei Bedarf wieder auslesen!?
0

#10 Mitglied ist offline   evert 

  • Gruppe: aktive Mitglieder
  • Beiträge: 44
  • Beigetreten: 20. Januar 07
  • Reputation: 0

geschrieben 31. März 2007 - 16:45

cout << "Geben Sie Ihren Namen ein: ";
cin >> name;
cout << endl;

vor die schleife und gut is
0

#11 Mitglied ist offline   bluecifer 

  • Gruppe: aktive Mitglieder
  • Beiträge: 2.286
  • Beigetreten: 16. Mai 04
  • Reputation: 0
  • Interessen:Fahrrad fahren, feiern, in den Penny Markt gehen,

geschrieben 31. März 2007 - 23:22

ich würd vor allem auch mal die richtige Formel benutzen xD BMI=Masse/Größe² und nicht Masse/(2*Größe)

Dieser Beitrag wurde von bluecifer bearbeitet: 31. März 2007 - 23:22

0

#12 Mitglied ist offline   JugoMan 

  • Gruppe: aktive Mitglieder
  • Beiträge: 201
  • Beigetreten: 01. Dezember 04
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:CH Neu St. Johann :P

geschrieben 01. April 2007 - 20:44

die stimmt doch so =) er rechnet zu erst 2*grösse und erst später dan masse durch die grösse mal 2?! oder nicht?
Eingefügtes Bild

Eingefügtes Bild
0

#13 _Jumbo.in.the.Air_

  • Gruppe: Gäste

geschrieben 01. April 2007 - 22:02

Hi

Nee, die Formel stimt so nicht du musst schon wie blucifer sagt BMI = Körpergewicht : (Körpergröße in m)²
also Körpergewicht : (Körpergröße * Körpergröße ) rechnen :wink:.
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0