Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Quellcode fehlerfrei?

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
kugelfisch@fb



Anmeldungsdatum: 17.12.2006
Beiträge: 2

BeitragVerfasst am: 17.12.2006, 14:36    Titel: Quellcode fehlerfrei? Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 17.12.2006, 14:38    Titel: Antworten mit Zitat

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
Code:

? "TEST"

ersetzen. lächeln
(Weniger Schreibaufwand -> kleinerer Source. grinsen)
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
kugelfisch@fb



Anmeldungsdatum: 17.12.2006
Beiträge: 2

BeitragVerfasst am: 17.12.2006, 14:42    Titel: Antworten mit Zitat

Zeilennummern waren nur zur Orientierung gedacht! Klammern und PRINT-Anweisungen überarbeite ich noch... Pascal hinterlässt halt Spuren im Style grinsen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 17.12.2006, 16:03    Titel: Antworten mit Zitat

Hi,
..meine Verbesserungsvorschläge(nein, ich kommentiere die nicht grinsen)
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 happy
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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1876
Wohnort: D59192

BeitragVerfasst am: 17.12.2006, 16:12    Titel: Antworten mit Zitat

Listing auch ohne Kommentar .... aber mehr für Anfänger... grinsen
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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 17.12.2006, 16:20    Titel: Antworten mit Zitat

..aber auch ohne Goto grinsen
(*mitbefriedigungfeststell*) lachen
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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
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.

 Impressum :: Datenschutz