N'abend,
wir haben im Infounterricht die Aufgabe bekommen eine Mitarbeiterkartei zu erstellen (um struct zu üben) mit der Zusatzmöglichkeit diese in Form einer Textdatei zu speichern/auslesen/verändern.
Um einen Eintrag zu löschen setzte ich einen... ich nenne ihn: Filepointer mit rewind zu beginn auf 0, dann soll mit fscanf der Eintrag ausgelesen werden und überprüft werden, ob dieser dem zu beginn eingegebenen Namen, der gelöscht werden soll, entspricht:
Jedoch erfolgt eine Endlosschleife bei der die Ausgabe "Vorname: 0" ist.
Wie kommt es dazu und wie kann ich es lösen ?
So sieht das struct aus:
0wnZ
wir haben im Infounterricht die Aufgabe bekommen eine Mitarbeiterkartei zu erstellen (um struct zu üben) mit der Zusatzmöglichkeit diese in Form einer Textdatei zu speichern/auslesen/verändern.
Um einen Eintrag zu löschen setzte ich einen... ich nenne ihn: Filepointer mit rewind zu beginn auf 0, dann soll mit fscanf der Eintrag ausgelesen werden und überprüft werden, ob dieser dem zu beginn eingegebenen Namen, der gelöscht werden soll, entspricht:
Code:
[...]int Auswahl = 0;
struct Mitarbeiter Neu;
rewind(datei); // Filepointer an den Anfang setztn von wo aus gesucht wir
printf("Wer soll geloescht werden?");
scanf("%s", &Neu.Vorname);
while (Auswahl != 1)
{
char Vorname[15];
fscanf(datei, "%s", &Vorname);
printf("Vorname: %s", Vorname);
if (Vorname == Neu.Vorname)
{
//Den Rest auslesen
Auswahl = 1; }
else
{
fseek(datei, 1, SEEK_CUR);
}
}//While Ende[...]
Wie kommt es dazu und wie kann ich es lösen ?
So sieht das struct aus:
Code:
struct Mitarbeiter
{
char Vorname[15];
char Nachname[25];
char Strasse[25];
char Strassennummer[3];
char Postleitzahl[4];
char Gehalt[15];
char Alter[2];
char Verheiratet; // ja = 1, nein = 2
char Anz_Kinder[2];
};