Structs - Problem
-
Folgende Aufgabe ist zu lösen:
Schreiben Sie nun ein anderes Programm, das die Daten von bis zu 10 Nutzern einliest und in einem entsprechenden Array speichert. Die Eingabe soll beendet werden, sobald für den Accountstatus -1 eingegeben wurde. Am Ende soll das Programm zur Kontrolle alle eingegebenen Benutzeraccounts auf dem Bildschirm ausgeben.#include <stdio.h> struct{ char name[30]; char key[20]; int status; }kunde[10]; int main(){ int i; for(i=0; i<10;i++){ printf("Geben Sie ihren Nutzername ein: \n"); scanf("%c",&kunde[i].name); printf("Geben Sie ihr Passwort ein: \n"); scanf("%c",&kunde[i].key); printf("Geben Sie den Accountstatus (1 oder 0) ein. '-1' beendet Lesevorgang: \n"); scanf("%i",&kunde[i].status); } getchar(); getchar(); return 0; }
Die Ausgabe habe ich noch nicht eingefügt. Das Programm scheitert schon beim Einlesen. Irgendwie kriege ich das mit den structs nicht gebacken.
-
Krachi schrieb:
Das Programm scheitert schon beim Einlesen. Irgendwie kriege ich das mit den structs nicht gebacken.
Nein, das Problem liegt bei der Eingabe. Guck dir nochmal an, wie scanf zu benutzen ist.
-
Meinst du, das ich den "&"-Operator bei Strings weglassen soll?
-
Wofür ist %c da?
-
DirkB schrieb:
Wofür ist %c da?
Keine Ahnung.
Eigentlich für chars, aber hier ist ja nach Strings gefragt.
Ich habs mal durch %s ersetzt.
-
Okay, habs rausbekommen.
-
Schön!
Allerdings ist es blöd, erst ein paar Namen einzugeben, die man dann gar nicht haben will.
-
Wie Dirk schon erwähnt hat, fehlt in deinem Code die Abbruchbedingung. Bzw. der Teil der Aufgabe
Die Eingabe soll beendet werden, sobald für den Accountstatus -1 eingegeben wurde
fehlt in deinem Programm. Du liest immer 10 Personen ein.