Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Matthias1172
Anmeldungsdatum: 29.08.2005 Beiträge: 5 Wohnort: Bühl
|
Verfasst am: 29.08.2005, 16:52 Titel: Neuling braucht Hilfe! |
|
|
Hallo,
ich heiße Mathhias, bin 17 Jahre (Fast 18 ) und bin völlig neu auf dem gebiet und hab auch gleich ein Problem:
Ich habe mich ein wenig über ABSIC informiert und habe dann einen DM in €-Umrechner geschrieben, der so aussieht:
Code: |
CLS
COLOR 9
PRINT "Umrechnung DM in Euro"
COLOR 15
INPUT "Eingabe DM:", dm / 1.95583
COLOR 28
Ergebnis# = dm
CASE IS < 0
PRINT "Bitte geben Sie eine positive Zahl ein! Ergebnis ungültig!
CASE IS > -1000000000#
COLOR 10
PRINT "Eingabe ungültig!"
COLOR 28
CASE ELSE
PRINT "Bitte nur Ziffern verwenden!"
END SELECT
COLOR 15
SLEEP 1
PRINT dm; "DM sind"; Ergebnis#; "Euro."
|
Jetzt habe ich folgende drei Probleme bzw. Fragen:
1.
Irgendwie funktioniert der Bereich
Code: |
CASE ELSE
PRINT "Bitte nur Ziffern verwenden!"
|
nicht.
CASE ELSE bedeutet doch, dass wenn die oberen Argumente nicht erfüllt wurden, das dann der Text angezeigt wird, oder? Er wird aber nicht angezeigt, wenn ich zum Beispile Buchstaben benutze, sondern QBasic zeigt dann diese Meldung:
Wie bekomme ich das richtig hin?
2.
Was muss ich dazuschreiben, wenn er nach em Berechnen nicht beenden soll sondern wieder von vorne anfange soll ,damit man nicht nochmal starten muss?
3.
Wie kann ich diese Basic Dateien in eine exe umwandeln?
So das wars auchs chon, ich hoffe ich habe mich verständlich ausgedrückt .[/quote] _________________ MfG: Matthias |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 29.08.2005, 17:54 Titel: |
|
|
Hallo.
Downloade dir von www.qbasic.de aus dem Downloadbereich QuickBasic 4.5 in deutsch. Du findest es in der Rubrik "Compiler".
Ein DM>EUR Umrechner geht so:
Code: | DIM dm AS SINGLE
DIM eur AS SINGLE
DO
INPUT "Betrag in DM: ", dm
If dm<=0 THEN
PRINT "Der Betrag kann nicht negativ sein und muss größer als 0 sein!"
ELSE
EXIT DO
end if
LOOP
eur=dm/1.95583
PRINT "Das sind in EUR: ";
PRINT USING "#.##"; eur
SLEEP:END |
Wenn du das in QuickBasic 4.5 geschrieben hast, gehst du auf "Ausführen" und dann auf EXE-Datei erstellen. Dann wählst du selbstständige EXE aus und bestätigst. Und fertig ist der Umrechner in Form einer echten EXE Datei.
Viele Grüße!
Sebastian _________________
Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! |
|
Nach oben |
|
 |
Paul aka ICC, HV-Freak
Anmeldungsdatum: 11.09.2004 Beiträge: 588 Wohnort: Uelzen
|
Verfasst am: 29.08.2005, 17:56 Titel: |
|
|
Moin,
das nächste mal bitte einen Aussagekräftigeren Titel benutzen.
Also ich weiß ja nicht welchen BASIC-Dialekt du dir da angeeignet hast, aber dies hier ist ein QuickBASIC-Forum, also hab ich den Code mal kurz für QB umgeschrieben.
Code: |
CLS
COLOR 9
PRINT "Umrechnung DM in Euro"
COLOR 15
INPUT "Eingabe DM: ", dm
euro# = VAL(dm) / 1.95583
PRINT dm; "DM sind"; euro; "Euro."
|
Die SELECT CASE - Anweisung ist hier allerdings irgendwie total sinnlos, wollt ich nurmal gesagt haben
Die richtige Anwendung von SELECT CASE ist
Code: |
INPUT "Geben sie entweder eine 1 oder eine 2 ein. --> ", zahl
SELECT CASE zahl
CASE 1: PRINT "Eins"
CASE 2: PRINT "Zwei"
CASE ELSE: PRINT "FEHLER!!!!"
END SELECT
|
Geht natürlich genauso mit STRINGs
Hoffe ich konnte helfen
€DIT: Wieso ist Sebastian eigentlich immer schneller als alle anderen  _________________
 |
