Sortier Fuktion in Datenbank
-
Hallo,
ich habe eine kleine Datenbank geschrieben!
nun will ich bei der Ausgabe die Daten sotieren, wie geht das am besten??
mit einem dummy??#include "F:\c++\help.h" struct personendaten { char vn [20]; char nn [20]; char plz[6]; char ort[10]; char str[20]; int nr; int al; }; personendaten person[100]; char name[9]="Vorname:"; char name2[10]="Nachname:"; char name3[7]="Alter:"; char name4[5]="Ort:"; char name5[5]="plz:"; char name6[9]="Strasse:"; char name7[12]="Hausnummer:"; int i,anzahl; int wahl3,wahl4; // Hauptprogramm Datenbank void eingabe() { printf ("Anzahl der zu erfassenden Personen: "); cin >> anzahl; for (i=0;i<anzahl;i++) { printf ("Vorname : "); cin >> person[i].vn; printf ("Nachname : "); cin >> person[i].nn; printf ("Alter : "); cin >> person[i].al; printf ("Strasse: "); cin >> person[i].str; printf ("Hausnummer: "); cin >> person[i].nr; printf ("Ort: "); cin >> person[i].ort; printf ("PLZ : "); cin >> person[i].plz; clear(); } } // Daten Anzeigen void anzeigen() { for (i=0;i<anzahl;++i) { cout <<" Vorname: "<< person[i].vn<<endl; cout <<" Nachname: "<<person[i].nn<<endl; cout <<" Alter: "<<person[i].al<<endl; cout <<" Strasse: "<<person[i].str<<endl; cout <<" Strasse: "<<person[i].nr<<endl; cout <<" Ort: "<<person[i].ort<<endl; cout <<" PLZ: "<<person[i].plz<<endl; warte(); getch(); } } // Speichern void save() { clear(); ofstream out("datei.txt"); for(i=0;i<anzahl;i++) out << name << " " << person[i].vn << " " << name2 << " " << person[i].nn << " " << name3 << " " << person[i].al <<" " <<name6 << " " << person[i].str << " " << name7 << " " << person[i].nr << " "<< name4 << " " << person[i].ort << " " << name5 << " "<< person[i].plz <<endl; cout << " Daten Gespeichert " <<endl; getch(); } // Laden void laden() { clear(); ifstream in("datei.txt"); if(in.is_open()) { string str; while(getline(in, str)) cout << str << endl; } getch(); } void main () { gruss(); warte(); passw(); printf (" ************************************************************************************"); printf ("\n ************************Datenbank****************************************************************"); printf ("\n waehle 1= Daten Eingeben"); printf ("\n\n waehle 2= Daten Laden"); cin >> wahl3; if (wahl3==1) { eingabe(); clear(); printf ("\n waehle 1= Daten Anzeigen"); printf ("\n waehle 2= Daten Daten Speichern"); cin >> wahl4; if (wahl4==1){ anzeigen(); } else { save(); } } else if (wahl3==2) { laden(); } }
-
Das oder sowas ähnliches wurde schon oft gefragt. Such mal danach.
Grundsätzliche vorgehensweise bei den paar datansätzen:
lese datensätze in den speicher
sortiere das array mit einem sortieralgorithmus deiner wahl
schreibe das sortierte array in die dateisofar
-
Wenn ich noch einen kleinen Rat geben darf, wenn du das nächste Mal deinen Code postest, dann hol die überflüssigen Leerzeilen raus und achte ein bischen auf die Einrückung. Das macht den Code viel lesefreundlicher.