0% found this document useful (0 votes)
31 views

1 Quick Review of Basic C++

The document discusses functions in C++. It defines what functions are and explains that they have a prototype, which specifies the return type and parameters, and a definition, which contains the function body. It then provides examples of different ways to write functions, including functions to calculate powers, find averages, find minimums, and check if a character is a digit. The examples demonstrate how to define, prototype, and call functions.

Uploaded by

Sena Dereje
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
31 views

1 Quick Review of Basic C++

The document discusses functions in C++. It defines what functions are and explains that they have a prototype, which specifies the return type and parameters, and a definition, which contains the function body. It then provides examples of different ways to write functions, including functions to calculate powers, find averages, find minimums, and check if a character is a digit. The examples demonstrate how to define, prototype, and call functions.

Uploaded by

Sena Dereje
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 12

Functions—Part I 1

1 Quick Review of Basic C++


• Data types

• Variable names

• Loops

2 Functions
• Useful analysis/computational units.

• Object and nonobject functions:

– cout.setf()
– ShowHeader()
– sin()

• Functions improve modularity of programs.

• Functions normally have two parts:

– Prototype (sometimes called interface)


– Definition (sometimes called implementation)
Functions—Part I 2

2.1 General Function Layout


return type name ( <args> )
{
function body
}

return type
void, basic data types (int, double, etc.), or user/system defined types.
name
Any valid name.
<args>
The names and types of all arguments (zero or more), separated by commas.
function body
Zero or more valid statements.

2.2 Function Operation


When a function is invoked (called), the flow of control is transferred to the
function. This means that the next statement to be executed is the first one
in the function that was called. After the function completes its task the flow
of control returns to the statement in the function that invoked the function.

2.3 Function Prototypes


• The prototype specifies the data type, name, and input (and/or output)
parameter(s) of a function.

– The type of a function is the data type of a value returned by the


function.
– The name of a function is any valid identifier.
Use action words (verbs) whenever possible in naming functions.
– Parameters define input (and/or output) to a function.

• Header files (e.g., iostream.h, math.h, ctype.h) usually contain pro-


totypes.
Functions—Part I 3

• Examples:

– double sin( double );


– double Avg( double x1, double x2, double x3 );

Note: The function parameters are separated by commas.

2.4 Function Definition


• A function definition is a sequence of statements.
• Function names should imply the operation(s)
performed by the function.
• All variables must be declared.
• If the function does not return a value, the function
return type must be declared as void.
• Any expression is allowed in the return statement.

– return 1;
– return ’A’;
– return; // optional

• Good programming practice to have only one return.

2.5 Using Functions


• A function’s argument data types must match the
parameter specified in the prototype (definition).
• If a function returns a value, the variable (object)
that receives the return value must match the function
data type.
• Mismatch of arguments and/or return values is the
source of many compiler errors/warnings.
• Mismatch of arguments and/or return values is the
source of many run-time defects/errors. (Sound familiar?)
Functions—Part I 4

2.6 Square and Cube of 1 through 5


2.6.1 Powers.cpp
// Powers.cpp

#include <iostream.h>
#include <iomanip.h>
#include <math.h>

int main()
{
for( int i = 1 ; i <= 5 ; i++ )
{
cout << setw(6) << i ;
cout << setw(6) << i*i;
cout << setw(6) << i*i*i << endl;
}

return 0;
}

Output:

1 1 1
2 4 8
3 9 27
4 16 64
5 25 125
Functions—Part I 5

2.6.2 Powers2.cpp
// Powers2.cpp

#include <iostream.h>
#include <iomanip.h>
#include <math.h>

// Prototype
void ShowPowers();

int main()
{
ShowPowers();

return 0;
}

/* ShowPowers()
*
* Show the square and cube of 1 through 5.
*/
void ShowPowers()
{
for( int i = 1 ; i <= 5 ; i++ )
{
cout << setw(6) << i ;
cout << setw(6) << i*i;
cout << setw(6) << i*i*i << endl;
}
}
Functions—Part I 6

2.6.3 Powers3.cpp
// Powers3.cpp

#include <iostream.h>
#include <iomanip.h>
#include <math.h>

// Prototypes
void ShowPowers();
int Square( int );
int Cube( int i );

int main()
{
ShowPowers();

return 0;
}

/* ShowPowers()
*
* Show the square and cube of 1 through 5.
*/
void ShowPowers()
{
for( int i = 1 ; i <= 5 ; i++ )
{
cout << setw(6) << i ;
cout << setw(6) << Square( i );
cout << setw(6) << Cube( i ) << endl;
}
}
Functions—Part I 7

/* Square()
*
* Calculate the square of an integer.
*/

int Square( int i )


{
return i * i;
}

/* Cube()
*
* Calculate the cube of an integer.
*/
int Cube( int i )
{
return i * i * i;
}
Functions—Part I 8

2.6.4 Powers4.cpp
// Powers4.cpp

#include <iostream.h>
#include <iomanip.h>
#include <math.h>

// Prototypes
void ShowPowers();
double Power( double x, int pow );

int main()
{
ShowPowers();

return 0;
}

/* ShowPowers()
*
* Show the square and cube of 1 through 5.
*/
void ShowPowers()
{
for( double x = 1.0 ; x <= 5.0 ; x += 1.0 )
{
cout << setw(6) << x ;
cout << setw(6) << Power(x,2); // spaces
cout << setw(6) << Power( x, 3 ) << endl;
}
}
Functions—Part I 9

/* Power
*
* Calculate the square of an integer.
* Should check that iPow > 0!
*/

double Power( double x, int iPow )


{
double retVal = 1.0;

for( int i = 0 ; i < iPow ; i++ )


retVal *= x;

return retVal;
}
Functions—Part I 10

2.7 Averages Program


// Average.cpp

#include <iostream.h>
#include <fstream.h>

// prototype
double Average( double x1, double x2, double x3 );

main()
{
ofstream fOut( "Average.out", ios::out );
if( !fOut ) // verify file was opened
{
cerr << "Unable to open output file: Average.out" << endl;
exit( -1 );
}

double avg;

double x1 = 2.0;
double x2 = 3.0;
double x3 = 4.0;

avg = Average( x1, x2, x3 );


fOut << "Average 1: " << avg << endl;

avg = Average( 5.0, 10.0, 15.0 );


fOut << "Average 2: " << avg << endl;

avg = Average( x1, x3-6.0, x2+5);


fOut << "Average 3: " << avg << endl;

fOut.close();
}
Functions—Part I 11

/* Average()
*
* Calculate the average of three real numbers.
*/

double Average( double x1, double x2, double x3 )


{
double rVal; // return value

rVal = (x1 + x2 + x3) / 3.0;

return rVal;
}
Functions—Part I 12

2.8 Minimum Function


Calculate the minimum of two integers. There is a built-in function, min(),
for performing this operation.

int Minimum( int i, int j )


{
if( i < j )
return i; // else not necessary
return j;
}

2.9 IsDigit Function


Test if a character is a digit or not. There is a built-in function, isdigit(),
for performing this operation.

int IsDigit( char ch )


{
int iVal = 0;

if( ch >= ’0’ && ch <= ’9’ ) iVal = 1;

return iVal;
}

You might also like