Problem mit Eingabe
-
Hallo, ich schreib grad selber an so einer
Telefonliste. Wenn ich nun eingeben will ignoriert er mir völlig den Namen
oder setzt Name&Ort zusammen, wo hab ich den Fehler?#include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct Telefonbuch{ char name[50]; char ort [50]; char telefonnummer[50]; } Schwul; void Erstelle_Eintrag(){ Schwul NEU; FILE *datei; printf("Geben Sie den Namen ein:"); fgets(NEU.name,50,stdin); printf("Geben Sie den Ort ein:"); fgets(NEU.ort,50,stdin); printf("Geben Sie die Telefonnummer ein:"); fgets(NEU.telefonnummer,50,stdin); datei = fopen("C:\\Users\\Timo\\Desktop\\New folder\\test.txt", "a"); fprintf(datei,"%s %s %s", NEU.name, NEU.ort, NEU.telefonnummer); } void Ausgeben_Eintrag(){ FILE *datei; datei = fopen("C:\\Users\\Timo\\Desktop\\New folder\\test.txt","r"); char zeichen; while((zeichen = getc(datei)) != EOF){ printf("%c",zeichen); } fclose (datei); } int main(){ char auswahl; system("cls"); printf("Ihre Auswahl:\n"); printf("E - neuen Eintrag erstellen\n"); printf("A - Eintrag ausgeben\n"); printf("Z - Programm beenden\n"); scanf("%s", &auswahl); switch(auswahl){ case 'e': case 'E': Erstelle_Eintrag(); break; case 'a': case 'A': Ausgeben_Eintrag(); break; case 'z': case 'Z': return 0; break; default: printf("Ungueltiger Eintrag!\n"); break; } system("Pause"); return 0; }
-
Hallo,
mach den Eingabepuffer nach scanf leer:int cb() { // clear buffer int c, i = 0; while ( ( c = getchar() ) != '\n' && c != EOF ) { i++; } // Die Anzahl der aus dem Eingabepuffer eingelesenen Zeichen zählen, außer dem '\n'. return i; }
Gruß,
B.B.