*VERSION 1* #include #include #include #define MAX 30 #define MAX_LEN 1000 struct index { int idxnmbr; char idxname[MAX]; } inhaltsverzeichnis[100]; void input_idx(int i) { FILE *fp = fopen("database.txt", "a+"); inhaltsverzeichnis[i].idxnmbr++; printf("Bitte geben Sie hier den Namen des Rezepts ein: "); fgets(inhaltsverzeichnis->idxname, MAX, stdin); fprintf(fp, "%d %s", inhaltsverzeichnis->idxnmbr, inhaltsverzeichnis->idxname); fseek(fp, 0L, SEEK_END); } int main(void) { int wahl; do { printf("-1- Neues Rezept eingeben\n"); printf("-2- Beenden\n"); printf("Ihre Auswahl: "); scanf("%d",&wahl); getchar(); switch(wahl) { case 1 : input_idx(0); break; case 2 : printf("Ende\n"); break; default: printf("Falsche Eingabe\n"); } }while(wahl <2); return EXIT_SUCCESS; } *VERSION 2* #include #include #include #define MAX 30 #define MAX_LEN 1000 #define REZEPTANZAHL 100 struct index { int idxnmbr; char idxname[MAX]; } inhaltsverzeichnis[100]; int main(void) { FILE *fp = fopen("database.txt", "a+"); printf("Bitte geben Sie hier den Namen des Rezepts ein: "); fgets(inhaltsverzeichnis->idxname, MAX, stdin); for(inhaltsverzeichnis->idxnmbr = 0; inhaltsverzeichnis->idxnmbr <= REZEPTANZAHL; inhaltsverzeichnis->idxnmbr++) { fprintf(fp, "%d %s", inhaltsverzeichnis->idxnmbr, inhaltsverzeichnis->idxname); } return 0;