Rechnungsfehler
-
Hi zusammen!
In der Variable "FIF" steht ein falscher Wert.
FILE *FFileD; FILE *FFileE; FILE *FFileF; int FID=0; int FIE=0; int FIF=0; int FIG=0; ... while((FID = fgetc(FFileD))!=EOF) { for(FIF=0;FIF<=9;++FIF) { FIE = fgetc(FFileE); if(FIE==13) { FID=FID - FIF; if(FID<0) { FID = FID + SHIFT; } fprintf(FFileF,"%i",FID); FIE=0; FIF=0; break; } if(FIE>47 && FIE<58) { printf("\n%i", FIE); FIE = FIE - 48; FIF=FIF*10; FIF=FIF + FIE; printf("\n%i", FIF); } } /* for(FIF=0;FIF<=9;++FIF) */ } /* while((FID = fgetc(FFileD))!=EOF) */
Beschreibung:
Der Zahlenwert der Variable FID wurde um einen beliebigen Wert verschoben. Dieser wird aus der zweiten Datei gelesen (je Zeile eine Zahl mit der Verschiebung) und zurück verschoben. Leider funktioniert das folgende Prinzip nicht:
Wenn Zahl (0 - 9) -> Variable * 10 + Zahl -> bis neue Zeile beginnt -> verschiebung der anderen Zahl
Wo liegt der Fehler in der Berechnung?
Danke
-
Was für eine Ausgabe erwartest du und was für eine bekommst du?
-
oenone schrieb:
Was für eine Ausgabe erwartest du und was für eine bekommst du?
Das ist die Datei aus der das Password gelesen wird:
164 247 0 14 215 78 101 226 149 172
Ich bekomme folgende Ausgabe:
48 1 54 26 52 4 50 12 52 4 55 57 48 10 49 11 52 4 50 12
-
Und wie meinst du sollte die Ausgabe korrekt aussehen?
-
oenone schrieb:
Und wie meinst du sollte die Ausgabe korrekt aussehen?
Z.B. müsste die 26 eine 16 sein...
-
Nimm den Debugger!