Download presentation
Presentation is loading. Please wait.
1
User Defined Functions
Chapter 6
2
Chapter Topics Standard (Predefined) Functions User-Defined Functions
Value-Returning Functions The return Statement Function Prototype Flow of Execution
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 function
4
Advantages of Using Functions
To help make the program more understandable To modularize the tasks of the program building blocks of the program Write a module once those lines of source code are called multiple times in the program
5
Advantages of Using Functions
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
Standard (Predefined) Functions
Part of the C++ language Provided in function libraries Examples: abs(x), sin(x), log(x), pow( x, n) These functions will return a value To be printed cout << sin (x); To be assigned y = pow (3, 4.5); To be used in an expression * sqr(r) Make sure to use the required #include file
7
Predefined Functions View sample program
8
Value-Returning Functions
All the properties together make up the definition of the function Information provided by the heading of the function 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 in the body of the function
9
Value-Returning Functions
Consider a function for the area of a circle: double circleArea (double radius) { return * radius * radius; } Note the Heading (type, name, parameters) The body The return statement
10
Parameters Function definition syntax:
functionType functionName (formal parameter list) { statements } Call (invocation of the function) cout << "Enter radius for circle area -> "; cin >> radius; area = circleArea (radius); Parameters in the declaration : formal parameters Parameters in the call: actual parameters
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; View example
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 ( ) View example
13
Alternative to Prototype
Also possible to place whole function definition before 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
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
Flow of Control void main ( ) { print_summary (rpt_total); revenue = rpt_total * ; } 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
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.