Browse Source

refactoring: created printInvalidNumberMessage function

remotes/origin/userinput
TheUltimateOptimist 11 months ago
parent
commit
7a7fceb464
  1. 56
      src/userinput.c

56
src/userinput.c

@ -147,6 +147,35 @@ bool isNumberValid(long double value, long double *min, long double *max, long d
return true;
}
void printInvalidNumberMessage(long double value, long double *min, long double *max, long double *greaterThan, long double *smallerThan, long double leftBorder, long double rightBorder) {
printText("Ungueltige Eingabe! Fuer die eingegebene Zahl muss gelten:");
if (min != NULL) {
printText(" >=");
printlf(*min);
}
if (max != NULL) {
printText(" <=");
printlf(*max);
}
if (greaterThan != NULL) {
printText(" >");
printlf(*greaterThan);
}
if (smallerThan != NULL) {
printText(" <");
printlf(*smallerThan);
}
if (min == NULL && greaterThan == NULL) {
printText(" >=");
printlf(leftBorder);
}
if (max == NULL && smallerThan == NULL) {
printText(" <=");
printlf(rightBorder);
}
printText("\n");
}
long double getNumber(char *message, long double *min, long double *max, long double *greaterThan, long double *smallerThan, long double leftBorder, long double rightBorder) {
while (true) {
char *input = gets(message, NULL, NULL);
@ -166,32 +195,7 @@ long double getNumber(char *message, long double *min, long double *max, long do
if (isNumberValid(number, min, max, greaterThan, smallerThan, leftBorder, rightBorder)) {
return number;
}
printText("Ungueltige Eingabe! Fuer die eingegebene Zahl muss gelten:");
if (min != NULL) {
printText(" >=");
printlf(*min);
}
if (max != NULL) {
printText(" <=");
printlf(*max);
}
if (greaterThan != NULL) {
printText(" >");
printlf(*greaterThan);
}
if (smallerThan != NULL) {
printText(" <");
printlf(*smallerThan);
}
if (min == NULL && greaterThan == NULL) {
printText(" >=");
printlf(leftBorder);
}
if (max == NULL && smallerThan == NULL) {
printText(" <=");
printlf(rightBorder);
}
printText("\n");
printInvalidNumberMessage(number, min, max, greaterThan, smallerThan, leftBorder, rightBorder);
}
}

Loading…
Cancel
Save