Nur Zahlen zulassen in einer while schleife

Ferdi01

Grünschnabel
hi Neonof,

dein Ansatz hat mir sehr geholfen + deine Erklärung. Hab nun meine Endgültige Lösung gefunden.
C:
#include <stdio.h>
#include <stdlib.h>

void fauswahl(int menueAuswahl);

int main()
{
    int auswahl = 0;
    char buffer[10] = "";

    do
    {
        printf("\n1 – Auswahl1");
        printf("\n2 – Auswahl2");
        printf("\n3 – Auswahl3");
        printf("\n");
        printf("\nGeben Sie Ihre Wahl ein:");
        fgets(buffer, 10, stdin);
        fflush(stdin);
        if(buffer[0] == '\n')
            continue;
        auswahl = atoi(buffer);
    } while (auswahl < 1 || auswahl > 3);
    fflush(stdin);
 
    fauswahl(auswahl);

    return 0;
}

void fauswahl(int menueAuswahl)
{
   printf("\n---------- %i ----------\n\n", menueAuswahl);
}
die Funktioniert jetzt so wie ich will.
 
Zuletzt bearbeitet: