Practice Exercise:  User-Defined Functions--Basics 

                
Purpose and Objective:  To enhance readability by reducing the complexity of the
    function main, it is useful to be able to create and invoke a function.

    The general form or syntax for a function is: 
      functionType functionName ( [formal parameter list] ) {
         statements
         [return expr;]
      }

    The syntax for a function call is:
        [variable=] functionName([arguments--aka "actual parameter list"]);

    The syntax for the formal parameter list is:
        dataType identifier [, dataType identifier, ...]

    The syntax for the argument(s) or actual parameter list is:
        expression or variable[, expression or variable, ...]

    return Statement syntax:  
        return [expr];  where expr is a variable, constant or expression. 
        
0. Declare and initialize variables for a char named planChoice, an int named
   minutes(e.g. 30) and doubles for costPerMinute(0.10), and minutesCharge(0.00),
   and string named planDescription("Regular plan").
   
   
   
   
   
1. Define a void(does not return a value) function named printMenu that has no
   formal parameters, and prints a menu of choices for a phone plan user such as
        Daily Plan (enter 'd')
        Minute Plan (enter 'm')
        ...



2. Invoke a defined function named printMenu which has no arguments and returns
   no value. Follow this "prompt" with an input statement for planChoice.


3. Define a type double value-returning function named getMinutesCharge. This
   function should have an int parameter for minutes, and a char for planChoice.
   The statement body is to test planChoice for 'd', assign 0.15 to 
   costPerMinute, or when it is 'm' assign 0.20 to costPerMinute. Next return 
   the double value for minutesCharge by finding the product of minutes
   and costPerMinute.
   


4. Assign to minutesCharge the value returned by calling getMinutesCharge()  
   passing values for minutes and planChoice.


5. Define a void function named printResults that has a char parameter for 
   plan choice and a double for minutesCharge. Here printResults() is to print 
   planDescription("Daily" or "Minute") and minutesCharge with side labels.




6. Invoke printResults() passing arguments planChoice and minutesCharge.