Hilfe beim programmieren mit QBasic

  • Hi erstma, mein Problem ist, das ich ein Programm geschrieben habe ( den code schreib ich gleich rein ), welches nicht s richtig funzt. Lider finde ich den Fehler nicht, da ich auch noch neu bei der programmierung bin. Es gibt um Umsatz...
    Problem: immer wenn ich den Umsatz eingebe kommt als Ergebnis nur 0 raus!

    Code:

    REM Ausgaben
    REM Kerem Ciftci
    DIM auswahl1 AS STRING
    DIM auswahl2 AS STRING
    DIM Umsatz AS INTEGER
    DIM ergebnis1 AS LONG
    CLS

    PRINT "Umsatz"
    PRINT "*******************************************"
    PRINT "Gib den Umsatz ein!"
    INPUT Umsatz

    IF Umsatz < 10000 THEN
    Umsatz = Umsatz * 1.01

    ELSE
    IF Umsatz < 20000 THEN
    Umsatz = Umsatz * 1.02

    ELSE
    IF Umsatz < 30000 THEN
    Umsatz = Umsatz * 1.05
    ELSE
    IF Umsatz > 30000 THEN
    Umsatz = Umsatz * 1.07

    END IF
    END IF
    END IF
    END IF

    PRINT "Die Provision ist:"; ergenbnis1
    END


    Freue mich auf Hilfe !

  • nur ich kann dir zwar net helfen aber so aus interesse, warum programmierst du qbasic? und warum qbasic als anfänger?!

    Patient: "Doctor, doctor, my eye hurts when I poke it with a spoon."
    Doctor: "Don't poke it, then."

  • Weil unser Lehrer das so will, also frag mich net xD, der typ erklärt einem das noch nitmal und deswegen wende ich mich hierhin...hoffe jmd. anderes kann mir helfen

  • is das schon der ganze Code?

    ich seh da nirgends, dass du ergebnis1 setzt und da du das zum schluss ausgibst, nehm ich mal an gibt er 0 aus (kenn mich in QBasic nicht aus)

    Four stages of acceptance:
    1.) this is worthless nonsense
    2.) this is interesting, but perverse, point of view
    3.) this is true, but quite unimportant
    4.) I alwas said so
    J.B.S. Haldane

  • Danke du hast mir geholfen xD

    mein neuer Code:

    REM Ausgaben
    REM Kerem Ciftci
    DIM Umsatz AS INTEGER
    DIM ergebnis1 AS LONG
    CLS

    PRINT "Umsatz"
    PRINT "*******************************************"
    PRINT "Gib den Umsatz ein!"
    INPUT Umsatz

    IF Umsatz < 10000 THEN
    ergebnis1 = Umsatz * 1.01

    ELSE
    IF Umsatz < 20000 THEN
    ergebnis1 = Umsatz * 1.02

    ELSE
    IF Umsatz < 30000 THEN
    ergebnis1 = Umsatz * 1.05
    ELSE
    IF Umsatz > 30000 THEN
    ergebnis1 = Umsatz * 1.07

    END IF

    END IF

    END IF

    END IF

    PRINT
    PRINT "Die Provision ist:"; ergebnis1; " EUR"
    PRINT
    END

  • und das is jetzt wirklich was du willst?
    die provision ist ja höher als der umsatz: 101%, 102%,...
    meintest du nicht 1%, 2%, .... des Umsatzes?

    Four stages of acceptance:
    1.) this is worthless nonsense
    2.) this is interesting, but perverse, point of view
    3.) this is true, but quite unimportant
    4.) I alwas said so
    J.B.S. Haldane

  • 1 % von 10000 sind 100 also 10000 * 0.01

    Four stages of acceptance:
    1.) this is worthless nonsense
    2.) this is interesting, but perverse, point of view
    3.) this is true, but quite unimportant
    4.) I alwas said so
    J.B.S. Haldane

  • naja es get trotzdem...ich bedanke mich für deine anteil nahme und deine hilfe...echt großes Lob an dich...ich hoffe meine fragen sind hier willkommen denn das programmieren ist für mich persönlih kein zuckerschlecken.

  • und was ist wenn du 0.01 statt 0,01 schreibst?
    bei 1.01 hast dus ja auch mit punkt geschrieben

    Four stages of acceptance:
    1.) this is worthless nonsense
    2.) this is interesting, but perverse, point of view
    3.) this is true, but quite unimportant
    4.) I alwas said so
    J.B.S. Haldane

  • das mir kla aber der macht ne fehlermeldung wenn ich 0,01 oder so schreibe und macht daraus ne .01

    ich schätze mal, der fehler liegt darin, dass ergebnis1 vom typ LONG ist und daher nur ganzzahlige werte erwartet.

    Code
    DIM ergebnis1 AS LONG

    du multiplizierst Umsatz mit einer fließkomma zahl und weist es dann der variable ergebnis1 zu. wie gesagt, erwartet ergebnis1 hier einen ganzzahligen wert.

    Code
    ergebnis1 = Umsatz * 0.01

    du könntest also die zeile

    Code
    DIM ergebnis1 AS LONG


    durch

    Code
    DIM ergebnis1 AS SINGLE


    ersetzen und damit ergebis1 fließkommawerte erlauben. :)

    die zweite möglichkeit wäre, alles so zu belassen und statt

    Code
    ergebnis1 = Umsatz * 0.01

    zu schreiben:

    Code
    ergebnis1 = Umsatz * 1/100

    diese möglichkeit birgt aber die gefahr von rundungsfehlern in sich.

    Otto: Apes don't read philosophy. - Wanda: Yes they do, Otto, they just don't understand
    Beleidigungen sind Argumente jener, die über keine Argumente verfügen.
    «Signanz braucht keine Worte.» | «Signanz gibts nur im Traum.» 

    Das neue MTB-Projekt (PO, Wiki, Mitschriften, Ausarbeitungen, Folien, ...) ist online
    http://mtb-projekt.at

Jetzt mitmachen!

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