» fgets()-Funktion wird übersprungen

StringverarbeitungNeuen Thread eröffnenNeue Antwort erstellenExcel-Funktion NORM.S.VERT in c
AutorNachricht
Beobachter 
Anmeldedatum: 04.12.2019
Beiträge: 1
04.12.2019, 18:54
zitieren

Hallo,

ich habe ein Problem mit meinem Code. Und zwar muss ich ein passwortverwaltungsprogramm programmieren. Und zuerst muss der user n für einen neuen Account drücken oder y fürs anmelden. Wenn der User sich registrieren will, wir die Methode Registrieren aufgerufen, in der mithilfe der fgets-funktion der Username eingegeben werden soll. Nun wird diese fgets Funktion aber übersprungen. Kann mir jemand sagen wieso das so ist ? Hier ist auch mein Code.


#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAXUSER 25
#define MAX 20

struct benutzer{
   char benutzername[20];
   char passwort;
   int id;
}user;

char regestrieren(){

    FILE * fp;
    if((fp = fopen("Benutzer.txt","a")) != NULL){
        printf("Benutzername: \n");
        fgets(user.benutzername,20,stdin);
        fprintf(fp,user.benutzername);
        }

    }
  // neuer Nutzer anlegen

int passwort_check(){} // Passwort wird überprüft ob die Kriterien eingehalten werden

int passwort_abgleich(){} // Passwort wird mit den Standardpasswörtern abgeglichen (1 für Treffer und 0 für keinen Treffer zurückgeben)

void file_schreiben(){} // Benutzer wird in das File mit den Benutzern eingetragen

int anmelden(){} // Anmeldung von Nutzer

int main(){

char signin_or_registration;

printf("Fuer Anmelden y und fuer Registrieren n: \n");
signin_or_registration = getchar();

if(signin_or_registration == 'y'){
    anmelden();

}if(signin_or_registration == 'n'){
    regestrieren();

}if(signin_or_registration != 'n' && signin_or_registration != 'y'){
    printf("Falsche Eingabe, bitte nur y wenn anmelden oder n wenn registrieren");

}

}

ich bedanke mich jetzt schonmal für die Hilfe. :)


pn
Trainee 

Name: Mirko
Geschlecht:
Anmeldedatum: 06.12.2019
Beiträge: 46
Wohnort: Weingarten
06.12.2019, 12:44
zitieren

Hi Tyroun,

wenn ich das richtig sehe, dann ist wohl neben dem einen oder anderen das Hauptproblem, dass fgets den Zeilenumbruch aus dem Tastaturpuffer übernimmt.
Soll heißen, die Textdatei wird jedesmal mit einer leeren Zeile erweitert. Probier doch mal dein Programm mehrmals hintereinander aufzurufen. Öffne die Textdatei und Du wirst sehen, dass jedesmal eine neue Zeile hinzugekommen ist.


pn
Junior 
Name: Voller Name als Anagramm: Fitje Weshoms
Geschlecht:
Fahrzeug: Yamaha YZF R6 Thundercat
Anmeldedatum: 15.07.2012
Beiträge: 92
Wohnort: Amberg, Oberpfalz
25.12.2019, 17:27
zitieren

Das denke ich auch!

bei so was nehme ich immer eine selbstgebastelte Funktion her:

void clpuf(void)
 {
 while (getc(stdin) != '\n')
    ;
 }

Einfach nach der letzten problematischen Eingabe aufrufen.


pn
Gast 
25.12.2019, 17:27
zitieren

Mach mit!

Wenn Dir die Beiträge zum Thread "fgets()-Funktion wird übersprungen" gefallen haben oder Du noch Fragen hast oder Ergänzungen machen möchtest, solltest Du Dich gleich bei uns anmelden:



Registrierte Mitglieder genießen die folgenden Vorteile:
✔ kostenlose Mitgliedschaft
keine Werbung
✔ direkter Austausch mit Gleichgesinnten
✔ neue Fragen stellen oder Diskussionen starten
✔ schnelle Hilfe bei Problemen
✔ Bilder und Videos hochladen
✔ und vieles mehr...


