the_real_at_m
Neues Mitglied
Mooin,
Ich bin mal wieder da und habe eine Frage, weil ich momentan an der Aufgabe verzweifle und nicht für jeden Kleinkram meinen Lehrer fragen möchte.
WIr haben momentan in Anwendungsentwicklung ein Projekt was mit Fragen & Antworten arbeitet und ich habe momentan soetwas: (Wird aus einer datei eingelesen)
Fragennr|Frage|Aw1|Aw2|Aw3|Aw4|Aw5(Die richtige Antwort)
Nun ist das Problem, die einzelnen Sachen ( |ist hier der Trenn-faktor, also delimiter) sollen als einzelne Variablen abgespeichert werden damit ich diese einzeln weiterverwenden kann.
Fragennr = question_nr ; frage = question; aw1= answer1 [...] aw4 = answer4, aw5 = rightanswer;
Momentan funktioniert das Teilen schon mit diesem code:
Ich hatte jetzt gehofft dass ich am Anfang eine Zahl (stringteilung) angeben kann, die praktisch festhält wie oft die whileschleife schon durchgelaufen ist, und mithilfe dieser dann die anzahl auslesen und den pointer in die jeweiligen variablen zu schreiben..
Vor dem abschließenden } folgendes einbauen:
Nur das Problem ist da er sagt mir immer ich vergleiche einen pointer und einen Integer miteinander :/
[Warning] comparison between pointer and integer [enabled by default]
Wo liegt mein Problem? :/
Ich bin mal wieder da und habe eine Frage, weil ich momentan an der Aufgabe verzweifle und nicht für jeden Kleinkram meinen Lehrer fragen möchte.
WIr haben momentan in Anwendungsentwicklung ein Projekt was mit Fragen & Antworten arbeitet und ich habe momentan soetwas: (Wird aus einer datei eingelesen)
Fragennr|Frage|Aw1|Aw2|Aw3|Aw4|Aw5(Die richtige Antwort)
Nun ist das Problem, die einzelnen Sachen ( |ist hier der Trenn-faktor, also delimiter) sollen als einzelne Variablen abgespeichert werden damit ich diese einzeln weiterverwenden kann.
Fragennr = question_nr ; frage = question; aw1= answer1 [...] aw4 = answer4, aw5 = rightanswer;
Momentan funktioniert das Teilen schon mit diesem code:
Code:
char eingelesen[] ="1|frage|falsch1|falsch2|falsch3|falsch4|richtig";
char delimiter[] = "|";
char *ptr;
// Initialisieren und ersten Abschnitt erstellen
ptr = strtok(eingelesen, delimiter);
while(ptr != NULL) {
printf("Abschnitt gefunden: %s\n", ptr);
// Nächsten Abschnitt erstellen
ptr = strtok(NULL, delimiter);
}
Ich hatte jetzt gehofft dass ich am Anfang eine Zahl (stringteilung) angeben kann, die praktisch festhält wie oft die whileschleife schon durchgelaufen ist, und mithilfe dieser dann die anzahl auslesen und den pointer in die jeweiligen variablen zu schreiben..
Vor dem abschließenden } folgendes einbauen:
Code:
if (stringteilung == "1"){question_nr = ptr;}
else if (stringteilung == "2"){question = ptr;}
else if (stringteilung == "3"){answer1 = ptr;}
else if (stringteilung == "4"){answer2 = ptr;}
else if (stringteilung == "5"){answer3 = ptr;}
else if (stringteilung == "6"){answer4 = ptr;}
else if (stringteilung == "7"){rightanswer = ptr;}
stringteilung++;
[Warning] comparison between pointer and integer [enabled by default]
Wo liegt mein Problem? :/