Moi,
ich schildere mal meine Aufgabenstellung:
Ich soll eine txt Datei auslesen und diese Werte in ein struct speichern. So schaut die Struktur aus:
Mein struct schaut in dem Fall so aus:
Ich muss also "Peter" in name speichern und "15" in alter. Dazu lese ich die die Datei zeilenweise aus (Reader Funktion) und für jede Zeile wird eine andere funktion (compare Funktion) aufgerufen die für das teilen, interpretieren des Strings verantwortlich ist ("PC Gehäuser" muss ja von "Artikelname:" getrennt werden). In dieser Funktion sollen die Daten auch gleich ins struct gespeichert werden.
Mein Problem:
Ich muss das struct ja in die Reader Funktion deklarieren richtig? Denn wenn ich es in der compare Funktion deklariere, wird es ja in für Zeile überschrieben.
Nun weiß ich nicht genau wie ich das mit dem Übergabeparameter machen soll, das klappt nicht wie ich es möchte. So war mein Ansatz:
Das Zeilenweise auslesen + Funktionsaufruf
Interpreter Funktion
Der Fehler scheint bei dem Funktionsaufruf vom interpreter zu sein, nur weiß ich nicht wie es richtig ist. Ich hoffe ich habe mein Problem verständlich rüberbringen können. Wenn nicht, einfach fragen.
//EDIT
ich schildere mal meine Aufgabenstellung:
Ich soll eine txt Datei auslesen und diese Werte in ein struct speichern. So schaut die Struktur aus:
Artikelnummer:1
ArtikelnameC Gehäuse
Preis pro Artikel:24.98
Stueckzahl:20
Mindestmenge:3
Mein struct schaut in dem Fall so aus:
Code:
struct artikel{
int a_nr; //Artikel Nummer
char a_name; //Artikel Name
float a_price; //Artikel Preis
int a_item; //Anzahl der Artikel
int a_min_item; //Mindestmenge
};
Ich muss also "Peter" in name speichern und "15" in alter. Dazu lese ich die die Datei zeilenweise aus (Reader Funktion) und für jede Zeile wird eine andere funktion (compare Funktion) aufgerufen die für das teilen, interpretieren des Strings verantwortlich ist ("PC Gehäuser" muss ja von "Artikelname:" getrennt werden). In dieser Funktion sollen die Daten auch gleich ins struct gespeichert werden.
Mein Problem:
Ich muss das struct ja in die Reader Funktion deklarieren richtig? Denn wenn ich es in der compare Funktion deklariere, wird es ja in für Zeile überschrieben.
Nun weiß ich nicht genau wie ich das mit dem Übergabeparameter machen soll, das klappt nicht wie ich es möchte. So war mein Ansatz:
Das Zeilenweise auslesen + Funktionsaufruf
Code:
struct artikel *a_list;
for(i = 0; i < lineNum; i++) {
fgets(line[i], 50,file);
compare(line[i], *a_list);
}
Interpreter Funktion
Code:
struct artikel *compare(char line[][50], struct artikel *a_list){
/*hier wird der String verarbeitet und in das struct gespeichert...*/
return a_list; //struct soll zurückgegeben werden
}
Der Fehler scheint bei dem Funktionsaufruf vom interpreter zu sein, nur weiß ich nicht wie es richtig ist. Ich hoffe ich habe mein Problem verständlich rüberbringen können. Wenn nicht, einfach fragen.
//EDIT
Zuletzt bearbeitet: