Problem bei struct array mit Integer-Werten
-
Habe das Problem, dass wenn ich die Eingabe abgschlossen habe und diese dann dann wieder ausgeben lassen möchte, zeigt er mir folgende Werte an:
Tag:4210800
Monat4210920
Jahr:4211040
etc.
Warum? Habe ich einen Fehler mit der Initialisierung der Datentypen gemacht?Danke im voraus...
-
beim rübagucken fällt mir auf:
case 1 : Eingabe(x++,daten);
break;case 3 : Ausgabe(daten,x);
bei der eingabe ist x z.b. 0 und bei der ausgabe haste x = 1.
ausgabe aller daten sollte mit 0 beginnen.
alle angaben ohne gewehr, da nur flux drübaa geguggt!
mfg,
d.g.
-
nein, das ist nicht der Fehler, ich habe jetzt in beiden Funktionen als Übergabewert nur das "x" stehen und dann habe ich es in der Eingabe-Funktion erhöht. Kommt aber immer noch die gleichen komischen Zahlen heraus.
Hat jemand sonst noch ne Idee?
-
ja, ichi hab ne idee: geh mit nem debbuger durch und achte auf die stelle, wo auf einmal gammel drin steht!
-
gammel steht von vornherein drin, wenn ich mich nicht verguckt habe, hast du das strukturarray nicht 0 initialisiert!
also erstmal alles schön memsetten!
-
Das Strukturarray ist im static storage (also "global") und daher schon genullt (eine Garantie des static storage).
Das Problem ist vielmehr, dass die einzelnen Member der Struktur jedesmal Arrays sind, sie im Code aber wie stinknormale Integer behandelt werden. Das gibt spätestens beim Ausgeben Grütze. Dass der Compiler da aber nicht Kraut und Rüben meckert wundert mich aber dochAlso einfachen Fix mal probieren: Alle [MAX] in der Struktur weglöschen, so dass das einfach ints sind.
-
Danke, das war der Fehler...ist ja auch logisch!!! Da hab ich den Wald vor lauter Bäumen nicht gesehen