 |
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
kugelfisch@fb
Anmeldungsdatum: 17.12.2006 Beiträge: 2
|
Verfasst am: 17.12.2006, 14:36 Titel: Quellcode fehlerfrei? |
|
|
Für unseren Infovortrag musste ich nen Beispielprogramm mit dem festgelegten Inhalt programmieren! Hab noch nie mit FB gearbeitet und wollte mal wisse, ob mein Quellcode soweit fehlerfrei ist (Programm funktioniert einwandfrei) und ob ihr noch Verbesserungsvorschläge habt....
Code: | 1 do
2 cls
3 print "Bitte waehlen Sie die Berechnungsgrundlage!"
4 print "(s) fuer Strecke"
5 print "(p) fuer Preis"
6 input ;b$
7 cls
8 if (b$="s") then goto 9 else goto 18
9 print "Bitte geben Sie die gefahrene Strecke ein!"
10 input ;st%
11 print
12 print
13 if (st%<=100) then er=st*0.8 else er=st*0.7+10
14 print "Sie muessen" ,er, "Euro bezahlen"
15 print "Berechnung erfolgte nach",
16 if (st%<=100) then print "Tarif 1", else print "Tarif 2",
17 goto 27
18 print "Bitte geben Sie den Preis ein!"
19 input ;pr%
20 print
21 print
22 if (pr%<=80) then erg=pr/0.8 else erg=(pr-10)/0.7
23 print "Sie sind" ,erg, "km gefahren"
24 print "Berechnung erfolgte nach",
25 if (pr%<=80) then print "Tarif 1", else print "Tarif 2",
26 goto 27
27 getkey
28 print:print:print "Weitere Berechnung (j/n)?"
29 input ;w$
30 loop until (w$="n")
31 end
|
|
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 17.12.2006, 14:38 Titel: |
|
|
Was mir gerade so auffällt:
Die Klammern um die IF's und die LOOP's kannste bei FB weglassen - genauso wie die Zeilennummern.
Dann würde ich die ganzen PRINT's durch
ersetzen.
(Weniger Schreibaufwand -> kleinerer Source. ) _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
kugelfisch@fb
Anmeldungsdatum: 17.12.2006 Beiträge: 2
|
Verfasst am: 17.12.2006, 14:42 Titel: |
|
|
Zeilennummern waren nur zur Orientierung gedacht! Klammern und PRINT-Anweisungen überarbeite ich noch... Pascal hinterlässt halt Spuren im Style  |
|
Nach oben |
|
 |
ytwinky

Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 17.12.2006, 16:03 Titel: |
|
|
Hi,
..meine Verbesserungsvorschläge(nein, ich kommentiere die nicht ) Code: | 'Ä=Ž , Ö=™ , Ü=š ; ä=„ , ö=”, ü=? , ß=á ,§=õ , ©=¸, °=ø
Option Explicit 'Diese Spur hat Pascal bei mir hinterlassen :D
Const Esc=Chr(27), Tarif1=0.8, Tarif2=0.7
Dim As String Berechnung, weiter, Meldung
Dim As Long Strecke, Preis, Tarif
Do
Cls
?"Strecke=s"
?"Preis=p"
?"Bitte w„hlen Sie die Berechnungsgrundlage:";
Do
Berechnung=lcase(Inkey)
Loop Until Instr("ps", Berechnung)
Cls
Select Case Berechnung
Case "s"
Input "Bitte geben Sie die gefahrene Strecke ein:";Strecke
Tarif=Strecke<=100
Meldung="Sie m?ssen " &IIF(Tarif, Strecke*Tarif1, Strecke*Tarif2+10) &" Euro bezahlen."
Case "p"
Input "Bitte geben Sie den Preis ein:";Preis
Tarif=Preis<=80
Meldung="Sie sind " &IIF(Tarif, Preis/Tarif1, (Preis-10)/Tarif2) &" km gefahren."
End Select
?:?:?Meldung
?"Berechnung erfolgte nach " &*IIF(Tarif, @"Tarif 1", @"Tarif 2") '* ist wichtig!
?:?:? "Weitere Berechnung (j/n)?";
Do
weiter=lcase(Inkey)
Loop Until Instr("jn"+Esc, weiter)
Loop Until Instr("n"+Esc, weiter)
End | ..mit einer Ausnahme: Goto raus
Gruß
ytwinky _________________
v1ctor hat Folgendes geschrieben: | Yeah, i like INPUT$(n) as much as PRINT USING.. | ..also ungefähr so, wie ich GOTO.. |
|
Nach oben |
|
 |
volta
Anmeldungsdatum: 04.05.2005 Beiträge: 1876 Wohnort: D59192
|
Verfasst am: 17.12.2006, 16:12 Titel: |
|
|
Listing auch ohne Kommentar .... aber mehr für Anfänger...
Code: | do
cls
print "Bitte waehlen Sie die Berechnungsgrundlage!"
print "(s) fuer Strecke"
print "(p) fuer Preis"
input ;b$
cls
if b$ = "s" then
print "Bitte geben Sie die gefahrene Strecke ein!"
input ;st%
print : print
if st% <= 100 then
Tarif$ = "1."
er=st%*0.8
else
Tarif$ = "2."
er=st%*0.7+10
end if
print "Sie muessen " ;er; " Euro bezahlen."
print "Berechnung erfolgte nach Tarif ";Tarif$
end if
if b$ = "p" then
print "Bitte geben Sie den Preis ein!"
input ;pr%
print : print
if pr% <= 80 then
Tarif$ = "1."
erg = pr/0.8
else
Tarif$ = "2."
erg = (pr-10)/0.7
end if
print "Sie sind " ;erg; " km gefahren."
print "Berechnung erfolgte nach Tarif ";Tarif$
end if
print:print "Weitere Berechnung (j/n)?"
input ;w$
loop until w$ = "n"
end |
_________________ Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater. |
|
Nach oben |
|
 |
ytwinky

Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 17.12.2006, 16:20 Titel: |
|
|
..aber auch ohne Goto
(*mitbefriedigungfeststell*)
Gruß
ytwinky _________________
v1ctor hat Folgendes geschrieben: | Yeah, i like INPUT$(n) as much as PRINT USING.. | ..also ungefähr so, wie ich GOTO.. |
|
Nach oben |
|
 |
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|