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:

WICHTIG : Hilfe beim Rechenprogramm -> noch nich fertig.
Gehe zu Seite Zurück  1, 2, 3, 4  Weiter
 
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
Devilkevin
aka Kerstin


Anmeldungsdatum: 11.11.2004
Beiträge: 2532
Wohnort: nähe Mannheim

BeitragVerfasst am: 24.04.2005, 10:41    Titel: Antworten mit Zitat

Du hast mich Falsch verstanden zwinkern
Den User speicherst du in einer Variable nicht in einer .txt Datei.
Auserdem musst du den genauen Pfad angeben.
Also z.B. "C:\highscore.txt".

Code:

OPEN "C:\highscores.txt" FOR OUTPUT AS #1
PRINT #1, "User: ", user$; " Punkte ", score[/color]
CLOSE #1


Welcher User welchen Score hat steht dann in der Datei, denn der Username wurde ja ganz am anfang in der Variable user$ gespeichert.
Und die Variable wird ja in die .txt Datei geschrieben zwinkern

/Edit: Ach ja du musst bei sowas keine Variablen deklarieren. Es reicht wen du einfach user$ schreibst (für Text) und z.B. treffer für Zahlen.
_________________
www.piratenpartei.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 24.04.2005, 12:14    Titel: Antworten mit Zitat

nur so als tipp:

Code:
OPEN user$+".txt" OFR OUTPUT AS #1
PRINT #1, "User: ", user$; " Punkte ", score
CLOSE #1


Code halbiert cool


/edit: Hups, da war ja noch n Post aufer zweiten Seite durchgeknallt
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Devilkevin
aka Kerstin


Anmeldungsdatum: 11.11.2004
Beiträge: 2532
Wohnort: nähe Mannheim

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

Aber eigentlich müsste deine Fehlermeldung in einer anderen Zeile stehen neutral, vielleicht ist user$ eine festgelegte Variable neutral naja sag halt mal Bescheid obs klappt zwinkern
_________________
www.piratenpartei.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 24.04.2005, 12:49    Titel: Antworten mit Zitat

hast du ion QB schon mal irgendwas von ner Benutzerverwaltung gesehen? durchgeknallt

es gibt kein user$, is ne ganz normale Variable lächeln
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Dorftrottel
gesperrt


Anmeldungsdatum: 23.04.2005
Beiträge: 97
Wohnort: Welt

BeitragVerfasst am: 24.04.2005, 15:46    Titel: Antworten mit Zitat

tut mir leid jungs peinlich
aber es geht nix geschockt

ich hab mal n' bissle was ausprobiert mit dem TIMER aber..(er is sch***e)
naja nochmal mein aktueller Code:
Code:

CLS
INPUT "Btte Benutzername angeben ", user$
CLS
PRINT "Bitte ENTER dr?cken"
DIM a AS STRING
DIM b AS STRING
DIM c AS STRING
DIM d AS STRING
DIM e AS STRING
DIM f AS STRING
DIM g AS STRING
DIM h AS STRING
DIM i AS STRING

 DO
RANDOMIZE TIMER
z = (INT(RND * 53) + 9) / 10
DO: Taste$ = INKEY$: LOOP WHILE Taste$ = ""
IF Taste$ = CHR$(27) THEN END

RANDOMIZE TIMER
y = (INT(RND * 53) + 9) / 10
PRINT y;
k = 1
SELECT CASE k
         CASE IS = 1
                 PRINT " + "
         CASE IS = 2
                 PRINT " - "
         CASE IS = 3
                 PRINT " * "
         CASE IS = 4
                 PRINT " / "
END SELECT
PRINT z;
PRINT "="
LINE INPUT usereingabe$
PRINT "Zeit: "; TIME$
Code:
s! = .0549254
t! = TIMER
WHILE INKEY$ = ""
t2! = TIMER
m! = t2! - t!
IF m! > 0 THEN
m! = CINT(m! / s!) * s!
PRINT m!
t! = t2!
END IF
WEND
LOOP
PRINT "Deine Punktzahl lautet:"
PRINT score
score = 0
DO: Taste$ = INKEY$: LOOP WHILE Taste$ = ""


 IF usereingabe$ = ergebnis$ THEN score = score + 10

