title image


Smiley Re: zeilen auslesen und löschen in einer txt
Klingt alles völlig logisch, trotzdem nochmal die Erklärung von mir um zu sehen ob ichs verstanden hab:





void CKunde::gibMichAus()

{

cout << KundenNr <<" "<
}



Diese Funktion gibt nur die Kundennummer, Vorname, Nachname aus den Variablen aus, immer nur ein Satz



void liesKunde(vector &kunde) {



Funktion liesKunde in dem Vektor ist die Klasse CKunde angelegt und die Kunden werden da hinterlegt



char vorname[30],nachname[30],nummerString[30];

ifstream datei("kunde.txt");

while(!datei.eof())



Die Datei kunde.txt wird geöffnet



{

// eine Zeile lesen

datei >> nummerString;

datei >> vorname;

datei >> nachname;

datei.ignore(INT_MAX, '\n'); // Zeilenende-Zeichen ignorieren

if (datei.eof()) break;



???



int nummer = atoi(nummerString);



nummer wird mit nummerString belegt(erster Wert aus der Datei)

WAS IST atoi????



// Personal erstellen und in vector legen:

CKunde *kund = new CKunde(vorname, nachname, nummer);

kunde.push_back(kund);

}



??? Neue Klasse CKunde hat die Variablen Name, Vorname und Nummer; wird zurückgepusht ??? wohin???



datei.close();

}



//****Eine neue Funktion, für die neuen Funktionen



void CKunde::verwaltung()

{

vector kunde; //einen Vektor erstellen

liesKunde(kunde); //Personal lesen



// Personal ausgeben:

cout << "Kunde: " << endl;

for (int i=0; i
kunde[i]->gibMichAus();

}



kunde.size=Anzahl der Einträge in der Datei, entsprechend dem Vektor(???)

warum ein ->??? Kunde wird ausgegeben



// Zwei Personen vertauschen, und neu ausgeben

if (kunde.size()>=2) {

CKunde *tmp = kunde[0];

kunde[0] = kunde[1];

kunde[1] = tmp;



kunden werden vertauscht, kann man ausbauen, mit Bubblesort oder ähnlichem



-------------------------------------------------------------------------------



So, nun kommen weitere Fragen :-)

Weiß ich stelle mich dabei an, aber bringt mir nix, enn ich das nicht versteheh und davon überzeugt bin was da steht.



Kann man das ausgeben des Vektor und das Sortieren auch irgenwie trennen? Fur das ausgeben brauche ich meines erachtens ja nur den ersten Teil aber der sortieren Teil baut darauf doch auf oder nicht?

Also das auch einmal habe: gibmirallesaus() und sortiermirdenkrams()

Dadurch würde sich meine Funktion ausgeben() ja erübrigen.



Also ich weiß nicht genau aber ich habe es so nicht erkannt. Aber die Einträge verändern oder löschen kann ich nicht bzw wird in dem Programm nicht gemacht oder?



wobei wird das damit nicht zurückgeschrieben in die datei?

kunde.push_back(kund);



Dann könnte man ja zum Beispiel, eine Personal- bzw. Kundennummer eingeben, es wird überprüft ob die enthalten ist, ist sie enthalten wird der gesamte Eintrag angezeigt, was zu der nummer gehört. dann könnte man ja auswählen ob der eintrag gelöscht werden soll oder nicht. bei eingabe ja wird gelöscht bei nein programm beendet.





void löschen()

{



????????????



}



void exit()

{

exit(-1);

}



void CKunde::löschenundsuchen()

{

char kundennummer;

char antwort;

cin>>kundennummer

if (kundennummer==einem Eintrag aus der datei)

cout<
cout<<"Soll dieser Eintrag gelöscht werden? Y/N ";

cin>>antwort;

if(antwort=='Y'||auswahl=='y') löschen();

if(antwort=='N'||auswahl=='n') exit();

else

cout<<"Diese Nummer wurde bisher nicht vergeben";



}







So würde ich mir das in etwa vorstellen...





geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: