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:

Speichern, laden, formatieren udn ausgeben funkt nicht

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



Anmeldungsdatum: 20.08.2006
Beiträge: 7

BeitragVerfasst am: 07.10.2006, 14:25    Titel: Speichern, laden, formatieren udn ausgeben funkt nicht Antworten mit Zitat

hallo!

mein programm funktioniert einfach nicht keien ahnung wiesoo...

was es tun sollte bzw. tut:

eine formaiterung durchführen mittels UP und dann in eien datei speichern
und dann kann man alles endsummen zusammenzäheln und ausgeben

es tut dass:

aber es funkttioniert eifnach nicht... kA wieso.. traurig
weder formatiern
noch speichern
noch laden

Code:
'*********************** H A U P T P R O G R A M M ************************


DO

CLS
GOSUB maske
GOSUB menge
GOSUB epreis
GOSUB gpreis
GOSUB rabatt
GOSUB zwsumme1
GOSUB skonto
GOSUB zwsumme2
GOSUB MWSt
GOSUB endbetrag
GOSUB speichern

LOOP

END

'************************ U N T E R P R O G R A M M *************************

maske:     

blau = 1
weiss = 7
gruen = 2
rot = 4

CLS

COLOR weiss

LOCATE 1, 5
PRINT "Kassenschirm"
LOCATE 1, 27
PRINT "Manuel L."
LOCATE 1, 61
PRINT DATE$
LOCATE 1, 71
PRINT "/"
LOCATE 1, 72
PRINT TIME$

 LOCATE 2, 5
 PRINT STRING$(75, "-")

COLOR 1
LOCATE 4, 5
PRINT "Menge"
LOCATE 4, 54
PRINT "Ende: 0"
LOCATE 5, 5
PRINT "Einzelpreis"
LOCATE 6, 5
PRINT STRING$(36, "-");

LOCATE 8, 5
PRINT "Gesamtpreis"
LOCATE 9, 3
PRINT "%"
LOCATE 9, 5
PRINT "Rabatt"
LOCATE 9, 50
PRINT "zul„ssig: 0,5,10,15,20,25"
LOCATE 10, 5
PRINT STRING$(36, "-");

LOCATE 13, 3
PRINT "%"
LOCATE 13, 5
PRINT "Skonto"
LOCATE 13, 50
PRINT "zul„ssig: 0,2,3,5"
LOCATE 14, 5
PRINT STRING$(36, "-");

LOCATE 17, 3
PRINT "%"
LOCATE 17, 5
PRINT "MWSt:"
LOCATE 17, 50
PRINT "zul„ssig: 0,8,10,20,32"
LOCATE 18, 5
PRINT STRING$(36, "-");
LOCATE 20, 5

PRINT "Rechn. Betrag"

RETURN
'************************** UNTERPRORAMMGE ********************************

'*******************************> M E N G E <*******************************

menge:   

blau = 1
weiss = 7
gruen = 2
rot = 4

COLOR weiss

LOCATE 4, 35
COLOR 2
INPUT "", menge

IF menge <= 0 THEN
GOSUB laden
END
END IF

menge = FIX(menge)

IF menge < 100 THEN
LOCATE 4, 35
PRINT SPC(4);
LOCATE 4, 36
PRINT menge

IF menge > 100 THEN
LOCATE 4, 35
PRINT SPC(4);
LOCATE 4, 37
PRINT menge
END IF
END IF

WHILE menge > 999
COLOR 4
LOCATE 25, 1
PRINT "Menge'"; menge; "' >999";
COLOR 2
SLEEP 2
LOCATE 25, 1
PRINT SPC(40);
LOCATE 4, 30
PRINT SPC(19);
LOCATE 4, 35
INPUT "", menge
WEND

RETURN
'******************************> E P r e i s  <**************************

epreis:

blau = 1
weiss = 7
gruen = 2
rot = 4

COLOR weiss

LOCATE 5, 33
COLOR 2
INPUT "", einzelpreis

