suche lösung zu speichern von daten in textdateien

immnn

Mitglied
hallo,

folgendes problem:
es soll eine arztpraxissoftware werden. es wird eine klasse erstellt für die patienten. so müssen die patientendaten aber auch in textdateien gespeichert werden.

folgendes hab ich mir gedacht:
ich deklariere vor dem programmstart mehrere patienten, lese dann die daten aus den textdateien und weise die daten den dann einzeln den klassen zu.
klingt mir aber viel zu umständlich, hat jemad eine bessere lösung parat? außerdem kommt es hierbei zu dem problem, das ich unnötig speicher deklariere, der evt erst gar nich gebraucht wird.
 
ich denke mal in diesem Fall solltest du dich mal mit Datenbankprogrammierung
beschäftigen. DAS kommt dann natürlich darauf in welcher Entwicklungsumgebung das werden soll usw. (Außerdem sollte ich anmerken das ich keine Ahnung von Datenbaken habe ;) , aber das sollte dneke ich mal der richtige Ansatz sein )
 
hallo,

hehe, ne soll den kack mit textdateien lösen. werd aber nun wohl so arbeiten, das ich für jeden patienten eine textdatei erstelle und beim programmstart ein patient ausgewählt werden muss, dieser patient wird schließlich in den speicher geladen und sobald der arzt die patienten wechseln will, wird der speicher freigegeben und der nächste patient in den speicher geladen.
 
moin


Du packst in die Klasse eine Methode, die dafür da ist die Werte in der Datei zu speichern. Einfach:
Code:
ofstream datei("patientX.txt");

datei << m_Name << endl;
datei << m_VorName << endl;
datei << m_Strasse << endl;
datei << m_Alter << endl;
datei << m_Tel << endl;
Du gibst leider nur wenig Informationen. Man könnte jetzt jedem Patienten ne eigene Datei geben, oder alle in eine.......


mfg
umbrasaxum
 
hallo,

ja, so hat ich mir das auch schon gedacht. werd dann aber wohl für jeden patienten eine text datei anlegen und zusätzlich noch eine datei in der jeder patient aufgelistet wird, womit der benutzer wählen kann.
 
Ich würde das so realisieren:

Die Klasse Patient erstellen mit allen Daten und Methoden die du brauchst. Dann noch eine weitere Methode die einen ostream übergeben bekommt und dann alle nötigen Daten in den Stream "schiebt".

In etwa so (das ist kein richtiger code):
Code:
bool bumpdata(ostream& out)
{
    // gültigkeitsprüfung für den stream
    // ...
    // ausgabe   
    out << this->name << ';' << this->telefon << ';' << this->krankenkasse << char(0);
}

Dann noch ein spezieller Konstruktor der nun einen istream bekommt und die Daten (bis zum terminierenden 0) auswertet.

Ist nur eine Idee, es lässt sich auf viele verschiedene Arten lösen. Die wichtigste Frage ist wohl in welcher codierten Form man die Daten speichern will. (Ich wähle hier ganz einfach eine Trennung der Variablen per Komma und Trennung der Patienten per \0)
 
Ansonsten, falls du es darfst, würde ich dir auch XML ans Herz legen. Damit könntest du wensetlich besser größere Datenmengen verwalten. So eine nahezu strukturlose Text-Datei tut sich da eher böse :)
 
KristophS hat gesagt.:
Ansonsten, falls du es darfst, würde ich dir auch XML ans Herz legen. Damit könntest du wensetlich besser größere Datenmengen verwalten. So eine nahezu strukturlose Text-Datei tut sich da eher böse :)

Ist wiederrum eine sehr gute Idee wenns um nen "richtiges" Projekt geht. Ich glaube jedoch dass sie es zu Übungszwecken welber machen müssen, und da wäre ein XML Parser recht viel Arbeit.

Fertige Klassen gibts bei Google , falls du schon so was vorgefertigtes verwenden darfst.
 
hallo,

hm, mit xml könnt ihc mir mal anschauen. bin nun soweit, das daten in die txt file geschrieben werden, jeodh muss ich die ja noch auslesen. da hab ich aber das problem das ich die daten als character speicher, nun muss ich die in integer oder strings umwandeln. wie mach ich das am besten?
 
Die gespeicherten Daten, sind doch Formatunabhängig! Willst du sie als String, Int, Float oder sonstwas auslesen, tu' es einfach.

Eine Umwandlung kannst du übrigens ins String-Format mit einer einfachen Zuweisung erzwingen:
Code:
string str = was_auch_immer;
 
Zurück