CArray oder CList
-
Hallo!
Ich muß ein Programm schreiben, dass Studenten bei einem Praktikumsversuch unterstützt. Es sollen mehrere Messungen gemacht werden.
Ich habe mir eine Klasse CMessg für eine Messung erstellt. Nun möchte ich ja auch mehrere Messungen machen können. Wie verwalte ich die Messungen am besten, mit CArray oder mit CList?
Natürlich muß man auch mal eine Messung zwischendurch löschen können und ich weiß zu Beginn auch noch nicht wie viele Messungen gemacht werden sollen.
Kann mir bitte jmd. mit Erfahrung sagen, was besser ist und hat vielleicht einen guten Link zu einer Erklärung (in "Inside Visual C++" steht dazu fast nichts).Vielen Dank!
Strolli
-
Servus,
ich weiss zwar nicht was du alles machen willst aber du könntest doch einfach ein CArray benutzen. Die Größe von dem Array wird dynamisch bestimmt von daher brauchst du schonmal keine feste Größe vorher zu wissen. In der MSDN findest du aber sehr wohl etwas über den Array aber ich kann es ja mal kurz erklären wie man einen baut:
CArray <double, double> arrMessDaten; //Dekleration, gehe mal von Kommawerten aus double dMessDaten = 1.10; arrMessDaten.Add(dMessDaten);jetzt müsstest du dir nur noch merken wann und wo ein Messdatum (einzahl von Daten *g* glaube ich mal) merken.
Dann kannst du mit dem [] operator die Felder bzw. die Inhalte ansprechen:
double dWert = arrMessDaten[0]; arrMessDaten.RemoveAll(); //Alles löschen arrMessDaten.RemoveAt( [POSITION] ); //Element löschenoder du könntest dir ja auch noch die Zeit merken wann gemessen wurde oder ein anderes Kriterium womit man einen Messwert erkennen kann.
z.B.
typedef struct MessDaten_struct { int iSec; double dMesswert; }MESSDATEN_STRUCT; CArray <MessDaten_struct, MessDaten_struct> arrMessDaten; //Dann speichern in Array mit: MESSDATEN_STRUCT MessdatenStruct; MessdatenStruct.iSec = 10; MessdatenStruct.dMesswert = 1.12; arrMessDaten.Add(MessdatenStruct); //Lesen mit: MessdatenStruct = arrMessDaten[0]; double dAlterWert = MessdatenStruct.dMesswert;So einfach ist das

Nähere Infos natürlich in MSDN...
Viel Spass
*winke*
Hellsgore