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:

Frage am Ende des Programms

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



Anmeldungsdatum: 31.03.2008
Beiträge: 1
Wohnort: Switzerland

BeitragVerfasst am: 31.03.2008, 19:43    Titel: Frage am Ende des Programms Antworten mit Zitat

Hallo zusammen, finde es toll dass es dieses Forum gibt. Ich habe vor ein paar Tagen angefangen ein bisschen mit QBasic zu programmieren. Auf die Idee gebracht hat mich mein Mathelehrer. Jetzt habe ich für euch warscheinlich eine ganz einfache Frage. Wenn ich am Ende eines Programms, hier im Beispiel ist ein ganz simples Rechtecks-Berechnung-Programm:

REM "Rechteck.Bas"
CLS : PRINT : PRINT
PRINT " RECHTECKSBERECHNUNGEN"
PRINT "************************"
PRINT
INPUT " Wie lang (in cm) ist das Rechteck "; a
INPUT " Wie breit (in cm) ist das Rechteck "; b
u = (a+b) *2
f = a*b
PRINT
PRINT " Umfang = "; u; "cm"
PRINT " Fläche = "; f; "cm2"
END

möchte dass mich das Programm fragt ob ich das ganze noch einmal durchführen möchte, und ich dann j oder n für ja oder nein eingeben muss?
Ich wäre dem der mir dass kurz erläutern könnte sehr dankbar.

Vielen Dank schon im voraus und freundliche Grüsse
swordfish
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
raph ael



Anmeldungsdatum: 12.04.2006
Beiträge: 472

BeitragVerfasst am: 31.03.2008, 19:49    Titel: Antworten mit Zitat

Der Einfachheit halber mach ich das mal mit GoTo:
Code:
REM "Rechteck.Bas"
start:
CLS : PRINT : PRINT
PRINT " RECHTECKSBERECHNUNGEN"
PRINT "************************"
PRINT
INPUT " Wie lang (in cm) ist das Rechteck "; a
INPUT " Wie breit (in cm) ist das Rechteck "; b
u = (a+b) *2
f = a*b
PRINT
PRINT " Umfang = "; u; "cm"
PRINT " Fläche = "; f; "cm2"
print "Möchten sie das noch mal machen (J/N)?"
do
   k$ = inkey$
   if lcase$(k$) = "j" then
      goto start
   elseif lcase$(k$) = "n" then
      end
   end if
loop
END

_________________
Zitat:
1000 Yottabytes sind absurd. 640 Yottabytes sollten genug für jeden sein.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 31.03.2008, 19:50    Titel: Re: Frage am Ende des Programms Antworten mit Zitat

Hallo!

Gewöhn dir GOTO am besten erst gar nicht an. Wenn man das üppiger benutzt, kommen ganz furchtbare Quelltexte dabei raus... zwinkern So geht es "schöner":
Code:
' "Rechteck.Bas"
DO
 CLS : PRINT : PRINT
 PRINT " RECHTECKSBERECHNUNGEN"
 PRINT "************************"
 PRINT
 INPUT " Wie lang (in cm) ist das Rechteck  "; a
 INPUT " Wie breit (in cm) ist das Rechteck  "; b
 u = (a+b) *2
 f = a*b
 PRINT
 PRINT " Umfang = "; u; "cm"
 PRINT " Fläche   = "; f; "cm2"
 INPUT " Programm neustarten (j/n)? ", Eingabe$
 If UCASE$(Eingabe$) <> "J" THEN EXIT DO
LOOP
END

Viele Grüße!
Sebastian
_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Random



Anmeldungsdatum: 09.03.2006
Beiträge: 47

BeitragVerfasst am: 31.03.2008, 19:57    Titel: Antworten mit Zitat

Ich würde das so machen:

DO
CLS : PRINT : PRINT
PRINT " RECHTECKSBERECHNUNGEN"
PRINT "************************"
PRINT
INPUT " Wie lang (in cm) ist das Rechteck "; a
INPUT " Wie breit (in cm) ist das Rechteck "; b
u = (a+b) *2
f = a*b
PRINT
PRINT " Umfang = "; u; "cm"
PRINT " Fläche = "; f; "cm2"
PRINT
PRINT "Weiter (j/n):"
SLEEP
IF INKEY$="n" THEN END
LOOP

es geht aber auch mit:

...
INPUT "Weiter (j/n): "; weiter$
IF weiter$ = "n" THEN END
LOOP


Zuletzt bearbeitet von Random am 31.03.2008, 20:06, insgesamt 2-mal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Random



Anmeldungsdatum: 09.03.2006
Beiträge: 47

BeitragVerfasst am: 31.03.2008, 20:00    Titel: Antworten mit Zitat

Da war ich wohl etwas zu langsam. Ist aber schön zu sehen, dass viele Wege nach Rom führen. zwinkern
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Elektronix



Anmeldungsdatum: 29.06.2006
Beiträge: 742

BeitragVerfasst am: 31.03.2008, 21:22    Titel: Antworten mit Zitat

Zitat:
' "Rechteck.Bas"
DO
CLS : PRINT : PRINT
PRINT " RECHTECKSBERECHNUNGEN"
PRINT "************************"
PRINT
INPUT " Wie lang (in cm) ist das Rechteck "; a
INPUT " Wie breit (in cm) ist das Rechteck "; b
u = (a+b) *2
f = a*b
PRINT
PRINT " Umfang = "; u; "cm"
PRINT " Fläche = "; f; "cm2"
INPUT " Programm neustarten (j/n)? ", Eingabe$
REM eine Zeile gespart Zunge rausstrecken
LOOP UNTIL UCASE$(Eingabe$) = "N"
END

_________________
Und die Grundgebihr is aa scho drin- DOS is jo nett.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic. 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