From 0e8d805605d65c8352f05aefa025ef31386a9a69 Mon Sep 17 00:00:00 2001 From: fdai7207 Date: Mon, 30 Jan 2023 20:01:49 +0100 Subject: [PATCH] refactoring: made code more readable and enhanced the menuInput() and chooseOption() functions. --- src/mainMenu.c | 70 +++++++++++++++++--------------------------------- 1 file changed, 24 insertions(+), 46 deletions(-) diff --git a/src/mainMenu.c b/src/mainMenu.c index fdb0aa8..7b60ecf 100644 --- a/src/mainMenu.c +++ b/src/mainMenu.c @@ -24,15 +24,7 @@ bool checkIfInteger(char* userInput) bool chooseOption(int choiceInput) { - if(choiceInput < 1 || choiceInput > 4) - { - return false; - } - - else - { - return true; - } + return !(choiceInput < 1 || choiceInput > 4); } @@ -50,6 +42,8 @@ void ageInput() while (true) { + /*the userInput string is changed to a number with the strtol function*/ + age = strtol(userInput,&userInputPointer,10); if((checkIfInteger(userInput))&& (agePermission(age))) @@ -85,56 +79,40 @@ void ageInput() } } + void menuInput() { - char choiceInput[20]; - char* choiceInputPointer; - int selection; - scanf("%s",choiceInput); + scanf("%s", choiceInput); + selection = strtol(choiceInput, &choiceInputPointer, 10); - while(true) + while (!checkIfInteger(choiceInput) || !chooseOption(selection)) { - selection = strtol(choiceInput,&choiceInputPointer,10); - - if(chooseOption(selection) == true && checkIfInteger(choiceInput) == true) - { - switch(selection) - { + printf("Input invalid! try again!\n"); - case 1 : printf("\nLoginAsCostumer() function will be implemented here soon\n\n"); + scanf("%s", choiceInput); - break; - - case 2 : printf("\ncreateCostumerAccount() function will be implemented here soon\n\n"); - - break; - - case 3 : printf("\nLoginAsEmployee() function will be implemented here soon\n\n"); - - break; - - case 4 : printf("\e[1;1H\e[2J"); - - printf("\nsee you next time !\n\n"); - - break; - - } - break; - } + selection = strtol(choiceInput, &choiceInputPointer, 10); + } + + switch(selection) + { + case 1 : printf("\nLoginAsCostumer() function will be implemented here soon\n\n"); + break; - else - { - printf("Input invalid! try again!\n"); + case 2 : printf("\ncreateCostumerAccount() function will be implemented here soon\n\n"); + break; - scanf("%s",choiceInput); - } - } + case 3 : printf("\nLoginAsEmployee() function will be implemented here soon\n\n"); + break; + case 4 : printf("\e[1;1H\e[2J"); + printf("\nsee you next time !\n\n"); + break; + } }