WHILE einzelpreis > 9999
LOCATE 25, 1
COLOR 4
PRINT " Einzepreis'"; einzelpreis; "' > 9999";
COLOR 2
SLEEP 2
LOCATE 25, 1
PRINT SPC(79);
LOCATE 5, 28
PRINT SPC(19);
LOCATE 5, 32
INPUT "", einzelpreis
WEND

betrag = einzelpreis
GOSUB format
PRINT ausg$

RETURN
'*********************************> G P R E I S <***************************

gpreis:   

blau = 1
weiss = 7
gruen = 2
rot = 4


COLOR blau



LOCATE 8, 27
gespr = menge * einzelpreis
betrag = gpreis
GOSUB format
PRINT ausg$

RETURN
'******************************> R A B A T T < ******************************


rabatt:   

blau = 1
weiss = 7
gruen = 2
rot = 4

COLOR weiss


COLOR 2

LOCATE 9, 1
INPUT "", rabatt

WHILE rabatt <> 0 AND rabatt <> 5 AND rabatt <> 10 AND rabatt <> 15 AND rabatt <> 20 AND rabatt <> 25
COLOR 4
LOCATE 25, 1
PRINT "Rabatt "; rabatt; " ist ungueltig! ";
COLOR 2
SLEEP 2
LOCATE 25, 1
PRINT SPC(79);
LOCATE 9, 1
PRINT SPC(79);
COLOR 1
LOCATE 9, 3
PRINT "%"
LOCATE 9, 5
PRINT "Rabatt"
LOCATE 9, 50
PRINT " ";rabatt;" nicht zulaessig, nur : 0,5,10,15,20,25"
COLOR 2
LOCATE 9, 1
INPUT "", rabatt
WEND

IF rabatt < 10 THEN
LOCATE 9, 1
PRINT SPC(2);
LOCATE 9, 1
PRINT rabatt
COLOR 1
LOCATE 9, 3
PRINT "%"

END IF

LOCATE 9, 27
rabatt = (gespr / 100) * rabatt

betrag = rabatt
GOSUB format
PRINT ausg$

RETURN
'***************************************> Z W s u m m e 1 <******************
zwsumme1:   

blau = 1
weiss = 7
gruen = 2
rot = 4

COLOR blau

LOCATE 11, 27
zwsum = gespr - rabatt
betrag = zwsum
GOSUB format
PRINT ausg$

RETURN
'****************************************> S K O N T O <******************

skonto:   

blau = 1
weiss = 7
gruen = 2
rot = 4

COLOR weiss

LOCATE 13, 2
COLOR 2
INPUT "", skonto

WHILE skonto <> 0 AND skonto <> 2 AND skonto <> 3 AND skonto <> 5
COLOR 4
LOCATE 25, 1
PRINT " "; skonto; "% Skonto  ist ungütlig! ";
COLOR 2
SLEEP 2
LOCATE 25, 1
PRINT SPC(79);
LOCATE 13, 1
PRINT SPC(79);
COLOR 1
LOCATE 13, 3
PRINT "%"
LOCATE 13, 5
PRINT "Skonto"
LOCATE 13, 50
PRINT " ";skonto;" nicht zulaessig nur : 0,2,3,5"
COLOR 2
LOCATE 13, 2
INPUT "", skonto
WEND

LOCATE 13, 27
skonto = ((gespr - rabatt) / 100) * skonto
betrag = skonto
GOSUB format
PRINT ausg$

RETURN
'***************************************> Z W S U M M E 2  <*****************

zwsumme2:   

blau = 1
weiss = 7
gruen = 2
rot = 4

COLOR blau

LOCATE 15, 27
zwsum2 = zwsum - skonto
betrag = zwsum2
GOSUB format
PRINT ausg$

RETURN
'*********************************> M W S T <****************************

MWSt:   

blau = 1
weiss = 7
gruen = 2
rot = 4

COLOR weiss


LOCATE 17, 1
COLOR 2
INPUT "", MWSt
COLOR 1

