(C++) Subroutines: Procedures and Functions - 2


A function is a subroutine that returns a result (number, character string, etc.)

Imagine that you have ordered a product from an online store. From a programming point of view, you have called a certain subroutine, and unlike a procedure, this subroutine must return a result - deliver the product you ordered. These subroutines are called functions.
A function is formatted in exactly the same way as a procedure. The only difference from a procedure is the presence of a special operator returnafter which the value to be returned to the main program is written.

A function that returns the arithmetic mean of two integers would look like this: float average(int a, int b) { float avg = (a + b) / 2.; return aug; } It remains to understand how to call this function in the main program:
You shouldn't call a function the same way you call a procedure: average(10, 5); The value returned by the function will be lost. It is as if the goods from the online store were not given to anyone, but thrown away. It is unlikely that the customer will like it.

It's more correct to save the result in a variable (or print it to the screen): a = average(10, 5); cout << average(10, 5);

Often programmers use boolean functions that return boolean values ​​true or false (trueor false)
Such functions are useful for   check some property.
Consider two examples of writing a logical function that checks a number for evenness
1)  Better way:
expression result
n % 2 == 0
will be true (True) or false (False)
No need to write a conditional statement!
2) Don't do that!
You can write it like that, but it’s better not to do a longer record anyway
bool isEven(int n)
{
    return (n % 2 == 0);
}
bool isEven(int n)
{
    if (n % 2 == 0)
        return true;
    else
        return False;
}

And the last note about working with functions and procedures: the number of functions and procedures in the program is not limited. In addition, one subroutine can call another subroutine and even itself.