Hey
ich muss für mein Studium C lernen und komm bei einer Aufgabe nicht weiter. Ich soll aus einer vorgegebenen Datei Namen einlesen und in einem Array speichern. Das einlesen der Datei über
FILE *datei;
datei = fopen("vornamen-1.txt", "r");
bekomm ich hin, allerdings sollen diese Daten irgendwie in einem Array gespeichert werden, genauso wie eine Maximalanzahl. Das ganze soll auserdem in einer struct Funktion passieren.
Hier die genaue Aufgabenstellung:
"Einlesen der Namen aus der Datei
Deklarieren Sie zunächst eine Struktur struct NameCounter zur Speicherung
- der Vornamen der Studierenden als Array von Buchstaben als erstem Element der Struktur und
- deren absoluten Auftrittshäufigkeiten als Integer-Wert als zweitem Element der Struktur.
Wählen Sie dabei für die beiden Strukturelemente geeignete und gut verständliche Bezeichnungen! Sie können bei der Dimensionierung des Arrays in der Struktur davon ausgehen, dass kein Name länger als 1500 Zeichen sein wird.
Wichtig: Sollten Sie bei Ihrem Compiler bzw. Betriebssystem mit 1500 Zeichen pro Name an Grenzen stoßen, verwenden Sie bitte 500 als maximale Länge der Namen.
Schreiben Sie nun unter Verwendung dieses neu definierten Strukturtyps struct NameCounter eine Funktion readNameDB, welche die Folge von Vornamen aus einer Datei einliest, deren Dateiname ihr als Parameter übergeben wird.
Die eingelesenen Daten sollen dabei in einem Array des Basistyps struct NameCounter abgelegt werden. Das Array wie auch die Maximalzahl der darin vorhandenen Einträge werden dabei ebenfalls als Parameter an die Funktion übergeben.
Die Funktion hat damit also drei Parameter:
• Name der Datei
• Array für die eingelesenen Daten und
• Maximallänge des Arrays.
Beim Einlesevorgang sollen mehrfach auftretende identische Namen nur einmal abgespeichert werden. Allerdings sollen die Zähler in den struct NameCounter Elementen so aktualisiert werden, dass die Häufigkeit des Auftretens der Namen korrekt darin gespeichert ist.
Gehen Sie davon aus, dass maximal 500 verschiedene Namen eingelesen werden.
Als Rückgabewert soll die Funktion die Anzahl der belegten Einträge im Array zurückliefern.
Lesen Sie die Daten aus der vorgegebenen Datei vornamen.txt ein und prüfen Sie das Ergebnis stichprobenweise indem Sie die eingelesenen Daten mit dem Debugger untersuchen."
Wär toll wenn mir jemand helfen könnte!!!
ich muss für mein Studium C lernen und komm bei einer Aufgabe nicht weiter. Ich soll aus einer vorgegebenen Datei Namen einlesen und in einem Array speichern. Das einlesen der Datei über
FILE *datei;
datei = fopen("vornamen-1.txt", "r");
bekomm ich hin, allerdings sollen diese Daten irgendwie in einem Array gespeichert werden, genauso wie eine Maximalanzahl. Das ganze soll auserdem in einer struct Funktion passieren.
Hier die genaue Aufgabenstellung:
"Einlesen der Namen aus der Datei
Deklarieren Sie zunächst eine Struktur struct NameCounter zur Speicherung
- der Vornamen der Studierenden als Array von Buchstaben als erstem Element der Struktur und
- deren absoluten Auftrittshäufigkeiten als Integer-Wert als zweitem Element der Struktur.
Wählen Sie dabei für die beiden Strukturelemente geeignete und gut verständliche Bezeichnungen! Sie können bei der Dimensionierung des Arrays in der Struktur davon ausgehen, dass kein Name länger als 1500 Zeichen sein wird.
Wichtig: Sollten Sie bei Ihrem Compiler bzw. Betriebssystem mit 1500 Zeichen pro Name an Grenzen stoßen, verwenden Sie bitte 500 als maximale Länge der Namen.
Schreiben Sie nun unter Verwendung dieses neu definierten Strukturtyps struct NameCounter eine Funktion readNameDB, welche die Folge von Vornamen aus einer Datei einliest, deren Dateiname ihr als Parameter übergeben wird.
Die eingelesenen Daten sollen dabei in einem Array des Basistyps struct NameCounter abgelegt werden. Das Array wie auch die Maximalzahl der darin vorhandenen Einträge werden dabei ebenfalls als Parameter an die Funktion übergeben.
Die Funktion hat damit also drei Parameter:
• Name der Datei
• Array für die eingelesenen Daten und
• Maximallänge des Arrays.
Beim Einlesevorgang sollen mehrfach auftretende identische Namen nur einmal abgespeichert werden. Allerdings sollen die Zähler in den struct NameCounter Elementen so aktualisiert werden, dass die Häufigkeit des Auftretens der Namen korrekt darin gespeichert ist.
Gehen Sie davon aus, dass maximal 500 verschiedene Namen eingelesen werden.
Als Rückgabewert soll die Funktion die Anzahl der belegten Einträge im Array zurückliefern.
Lesen Sie die Daten aus der vorgegebenen Datei vornamen.txt ein und prüfen Sie das Ergebnis stichprobenweise indem Sie die eingelesenen Daten mit dem Debugger untersuchen."
Wär toll wenn mir jemand helfen könnte!!!