WHILE MWSt <> 0 AND MWSt <> 8 AND MWSt <> 10 AND MWSt <> 20 AND MWSt <> 32
COLOR 4
LOCATE 25, 1
PRINT " "; MWSt; "% MWSt ist ungültig"
COLOR 2
SLEEP 2
LOCATE 25, 1
PRINT SPC(79);
LOCATE 17, 1
PRINT SPC(79);
COLOR 1
LOCATE 17, 3
PRINT "%"
LOCATE 17, 5
PRINT "MWSt"
LOCATE 17, 50
PRINT " ";mwst;" nicht zulaessig nur: 0,8,10,20,32"
COLOR 2
LOCATE 17, 1
INPUT "", MWSt
WEND

IF MWSt < 10 THEN
LOCATE 17, 1
PRINT SPC(2);
LOCATE 17, 1
COLOR 2
PRINT MWSt
LOCATE 17, 3
COLOR 1
PRINT "%"
END IF

LOCATE 17, 27
MWSt = (gespr / 100) * MWSt
betrag = MWSt
GOSUB format
PRINT ausg$
RETURN
'*****************************> E N D B E T R A G <************************

endbetrag:   

blau = 1
weiss = 7
gruen = 2
rot = 4

COLOR blau

LOCATE 20, 27
endsum = zwsum2 + MWSt
betrag = endsum
GOSUB format
PRINT ausg$

SLEEP 10

RETURN

'*****************************> F O R M A T I E R U N G <************************

format:

betrag$ = STR$(betrag)

kommapos = INSTR(betrag$, ".")

IF kommapos > 0 THEN

IF (LEN(betrag$) - kommapos) = 1 THEN
betrag$ = betrag$ + "0"
betrag = VAL(betrag$)
END IF
END IF

IF kommapos > 0 THEN

nk$ = RIGHT$(betrag$, 2)
vk$ = RIGHT$(betrag$, 6)
vk$ = LEFT$(vk$, 3)

IF LEN(betrag$) > 7 THEN
vts$ = LEFT$(betrag$, (LEN(betrag$) - 6))
ausg$ = vts$ + "." + vk$ + "," + nk$

ELSE

ausg$ = vk$ + "," + nk$
END IF

IF kommapos > 0 AND LEN(betrag$) >= 9 AND betrag > 99999.99 THEN
nk$ = "": vk$ = "": vts$ = ""
nk$ = RIGHT$(betrag$, 2)
vk$ = RIGHT$(betrag$, 6)
vk$ = LEFT$(vk$, 3)
vts$ = LEFT$(betrag$, (LEN(betrag$) - 6))
ausg$ = vts$ + "." + vk$ + "," + nk$

END IF

END IF


RETURN

'*****************************> S P E I C H E R N <************************

speichern:

leer$ = SPACE$(12)

menge$ = STR$(menge)
menge$ = menge$ + leer$
menge$ = LEFT$(menge$, 3)

epreis$ = STR$(epreis)
epreis$ = epreis$ + leer$
epreis$ = LEFT$(epreis$, 8)

gpreis$ = STR$(gpreis)
gpreis$ = gpreis$ + leer$
gpreis$ = LEFT$(gpreis$, 12)


rabbetrag$ = STR$(rabbetrag)
rabbetrag$ = rabbetrag$ + leer$
rabbetrag$ = LEFT$(rabbetrag$, 12)

zwsum1$ = STR$(zwsum1)
zwsum1$ = zwsum1$ + leer$
zwsum1$ = LEFT$(zwsum1$, 12)

skontobetrag$ = STR$(skontobetrag)
skontobetrag$ = skontobetrag$ + leer$
skontobetrag$ = LEFT$(skontobetrag$, 10)


zwsum2$ = STR$(zwsum2)
zwsum2$ = zwsum2$ + leer$
zwsum2$ = LEFT$(zwsum2$, 12)

MWSt$ = STR$(MWSt)
MWSt$ = MWSt$ + leer$
MWSt$ = LEFT$(MWSt$, 12)

endbetrag$ = STR$(endbetrag)
endbetrag$ = endbetrag$ + leer$
endbetrag$ = LEFT$(endbetrag$, 12)