IF user$ = a THEN OPEN "a.txt" FOR OUTPUT AS #1
PRINT #1, "User: ", user$; " Punkte ", score
CLOSE #1

IF user$ = b THEN OPEN "b.txt" FOR OUTPUT AS #1
PRINT #1, "User: ", user$; " Punkte ", score
CLOSE #1

IF user$ = c THEN OPEN "c.txt" FOR OUTPUT AS #1
PRINT #1, "User: ", user$; " Punkte ", score
CLOSE #1

IF user$ = d THEN OPEN "d.txt" FOR OUTPUT AS #1
PRINT #1, "User: ", user$; " Punkte ", score
CLOSE #1

IF user$ = e THEN OPEN "e.txt" FOR OUTPUT AS #1
PRINT #1, "User: ", user$; " Punkte ", score
CLOSE #1

IF user$ = f THEN OPEN "f.txt" FOR OUTPUT AS #1
PRINT #1, "User: ", user$; " Punkte ", score
CLOSE #1

IF user$ = g THEN OPEN "g.txt" FOR OUTPUT AS #1
PRINT #1, "User: ", user$; " Punkte ", score
CLOSE #1

IF user$ = h THEN OPEN "h.txt" FOR OUTPUT AS #1
PRINT #1, "User: ", user$; " Punkte ", score
CLOSE #1

IF user$ = i THEN OPEN "i.txt" FOR OUTPUT AS #1
PRINT #1, "User: ", user$; " Punkte ", score
CLOSE #1



_________________
Euer Dorftrottel!
Unser Name ist unser Auftrag! lächeln
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
jb



Anmeldungsdatum: 14.01.2005
Beiträge: 2010

BeitragVerfasst am: 24.04.2005, 16:11    Titel: Antworten mit Zitat

Also ich würde dir vorschlagen, dass du erst mal ein QuickBASIC-Tutorial
durchpaukst, bevor du noch 10 mal deinen leicht veränderten Code postest. zwinkern

jb
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Dorftrottel
gesperrt


Anmeldungsdatum: 23.04.2005
Beiträge: 97
Wohnort: Welt

BeitragVerfasst am: 24.04.2005, 16:18    Titel: Antworten mit Zitat

Ich hab doch schon 3 durch gemacht
_________________
Euer Dorftrottel!
Unser Name ist unser Auftrag! lächeln
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
jb



Anmeldungsdatum: 14.01.2005
Beiträge: 2010

BeitragVerfasst am: 24.04.2005, 17:26    Titel: Antworten mit Zitat

Und warum kommst du dann nicht weiter?

Außerdem: Warum ist der TIMER sch****?

jb
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 24.04.2005, 17:30    Titel: Antworten mit Zitat

Hallo.

Ist doch klar, wieso da nichts zugeordnet wird. Du hast a, b, c usw. als Variablen ohne Inhalt deklariert. Alle Benutzernamen haben den gleichen Wert.
Lass die vielen DIM Anweisungen weg und schreib unten statt
Code:
IF user$ = a THEN OPEN "a.txt" FOR OUTPUT AS #1
PRINT #1, "User: ", user$; " Punkte ", score
CLOSE #1

einfach
Code:
IF user$ = "a" THEN OPEN "a.txt" FOR OUTPUT AS #1
PRINT #1, "User: ", user$; " Punkte ", score
CLOSE #1

oder schreib anstelle der vielen IF user$... Anweisungen ein einziges mal
Code:
OPEN user$+".txt" FOR OUTPUT AS #1
PRINT #1, "User: ", user$; " Punkte ", score
CLOSE #1

Aber das wurde dir glaube ich auch schon vorgeschlagen.

Oder habe ich etwa dein Problem nicht richtig verstanden?

Viele Grüße!
Sebastian
_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!


