BMI-Programm !!!

  • Hi alle zusammen :D

    Ich soll wieder ein Programm schreiben, dass den BMI berechnet, mit einer Fuß-Schleife. Gefordet waren auch: Geschlecht, Name, u.s.w....dennoch habe ich hier Probleme weil er mir immer wieder sagt das ich kein DO Befehl eingegeben habe und so der LOOP nicht verarbeitet wird...vll findet ihr de fehler.

    CODE:

    REM BMI_Berechnung
    DIM gewicht AS DOUBLE
    DIM groesse AS DOUBLE
    DIM vorname AS SINGLE
    DIM nachname AS SINGLE
    DIM geschlecht AS SINGLE
    DIM bmi AS INTEGER

    DO

    CLS

    PRINT "BMI Berechnen"
    PRINT
    PRINT "Dieses Programm berechnet ihren Body Mas Index aus und sagt Ihnen ob die Unter-/Normal-/ oder šbergewichtig sind!"
    PRINT
    INPUT "Vorname:"; vorname
    INPUT "Nachname:"; nachname
    INPUT "Geschlecht Frau oder Mann:"; geschlecht
    INPUT "Geben Sie Ihr Gewicht in KG an:"; gewicht
    PRINT
    INPUT "Nun gegeben Sie Ihre GrӇe in METER an:"; groesse

    bmi = gewicht / groesse ^ 2

    SELECT CASE bmi

    CASE IS > 20 < 25
    PRINT "Sehr geehrte"; geschlecht; vorname; nachname; "Ihr BMI ist:"; bmi; "Somit haben sie normal Gewicht."

    CASE IS > 25 < 30
    PRINT "Sehr geehrte"; geschlecht; vorname; nachname; "Ihr BMI ist:"; bmi; "Somit haben sie leichtes šbergewicht."

    CASE IS > 30 < 40
    PRINT "Sehr geehrte"; geschlecht; vorname; nachname; "Ihr BMI ist:"; bmi; "Somit haben sie mittleres šbergewicht."

    CASE IS > 40
    PRINT "Sehr geehrte"; geschlecht; vorname; nachname; "Ihr BMI ist:"; bmi; "Somit haben sie starkes šbergewicht."


    INPUT "Nochmal mit j"; auswahl$

    auswahl$ = UCASE$(auswahl$)


    LOOP WHILE auswahl$ = "J"

    PRINT "Programmende!!"
    END


    ____________________________________________-
    Das Problem hängt irgendwo zwischen dem DO un dem LOOP WHILE. Hoffe ihr könnt mir sagen wo er ist.. :omg::wave::wave2: ( voll coole smilies xD )

  • Beim SELECT fehlt irgendwie das END SELECT...

    [font=verdana,sans-serif]"An über-programmer is likely to be someone who stares quietly into space and then says 'Hmm. I think I've seen something like this before.'" -- John D. Cock[/font]

    opentu.net - freier, unzensierter Informationsaustausch via IRC-Channel!
    Hilfe und Support in Studienangelegenheiten, gemütliches Beisammensein, von und mit Leuten aus dem Informatik-Forum!

  • ja hab das PRoblem gefunden danke :)

    hab jetzt nur ein anderes Problem:

    Wenn ich das Pogramm ausführe, dann fragt er ja nach meinem Vornamen, NAchnamen und Geschlecht. Und wenn ich das dann eingeben will sagt er immer: Korregieren sie ihre Eingabe..Kennt ihr vll die Lösug?

    neuer CODE:

  • habs kurz überflogen: wenn du
    bmi = gewicht / groesse^2 machst, solltest du für bmi einen anderen variablentyp wählen (ganzzahlig bei einer division ist keine gute wahl)

    Wer andren eine Bratwurst brät, der hat ein Bratwurstbratgerät!

  • kenn mich mit der syntax nicht aus... eine sache kommt mir trotzdem komisch vor

    bist du sicher dass du mit x^2 quadrieren kannst? schau mal ob es dafür nicht eine funktion gibt (in java wäre das pow(); )

    nimm vielleicht mal zeilen wo du dir nicht sicher bist raus und teste so durch an welcher zeile es liegt!

    Wer andren eine Bratwurst brät, der hat ein Bratwurstbratgerät!

  • Ich soll wieder ein Programm schreiben, dass den BMI berechnet, mit einer Fuß-Schleife. Gefordet waren auch: Geschlecht, Name, u.s.w....


    Name ist ja kein Problem für ein Programm - aber Geschlecht? Da würde ich die FSINF mal drauf ansetzen. Welcher Prof verlangt ein Geschlecht für ein Programm in seiner Übung?!

    Dipper dipper dii dipper dii dipper dii duuu

  • Böser Sexist dieser Professor! möchte tatsächlich eine Anrede mit Herr/Frau haben, statt Mensch :)

    PRINT "Sehr geehrte"; geschlecht; vorname; nachname; "Ihr BMI ist:"; bmi; "Somit haben sie normal Gewicht."

    Wer andren eine Bratwurst brät, der hat ein Bratwurstbratgerät!

  • so hab ich das doch geschrieben. Ja unser Lehrer halt. Aber das PRoblem besteht darin, das wenn ich das Programm ausführe, steht dann dort

    Vorname:

    dann gebe ich da den Namen ein und dann sagt er Falsche Eingabe. Koregieren Sie die eingabe.

    Irgendwas ist da oben falsch nur was

  • eventuell machts sinn, die variablen VORNAME, NACHNAME und GESCHLECHT als STRING zu deklarieren, anstelle von SINGLE?

    einfach nur genial: wenn man im wort "Mama" 4 buchstaben ändert, dann hat man auf einmal "Bier"

  • ahhh danke mein Erklärbär xD hast was gut bei mir. Könntest du mir vll noch eine Sache erklären? Wenn ich nun die Größe angeben soll will er unbedingt 1.84 und nicht 1,84 weil er das Komma nicht verarbeitet. Kann man da irgendwas machen?

    zudem habe ich das Problem, dass ich die BMI Werte nicht mit den Case Befehlen zuordnen kann. Z.B.

    Case is zwischen 20-25 Wie kann ich das in eine Case Befehl schreiben, dass der BMI Wert zwischen 20-25 liegt ?

  • danke hat sehr geholfen. Meine letzte Frage *freu* Wenn ich schreibe

    Case 20 TO 25 ( normalgewicht )

    und dannach Case 25 TO 30 ( leichtes Übergewicht )

    Funzt das auch? Also wenn ich jetzt genau einen BMI von 25 hätte hätte ich dann Über oder Normalgewicht?

  • danke hat sehr geholfen. Meine letzte Frage *freu* Wenn ich schreibe

    Case 20 TO 25 ( normalgewicht )

    und dannach Case 25 TO 30 ( leichtes Übergewicht )

    Funzt das auch? Also wenn ich jetzt genau einen BMI von 25 hätte hätte ich dann Über oder Normalgewicht?


    probiers aus ;)
    ich würd aber mal tippen, dass es normalgewicht wär, da dieser Case vorher ausgewertet wird

    einfach nur genial: wenn man im wort "Mama" 4 buchstaben ändert, dann hat man auf einmal "Bier"

  • Wenn ich nun die Größe angeben soll will er unbedingt 1.84 und nicht 1,84 weil er das Komma nicht verarbeitet. Kann man da irgendwas machen?

    Im englischen Sprachraum ist der Punkt als Trennzeichen zwischen Vor- und Nachkommastellen gebräuchlich, daher auch beim Computer. Grundsätzlich würd ich dir raten, einfach den Punkt statt des Kommas zu verwenden. Ansonsten müsstest du die Eingabe als Zeichenkette (STRING) einlesen, das Komma durch einen Punkt ersetzen und dann die Zeichenkette in eine Zahl (FLOAT, DOUBLE) konvertieren.

    Oder gibt's da in BASIC irgendeine vorgefertigte Funktion, die ich nicht kenne? Meine BASIC-Tage sind schließlich schon einige Jahre her.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!