Browse Source

refactoring: Benutzereingabe verbessert

remotes/origin/factorialdev
Lennart Goetze 11 months ago
parent
commit
cb642100e7
  1. 20
      src/Faktorial.c

20
src/Faktorial.c

@ -14,17 +14,27 @@ unsigned long long factorial(int n) {
return result; return result;
} }
int run_factorial() {
int getPositiveInteger() {
int num; int num;
printf("Gib eine Zahl ein, um die Fakultät zu berechnen: ");
scanf("%d", &num);
while (1) {
printf("Gib eine positive ganze Zahl ein: ");
if (scanf("%d", &num) == 1 && num >= 0) {
break;
} else {
printf("Ungültige Eingabe. Bitte gib eine positive ganze Zahl ein.\n");
while (getchar() != '\n'); // Leere den Eingabepuffer
}
}
return num;
}
unsigned long long result = factorial(num);
int run_factorial() {
int num = getPositiveInteger();
if (num < 0) { if (num < 0) {
printf("Fakultät ist für negative Zahlen nicht definiert.\n"); printf("Fakultät ist für negative Zahlen nicht definiert.\n");
} else { } else {
int result = factorial(num);
unsigned long long result = factorial(num);
printf("Die Fakultät von %d ist %d.\n", num, result); printf("Die Fakultät von %d ist %d.\n", num, result);
} }

Loading…
Cancel
Save