Kunden zählen
-
Hallo,
ich möchte in einer Anwendung (CTypedPtrList<CObList)täglich die Kunden zählen. Mit "Kunden++" klappt das auf der ersten Seite der Liste. Aber ab der 2. Seite werden die Kunden der 1. Seite mitgezählt, was nicht sein sollte, da jede Seite für einen neuen Tag steht.
Wie kann ich den Fehler beheben?
Danke und Grüsse
Franz
-
meine Zauberkugel sagt mir: "Ohne Quellcode kann man das nicht erraten."
-
CTypedPtrList hat keine "Seiten". Du musst schon ein wenig mehr von deinem Programm verraten.
Falls du nicht gerade die Serialisierungsfunktionen brauchst, rate ich dir übrigens, statt der MFC-Container die der Standardbibliothek zu benutzen. Ist im Allgemeinen weniger Gehampel.
-
Hallo Machine,
hier ein Auszug aus dem Code
if(m_nSeite == 1) { if(m_dBarzahlungnormal > 0) { dNorm01 = m_dBarzahlungnormal; dN01 = dN01 + dNorm01; m_dBarnormalgesamt = dN01; m_nKunden1++; double dVar1; dVar1 = dNorm01 / m_dTagespreisbenzin; m_dAbgabenormal = floor(dVar1 * 100.0) / 100.0; dNAB01 = dNAB01 + m_dAbgabenormal; m_dBarzahlungnormal = 0; } } if(m_nSeite == 2) { if(m_dBarzahlungnormal > 0) { dNorm02 = m_dBarzahlungnormal; dN02 = dN02 + dNorm02; m_dBarnormalgesamt = dN02; m_nKunden1++; double dVar1; dVar1 = dNorm02 / m_dTagespreisbenzin; m_dAbgabenormal = floor(dVar1 * 100.0) / 100.0; dNAB02 = dNAB02 + m_dAbgabenormal; m_dBarzahlungnormal = 0; } }Ich weiss nicht, ob Dir das weiterhilft. Auf jeden Fall werden die Kunden der 1. Seite auf der 2. Seite mitgezählt.
Grüsse
Franz
-
Franz Hembera schrieb:
Auf jeden Fall werden die Kunden der 1. Seite auf der 2. Seite mitgezählt.
Na dann setz deinen Zähler bei einem Seitenwechsel zurück auf 0.
-
Da habe ich mich wahrscheinlich nicht richtig ausgedrückt.
Ich kann mit "Home, Prev, Next, End" in der Liste blättern und mit "Ins" eine neue Seite eingeben.Am Ende des ersten Tages wird die Seite mit "Ins" eingegeben und abgespeichert. Am nächsten Tag wird die Datei geöffnet, eine neue Seite (z.B. 2) eingegeben und am Ende des Tages wieder mit "Ins" eingegeben und abgespeichert. (Siehe Inside Visual C++ 6.0, Beispielprogramm EX16B).
Grüsse
Franz
-
Klar werden sie mitgezählt.
m_nKunden1++;machts Du in Seite 1 und 2.
Ich glaube das Du dir erstmal die Grundlagen der Programmierung bzw. Mathematik aneignen musst.
Insbesondere aber auch Deine Fragestellung verbessern.Wenn ich Deine Frage auf mich übertragen würde:
"Warum bekomme ich keine Mitteilung wenn mein Gerät ausschaltet?"
Damit weiß sicher keiner etwas anzufangen.
-
Du lieferst nicht genug Informationen, dass man dir konkret helfen könnte. Es ist z.B. komplett unklar, was für eine "Liste" das ist, und in welchem Kontext der gezeigte Code steht.
Es bleibt dabei: Setz den Zähler bei einem Seitenwechsel zurück, oder zähl eben nur dann hoch, wenn in deinem Code bearbeitete Kunde auf der Seite ist, die gerade gezählt werden soll.