record$ = menge$ + epreis$ + gpreis$ + rabbetrag$ + zwsum1$ + skontobetrag$ + szwum2$ + MWSt$ + endbetrag$

OPEN "C:\ksv3_17.dat" FOR APPEND AS #1
PRINT #1, record$
CLOSE #1

RETURN




'*****************************> L A D E N <********************************

laden:

OPEN "C:\ksv3_17.dat" FOR INPUT AS #1

WHILE NOT EOF(1)
LINE INPUT #1, satz$
amenge$ = LEFT$(satz$, 3)
aepreis$ = MID$(satz$, 4, 8)
agpreis$ = MID$(satz$, 12, 12)
rabbetrag$ = MID$(satz$, 24, 12)
azwsum1$ = MID$(satz$, 36, 12)
askonto$ = MID$(satz$, 48, 10)
azwsum2$ = MID$(satz$, 58, 12)
amwst$ = MID$(satz$, 70, 12)
arbetrag$ = MID$(satz$, 82, 12)

smenge = smenge + VAL(amenge$)
sepreis = ssepreis + VAL(aepreis$)
sgpreis = sgpreis + VAL(agpreis$)
srabatt = srabatt + VAL(arabatt$)
szwsum1 = szwsum1 + VAL(azwsum1$)
sskonto = sskonto + VAL(askonto$)
szwsum2 = szwsum2 + VAL(azwsum2$)
smwst = smwst + VAL(amwst$)
srbetrag = srbetrag + VAL(arbetrag$)

WEND

CLOSE #1

LOCATE 4, 35
betrag = menge
GOSUB format

LOCATE 5, 33
betrag = epreis
GOSUB format

LOCATE 8, 27
betrag = gpreis
GOSUB format

LOCATE 9, 1
betrag = rabatt
GOSUB format

LOCATE 11, 27
betrag = zwsum1
GOSUB format

LOCATE 13, 2
betrag = skonto
GOSUB format

LOCATE 15, 27
betrag = zwsum2
GOSUB format

LOCATE 17, 1
betrag = MWSt
GOSUB format


LOCATE 20, 27
betrag = endsum
GOSUB format


RETURN


Editiert durch Moderator: Code-Tags hinzugefügt. (Sebastian)
_________________
so einfach wie möglich, so kompliziert wie notwendig
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
Michael Frey



Anmeldungsdatum: 18.12.2004
Beiträge: 2577
Wohnort: Schweiz

BeitragVerfasst am: 07.10.2006, 17:03    Titel: Antworten mit Zitat

Kannst du deinen Quellcode mit
[code][/code]
einklammern?

Dann sieht der Code im Forum Übersichtlicher aus.
_________________
http://de.wikibooks.org/wiki/FreeBasic Jede Hilfe für dieses Buch ist Willkommen!
http://de.wikibooks.org/wiki/FreeBasic:_FAQ FAQ zu Freebasic (im Aufbau, hilfe Willkommen)
Neu mit Syntax Highlight
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
mlb



Anmeldungsdatum: 20.08.2006
Beiträge: 7

BeitragVerfasst am: 14.10.2006, 11:55    Titel: Antworten mit Zitat

schon passiert zwinkern
durch einen Moderator *G*
_________________
so einfach wie möglich, so kompliziert wie notwendig
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
Mao



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

BeitragVerfasst am: 14.10.2006, 12:04    Titel: Antworten mit Zitat

Äh...also, so leid es mir auch tut, aber:
ich glaub nicht, dass sich jemand diesen Spaghetti-Code anschaut. zwinkern
Mein Vorschlag deshalb: schreibe das Programm (soo groß isses ja nicht) nochmal (strukturiert!) neu, benutze lieber Sub's und Functions, statt GoTo oder GoSub. lächeln
Dann: Code-Einrückungen. Die machen das Ganze überschaubarer.

Für alle diese Themen siehe: QB-MonsterFAQ. lächeln
_________________
Eine handvoll Glück reicht nie für zwei.
--
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 -> Spezielle Fragen 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