?
Wie wärs jetzt endlich mal mit dem durchlesen/arbeiten von eienm C-Buch.
Da steht dann auch drin, wann man cmnd[1000] = "dir /s /b " ; schreiben kann und wann nicht.
Denn so wie du es benutzt, geht es nicht. (Darum meckert auch der mit einer Warnung).
Da steht dann auch drin, was (eingabe == 'N' || 'n') wirklich bedeutet.
Und wenn du Glück hast, steht da auch, warum scanf("%c", &eingabe); nach einem scanf("%i", &x); nicht das Zeichen einliest.
Da das mit dem Glück manchmal nicht klappt, zumindest die Lösung:
scanf(" %c", &eingabe); // Achte auf das Leerzeichen vor dem %c