|
Nach oben |
|
 |
jb

Anmeldungsdatum: 14.01.2005 Beiträge: 2010
|
Verfasst am: 29.08.2005, 18:26 Titel: |
|
|
Tum Thema .EXE-erstellen:
Das machst du so:
Steht aber auch in der MonsterFAQ.
jb |
|
Nach oben |
|
 |
Xolios aka Ray

Anmeldungsdatum: 07.12.2004 Beiträge: 589 Wohnort: Wildeshausen
|
Verfasst am: 29.08.2005, 18:37 Titel: |
|
|
Hallo.
Was für ein Zufall:
Gestatten:
Matthias
17 Jahre Bald 18
Ich dacht für ein Moment das wär ich
Gruß
Ray _________________ www.ray-earth.de
Anm.: Neue ICQ |
|
Nach oben |
|
 |
jb

Anmeldungsdatum: 14.01.2005 Beiträge: 2010
|
Verfasst am: 29.08.2005, 18:44 Titel: |
|
|
Oh oh, ob das schon die ersten Anzeichen von Schizophrenie sind?
jb |
|
Nach oben |
|
 |
dreael Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 2529 Wohnort: Hofen SH (Schweiz)
|
Verfasst am: 29.08.2005, 20:57 Titel: |
|
|
Zur Fehlermeldung "Redo from start": Wenn man bei INPUT eine Zahlenvariable angibt, so übernimmt eigentlich bereits QB selber eine Syntaxprüfung, dass die Eingabe nur Ziffern und "+-." enthält.
Willst Du aber diese Überprüfung selber machen können, so musst Du die Zahl als String mit LINE INPUT entgegennehmen, danach mit Stringfunktionen Deinen eigenen Sytaxprüfer bauen und wenn die Eingabe den Test bestanden hat, den String mit VAL() in eine Zahl umwandeln. _________________ Teste die PC-Sicherheit mit www.sec-check.net |
|
Nach oben |
|
 |
OdinX

Anmeldungsdatum: 29.07.2005 Beiträge: 253 Wohnort: SG Schweiz
|
Verfasst am: 29.08.2005, 21:09 Titel: Re: Neuling braucht Hilfe! |
|
|
Code: | CLS
COLOR 9
PRINT "Umrechnung DM in Euro"
COLOR 15 |
das ist mal richtig.
Code: | INPUT "Eingabe DM:", dm / 1.95583 |
und das geht so weit ich weiss nicht.
müsste so sein:
Code: | INPUT "Eingabe DM", dm
Ergebnis# = dm / 1.95583 |
wieder richtig.
sinnlos... warum nicht gleich oben bei der berechnung in Ergebnis# speichern
"CASE" braucht SELECT CASE davor, da er sonst nicht weiss war kleiner als 0 sein soll.
also davor:
Code: | PRINT "Bitte geben Sie eine positive Zahl ein! Ergebnis ungültig! |
richtig!
Code: | CASE IS > -1000000000# |
hat keinen sinn... du lässt so nur werte kleiner als 1'000'000'000 zu
oder hast du so viel schulden?
solltest wohl eher "<" verwenden.
wobei du alle zahlen kleiner als 0 eh schon ausgeschlossen hast.
Code: | COLOR 10
PRINT "Eingabe ungültig!"
COLOR 28 |
das ist ok
de]CASE ELSE
PRINT "Bitte nur Ziffern verwenden!"
END SELECT[/code]
das programm soll doch auch noch was nützen
wenn keiner der Error's in CASE aufgerufen wird, wird der hier aufgerufen.
Resultat: Jeder durchlauf ein Error
Code: | COLOR 15
SLEEP 1
PRINT dm; "DM sind"; Ergebnis#; "Euro." |
und jetzt noch mal der ganze code an einem:
Code: | CLS
COLOR 9
PRINT "Umrechnung DM in Euro"
COLOR 15
INPUT "Eingabe DM", dm
Ergebnis# = dm / 1.95583
COLOR 28
SELECT CASE dm
CASE IS < 0
PRINT "Bitte geben Sie eine positive Zahl ein! Ergebnis ungültig!
CASE IS > 1000000000
PRINT "Soviel geld haben Sie nicht!"
END SELECT
COLOR 15
SLEEP 1
PRINT dm; "DM sind"; Ergebnis#; "Euro. |
Bei Eingaben von buchstaben reklamiert dann aber das programm.
Um das zu lösen entweder bei INPUT eine string-variable verwenden, oder eine ereignisverfolgung einbauen. |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
 |
|