This document discusses user-defined functions in C++. It covers defining functions with return types and parameters, using return statements, function prototypes, and the flow of execution when a function is called. Functions help make programs more modular and understandable by breaking tasks into reusable blocks of code. Defining functions properly allows the compiler to understand how to execute function calls within a program.
2. 2
Chapter Topics
Standard (Predefined) Functions
User-Defined Functions
Value-Returning Functions
The return Statement
Function Prototype
Flow of Execution
3. 3
Top-Down Structured Design with Functions
Recall two types of functions
Value returning function
computes a single value
returns value to calling code
uses return command
Void function (procedure)
called as a statement
executes some task
This chapter focuses on the value returning
4. 4
Advantages of Using Functions
1. To help make the program more
understandable
2. To modularize the tasks of the program
building blocks of the program
1. Write a module once
those lines of source code are called multiple
times in the program
5. 5
Advantages of Using Functions
1. While working on one function, you can focus on
just that part of the program
construct it,
debug it,
perfect it.
5. Different people can work on different functions
simultaneously.
6. If a function is needed in more than one place in a
program, or in different programs, you can write it
once and use it many times
6. 6
Standard (Predefined) Functions
Predefined functions
Part of the C++ language
Provided in function libraries
Examples:
abs(x), sin(x), log(x), pow( x, n)abs(x), sin(x), log(x), pow( x, n)
These functions will return a value
To be printed cout << sin (x);cout << sin (x);
To be assigned y = pow (3, 4.5);y = pow (3, 4.5);
To be used in an expression 3.14 * sqr(r)3.14 * sqr(r)
Make sure to use
the required
#include#include file
8. 8
Value-Returning Functions
For the compiler to use a function you have
written, it must know when it finds that
function call in your source code …
1. The name of the function
2. The number of parameters, if any
3. The data type of each parameter
4. Data type of the value returned by the
function
5. The code required to do the calculation
Information provided
by the heading of the
function
Information provided in
the body of the function
All the properties
together make up
the definition of the
function
9. 9
Value-Returning Functions
Consider a function for the area of a circle:
double circleArea (double radius)double circleArea (double radius)
{{
return 3.14159 * radius *return 3.14159 * radius *
radius;radius;
}}
Note the
Heading (type, name, parameters)
The body
The return statement
10. 10
Parameters
Function definition syntax:
functionType functionName (formal parameter list)functionType functionName (formal parameter list)
{{
statementsstatements
}}
Call (invocation of the function)
cout << "Enter radius for circle area -> ";cout << "Enter radius for circle area -> ";
cin >> radius;cin >> radius;
area = circleArea (radius);area = circleArea (radius);
Parameters in the
declaration : formal
parameters
Parameters in the
call: actual
parameters
11. 11
The return Statement
A value returning statement must have a
return statement
Else a warning from the compiler
Also the function will actually return a "garbage"
value
Syntax:
return expression;return expression;
View example
12. 12
Function Prototype
Recall that the compiler must know certain
things about your function
When it finds a function call in your source code
Must know information in heading
Your program must have at least the
heading of a function before it is invoked
Usually listed before function main ( )main ( )
View example
13. 13
Alternative to Prototype
Also possible to place whole function
definition before main ()main ()
This is a requirement in some languages
(Pascal)
Either is acceptable in this class
There may be a standard required of
programmers within a particular
organization
View Example
14. 14
Flow of Control
First statement executed in any program is
the first statement in the function main( )
When another function called
logical control passed to first statement in that
function’s body
program proceeds through sequence of
statements within the function
When last statement of function executed
control returns to where function was called
control given to next command after the call
15. 15
Flow of Control
void main ( )
{ . . .
print_summary (rpt_total);
revenue = rpt_total * .72675;
. . .
}
void print_summary (int total)
{ . . .
cout << . . .
}
void main ( )
{ . . .
print_summary (rpt_total);
revenue = rpt_total * .72675;
. . .
}
void print_summary (int total)
{ . . .
cout << . . .
}
- first statement of main
- function call, jumps to first statement
of that function
- proceeds through function
- returns to next statement after call
- first statement of main
- function call, jumps to first statement
of that function
- proceeds through function
- returns to next statement after call