Neuen Thread eröffnenNeue Antwort erstellen
Ähnliche BeiträgeRe:
Letzter Beitrag
Ebay Verkaufsprovision wird teurer - einstellen wird billiger (auch Sofort-Kaufen kostenlos!)
Sieht ein wenig nach sinnlosem hin- und herschieben von Gebühren aus. Allerdings ist eine Änderung schon radikal. Nämlich die Höchstprovision für eBay steigt auf 199,- EUR. Bisher waren es 75,- EUR. Noch früher waren es nur 45,-...
von mgutt
0
360
16.01.2014, 15:02
mgutt
Mein eg wird und wird... update S.3
hallo leute hab ma wieder ein paar neuigkeiten und die will ich euch ja nicht vorenthalten aber naja seht selbst ;) ach ja hier ein paar details: -rot weiße rückleuchten -raid lesmo lenkrad -rc design felgen (rc 05 16" in chromsilber mit 195 er...
von eg3-freak
48
4.628
22.08.2007, 20:23
eg3-freak
LSD Funktion
Wollte mal wissen ob irgendjemand von euch weiß wie man herausfindet ob das LSD so funktioniert wie es soll? Oder könnte man sonst überhaupt nicht fahren. Wie weiß ich ob das LSD wirklich jetzt sperrt oder...
von Honda_Civic_Boy_VB
4
407
29.09.2011, 10:35
Honda_Civic_Boy_VB
Problem mit PN funktion
Hallo Leute, Bekam von dem User AndreasRoedel eine PM, weil er sich für meinen Civic interessiert. Als flink antworten dachte ich. Jedoch kommt dann auf einmal die Meldung der Benutzer exisiterit nicht. Okay dachte ich, dann schaust mal in die Suche und...
von Mitsupichu
1
192
03.09.2012, 13:23
DarkAngel1977
V-Tec auf Funktion prüfen?
Sevus Leute, ich bin eben auf dieses Forum gestoßen und habe mich gleich mal angemeldet. Ich fahre seit ca nem Monat einen Del Sol V-Tec 1,6L 125Ps Baujahr 1993. Da ich vorher noch nie Honda gefahren habe, kenne ich mich leider nicht mit V-Tec...
von Mr.Schraubergott
11
1.159
09.06.2012, 18:29
Dragonia
Drehzahlmesser funktion ed6
Hallöchen, weiß jemand iwe der drehzahlmesser aufgebaut ist? Sprich wo der geber (sensor ist). Ich hab nämlich das problem das er absolut gar nicht funzt... Vieleicht hat ja jemand nen paar...
von Tarique
6
2.152
29.10.2005, 08:51
Ed6er
Sound Off Funktion
hätte da mal ne kleine Anregung. Die Chat Sounds können einem Teilweise echt auf den Geist gehen :yes: Ich weis nicht wie oft ich mich zu Tode erschrecke, weil ich den Chat im Hintergrund habe und auf einmal son Sound kommt! Meistens hatte ich dann...
von HugoFreund
3
374
07.06.2011, 20:20
Pumsti
LWR ohne Funktion
Salve zusammen, kürzlich hat die Leuchtweitenregulierung auf der Beifahrerseite aufgegeben. Heute ist mir aufgefallen, daß es auch die linke nicht mehr tut. Vor zwei Wochen ging wenigstens diese noch... Wie gehe ich am besten auf Fehlersuche? Das WHB hat...
von LSi
3
523
13.02.2013, 22:04
white*angel
OEM PDC ohne Funktion
Hallo ....ja mich gibt es noch.... Hat zufällig einer von euch Schaltpläne der originalen Einparkhilfe Fzg ist ein civic fk2 sport ( einer der letzten ) Seit ein paar Tagen will die Einparkhilfe nicht mehr. Leider steht nichtmal im Handbuch irgendetwas...
von civic26
0
360
18.06.2024, 14:54
civic26
array in funktion
Hallo , ich möchte 4 zahlen nach der Größe sortieren, das ist für mich Jetzt kein Problem, allerdings möchte ich die Sortierung in einer Funktion machen. Aber die zahlen sollen trotzdem in der main ausgegeben werden also call by reference, kann mir...
[C++]von arti1012
1
417
28.06.2015, 13:33
arti1012
© 2004 - 2025 www.programmierer-forum.de | Communities | Impressum |