Zuletzt bearbeitet von Sebastian am 24.04.2005, 17:32, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Dorftrottel
gesperrt


Anmeldungsdatum: 23.04.2005
Beiträge: 97
Wohnort: Welt

BeitragVerfasst am: 24.04.2005, 17:31    Titel: Antworten mit Zitat

Keine ahnung?

Ich weiß zwar was ich tun muss aber nich wie?
Der Pc muss die aufgabe rechnen und als ergebnis$ Viriable ausgeben.
und der Fehler. Ich weiß nich was da fasch is:
Code:

IF user$ = a THEN OPEN "C:\a.txt" FOR OUTPUT AS #1
PRINT #1, "User: ", user, " Punkte ", score
CLOSE #1

in der zweiten Zeile sagt das Programm:
Falscher Dateineme oder Dateinummer.

Kein Plan? Kopf schütteln
_________________
Euer Dorftrottel!
Unser Name ist unser Auftrag! lächeln
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Dorftrottel
gesperrt


Anmeldungsdatum: 23.04.2005
Beiträge: 97
Wohnort: Welt

BeitragVerfasst am: 24.04.2005, 17:33    Titel: Antworten mit Zitat

Keine ahnung?

Ich weiß zwar was ich tun muss aber nich wie?
Der Pc muss die aufgabe rechnen und als ergebnis$ Viriable ausgeben.
und der Fehler. Ich weiß nich was da fasch is:
Code:

IF user$ = a THEN OPEN "C:\a.txt" FOR OUTPUT AS #1
PRINT #1, "User: ", user, " Punkte ", score
CLOSE #1

in der zweiten Zeile sagt das Programm:
Falscher Dateineme oder Dateinummer.

Kein Plan? Kopf schütteln

Ach und der TIMER soll eigentlich von 200 Sekunden auf 0 runterzählen.
Und dann die score anzeigen und fragen ob man nochmal will.
Aber...
_________________
Euer Dorftrottel!
Unser Name ist unser Auftrag! lächeln
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
jb



Anmeldungsdatum: 14.01.2005
Beiträge: 2010

BeitragVerfasst am: 24.04.2005, 17:48    Titel: Antworten mit Zitat

1.


Benutz den mal endlich!

2. Zu deinem Problem. Versuch mal das:
Code:

f = FREEFILE
OPEN "C:\" + user$ + ".txt" FOR OUTPUT AS #f
[...]


3. Das TIMER-Problem
Hier ein Ansatz:
Code:

Sekunden = 200
DO
 IF t$ <> TIME$ THEN
  PRINT " Noch "; Sekunden; " Sekunden."
  Sekunden = Sekunden - 1
  t$ = TIME$
 END IF
LOOP UNTIL Sekunden = 0


jb
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 24.04.2005, 18:47    Titel: Antworten mit Zitat

Jui, ich hatte eben sogar schon einen Doppelpost gelöscht...
_________________

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
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 24.04.2005, 23:21    Titel: Antworten mit Zitat

Dorftrottel hat Folgendes geschrieben:
Code:

IF user$ = a THEN OPEN "C:\a.txt" FOR OUTPUT AS #1
PRINT #1, "User: ", user, " Punkte ", score
CLOSE #1

in der zweiten Zeile sagt das Programm:
Falscher Dateineme oder Dateinummer.


das problem is ganz einfach
du sagst QB 'schreibe variable nach datei 1', und zwar immer. jedoch ist die datei nur geöffnet, wenn user$=a ist. mach vor open einen zeilenumbruch ergänze eine die zeile nach close #1 mit inhalt END IF
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Dorftrottel
gesperrt


Anmeldungsdatum: 23.04.2005
Beiträge: 97
Wohnort: Welt

BeitragVerfasst am: 25.04.2005, 16:13    Titel: Antworten mit Zitat

hi,
danke leute dass ihr soooooooooooooooo viel aufwand um diese frage macht. Zunge rausstrecken

