Computerhilfen.de Logo
Forum
Tipps
News
Frage stellen

brauche hilfe für mein Qbasic programm

also ich habe folgendes problem bei uns in der schule im fach informatik müssen wir ein programm in Qbasic schreiben .

also folgendes
wir sollen ein programm schreiben(in qbasic), dass den briefporto rausgibt, bloß bei mir erscheinen entweder alle preise oder es erscheint "Der Brief kostet 0 Euro"

wenn mir jemand helfen könnte wäre echt super

die angaben von porto und gewicht sind

ist das Gewicht < 20g kostet der Brief 55 Cent
ist das Gewicht < 50g kostet der Brief 1 Euro
ist das Gewicht < 500g kostet der Brief 1,44 Euro
ist der Brief < 1000g kostet der Brief 2,20 Euro



es sollte am anfang danach gefragt werden "Wie schwer ist ihr Brief?"
und dann sollte einfach erscheinen "Die Versandkosten betragen ... €"


oder könnt ihr mir sagen wo mein fehler liegt:



REM Briefporto Rechner
CLS
INPUT "Gewicht des Briefes in Gramm: ", gewicht$
CLS
PRINT
PRINT "Ihre Kosten belaufen sich auf: "; gewicht$
PRINT
PRINT " ";
zens = gewicht$
GOSUB porto
END

porto:
IF zens < 20g THEN PRINT TAB(20); "55 Cent"
IF zens < 50g THEN PRINT TAB(20); "1 Euro"
IF zens < 500g THEN PRINT TAB(20); "1,44 Euro"
IF zens < 1000g THEN PRINT TAB(20); "2,20 Euro"
RETURN



vielen vielen dank schon einmal im vorraus

mfg
JohnnyButterkeks


Antworten zu brauche hilfe für mein Qbasic programm:

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Ich hab zwar von QBasic so gut wie gar keine Ahnung, aber das Programm hier scheint mir trotzdem recht unlogisch.

Schau dir mal deine IF-Konstrukte an und stell dir jetzt mal vor, dass ein Brief 10 Gramm wiegt. Und? was passiert?

greez 8)
JoSsiF

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button
Ich hab zwar von QBasic so gut wie gar keine Ahnung, aber das Programm hier scheint mir trotzdem recht unlogisch.

Schau dir mal deine IF-Konstrukte an und stell dir jetzt mal vor, dass ein Brief 10 Gramm wiegt. Und? was passiert?

greez 8)
JoSsiF

Tja, das macht dann genau 5,19 EUR ;D

BTW: Was mir grad noch auffällt... du solltest auf Integer oder Double-Werte abprüfen - keine Ahnung wie das bei QBASIC heißt, jedenfalls meine ich, dass wenn du auf "20g" abfragst nie was gescheites rauskommen kann, auch wenn du bei der Eingabe oben "10g" eingibst.
Mach lieber den Text: Wie schwer ist ihr Brief (Eingabe in Gramm):
sodass man nur noch 10 oder halt eine Zahl eingeben muss ohne "g". Dann klappt zumindest der Teil. Und dann halt wie gesagt nochmal das von JosSiF überdenken.

Mario 8)

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button
Und hier ordnest du Äppfel Birnen zu:

Zitat
zens = gewicht$

wenn, dann zens = val(gewicht$) umd die Zahl zu bekommen bei "20g"

Dann noch die ganzen "g" weg (damit nur Werte gerechnet werden)

IF zens < 20 THEN PRINT TAB(20); "55 Cent"
IF zens < 50 THEN PRINT TAB(20); "1 Euro"
IF zens < 500 THEN PRINT TAB(20); "1,44 Euro"
IF zens < 1000 THEN PRINT TAB(20); "2,20 Euro"

Nur würden bei 10 eben alle ausgegeben werden weil alle kleine 20,50,500,1000 sind. Das muss also eingegrenzt werden in Bereiche, etwa so:

porto:
IF zens < 20 THEN PRINT TAB(20); "55 Cent"
IF zens < 50 AND zens > 19 THEN PRINT TAB(20); "1 Euro"
IF zens < 500 AND zens > 49 THEN PRINT TAB(20); "1,44 Euro"
IF zens < 1000 AND zens > 499 THEN PRINT TAB(20); "2,20 Euro"
RETURN

Zwar nicht schön, müsste aber gehen.

Und die Zeile:

PRINT "Ihre Kosten belaufen sich auf: "; gewicht$

da müsste das gewicht$ weg, weil ja noch das zens kommt...

[/color]

-----------------------------------------------------------

CLS
INPUT "Gewicht des Briefes in Gramm: ", gewicht
CLS

IF gewicht < 1000 THEN ergebniss$="2,20 Euro"
IF gewicht < 500 THEN ergebniss$="1,44 Euro"
IF gewicht < 50 THEN ergebniss$="1 Euro"
IF gewicht < 20 THEN ergebniss$="55 Cent"

PRINT " "
PRINT "Ihre Kosten belaufen sich auf: "; ergebniss$
PRINT " "
PRINT " ";

sleep
END


-----------------------------------------------------

--goto oder gosub befehle möglichst vermeiden

--QBASIC arbeitet immer stur zeilenweise ab also einfach deine if's umgedreht

--variable$ =gehen alle tastaturzeichen rein
--variable  =gehen NUR zahlen rein

--Qbasic interressiert nicht ob das 1000 gramm oder 1000 eier sind
hab also das "g" nach den zahlen entfernt.

Ich glaub ich poste eh viel zu spät, konnte es aber nicht lassen meinen senf dazuzugeben  ;)


« Booting mit C++Über Editor programmieren »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
Multiprozessor Rechner
Multiprozessorsysteme oder Multiprozessor-Rechner sind Computer, die mehr als einen Hauptprozessor (CPU) zur Ausführung von Aufgaben verwenden. Sie ermöglichen ...

Internet-Zugriffsprogramm
Ein Internet-Zugriffsprogramm, auch Browser genannt, stellt Internetseiten für den Benutzer dar. Am bekanntesten ist der Microsoft Internet Explorer, gefolgt vom kos...

Programm
Siehe Software...