Function that prompts user for integer value and checks for valid input

前端 未结 5 1764
一个人的身影
一个人的身影 2020-12-20 09:07

I currently am stuck on a small part of an assignment I need to do. One requirement of the assignment is

\"Call a function that prompts the user for

5条回答
  •  臣服心动
    2020-12-20 09:36

    What you are looking for is an introduction to functions. Here is one : https://www.tutorialspoint.com/cprogramming/c_functions.htm

    This is a very important building block in programming and you should definitely learn to master that concept.

    functions will allow you to execute some code in different contexts over and over, just changing the context (the parameters).

    It is declared like this

    int add(int first, int second){
        //here we can use first and second
        printf("first: %d\n", first);
        printf("second: %d\n", second);
    
        //and eventually return a value
        return first+second;
    
    }
    

    Now when using we are reusing our previous code to excute a task which result will vary depending of the arguments we pass.

    printf("1+2 = %d\n", add(1, 2));
    -->3
    printf("2+2 = %d\n", add(2, 2));
    -->4
    

    Example solution for your task:

    //this will handle validation
    int validateInput(int input){
        if(isalpha(input)){
            printf("INPUT ERROR!\n");
            return 0;
        }
        return 1;
    }
    
    //this will prompt the user and return input only if the input is valid
    int askForCoefficient(unsigned char coefficientName){
        int valid = 0;
        int value = 0;
        while(!valid){
            printf("Enter a value for %c: ", coefficientName);
            value = scanf("%d", &value);
            valid = validateInput(value);
    
        }
    
        printf("%d\n", value);
    
        return value;
    
    }
    

提交回复
热议问题