danke jb für die codes der den du mir gegeben hast geht.
nur dass es erst beim zweiten anlauf geht. das heißt :
ich starte das programm, gebe den benutzernamen ein,
erste aufgabe kommt, drücke ESC punkte = 0...
schaue nach... nich gespeichert. mach alles nochmal, guck wieder...
gespeichert.

und das, dass ich punkte bekomme geht auch nich:
Code:

LINE INPUT usereingabe$
PRINT "Richtiges Ergebnis = "; y + z
ergebnis$ = "y + z"
 IF t$ <> TIME$ THEN
  Sekunden = Sekunden - 1
  t$ = TIME$
 END IF
 PRINT " Noch "; Sekunden; " Sekunden."
DO: Taste$ = INKEY$: LOOP WHILE Taste$ = ""
IF Taste$ = CHR$(27) THEN GOTO puntos

LOOP UNTIL Sekunden = 0
puntos:
PRINT "Deine Punktzahl lautet:"
PRINT score
score = 0
DO: Taste$ = INKEY$: LOOP WHILE Taste$ = ""

IF usereingabe$ = ergebnis$ THEN score = score + 10

auch wenn ich die aufgabe richtig habe sinds am schluss 0 punkte?? Kopf schütteln

ach nur so als kleine nebenfrage.
bei dem timer von jb ziehts nur ne sekunde ab.
kann man auch machen das er durchgänig zählt.
also das wenn man das programm 20 sekunden stehen lässt
und dann den timer anzeigt das er dann 200 sekunden weniger anzeigt
und nich nur eine Hmmm.... ???
_________________
Euer Dorftrottel!
Unser Name ist unser Auftrag! lächeln
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Dorftrottel
gesperrt


Anmeldungsdatum: 23.04.2005
Beiträge: 97
Wohnort: Welt

BeitragVerfasst am: 27.04.2005, 12:27    Titel: Antworten mit Zitat

Die Mauer (Fehler) is im Weg mit dem Kopf durch die Mauer wollen
(komm nich weiter)
_________________
Euer Dorftrottel!
Unser Name ist unser Auftrag! lächeln
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Devilkevin
aka Kerstin


Anmeldungsdatum: 11.11.2004
Beiträge: 2532
Wohnort: nähe Mannheim

BeitragVerfasst am: 27.04.2005, 14:21    Titel: Antworten mit Zitat

Wie wärs mit:

Code:

IF usereingabe =  ergebnis THEN score = score + 1

Den Code auf Deutsch:

Wen die Benutzereingabe mit dem ergebnis übereinstimmt dann wird der Wer in der Variable score um 1 erhöht
Ach ja: Zahlen speichert man nicht in Strings zwinkern

/Edit: Du musst natürlich VOR der Aufgabe schreiben: score = 0
_________________
www.piratenpartei.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Dorftrottel
gesperrt


Anmeldungsdatum: 23.04.2005
Beiträge: 97
Wohnort: Welt

BeitragVerfasst am: 27.04.2005, 14:47    Titel: Antworten mit Zitat

Geht nich weinen
_________________
Euer Dorftrottel!
Unser Name ist unser Auftrag! lächeln
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Dorftrottel
gesperrt


Anmeldungsdatum: 23.04.2005
Beiträge: 97
Wohnort: Welt

BeitragVerfasst am: 01.05.2005, 18:29    Titel: Antworten mit Zitat

geht immer noch nich. weinen HELP!!!
_________________
Euer Dorftrottel!
Unser Name ist unser Auftrag! lächeln
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
jb



Anmeldungsdatum: 14.01.2005
Beiträge: 2010

BeitragVerfasst am: 02.05.2005, 16:06    Titel: Antworten mit Zitat

Vielleicht beschreibst du dein Problem mal etwas genauer, dann
können wir dir vielleicht auch helfen.

jb
Nach oben
Benutzer-Profile anzeigen Private Nachricht 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 QBasic. Alle Zeiten sind GMT + 1 Stunde
Gehe zu Seite Zurück  1, 2, 3, 4  Weiter
Seite 2 von 4

 
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