<< Chapter < Page Chapter >> Page >

/* Compute compound interest */

#include<iostream.h>

#include<iomanip.h>

#define YMAX 50

void interest(double, double, int, double []);

int main()

{

double deposit, rate;

int i, years;

double compounded[YMAX];

cout<<“\n ENTER DEPOSIT, INTEREST RATE, NUMBER OF YEARS \n”;

cin>>deposit>>rate>>years;

cout<<endl;

if(years>YMAX)

cout<<”\n Number of years must be less than

or equal”<<YMAX;

else

{

interest(deposit, rate, years, compounded);

for( i = 0; i<years; ++i)

cout<<i+1<<setw(25)<<compounded[i]

<<endl;

}

cout<<endl;

return 0;

}

void interest(double deposit, double rate,

int years, double cp[])

{

int i;

for( i = 0; i<years; ++i){

deposit = deposit*(1.0 + rate);

cp[i] = deposit;

}

}

Example

In the following program, we have to search an integer array for a given element. We use linear search in which each item in the array is examined sequentially until the desired item is found or the end of the array is reached.

#include<iostream.h>

int linearSearch( int [], int, int);

int main()

{

const int arraySize = 100;

int a[arraySize], searchkey, element;

for (int x = 0; x<arraySize, x++)

// create some data

a[x] = 2*x;

cout<<“Enter integer search key: “<<endl;

cin>>searchKey;

element = linearSearch(a, searchKey, arraySize);

if(element !=-1)

cout<<”Found value in element “<<element

<<endl;

else

cout<<“Value not found “<<endl;

return 0;

}

int linearSearch(int array[], int key, int sizeofArray)

{

for(int n = 0; n<sizeofArray; n++)

if (array[n] = = key)

return n;

return –1;

}

Pointers

In this section, we discuss one of the most powerful features of the C++ programming language, the pointer . Pointers are among C++’s most different capabilities to master. In section Pass by Reference , we saw that references can be used to perform call-by-reference. Pointers enable programs to simulate call-by-reference and to create and manipulate dynamic data structures (i.e., data structures that can grow and shrink).

A pointer is a special type of variable that stores the memory address of other variables.

You declare a variable as a pointer by placing the indirection operator (*) after the data type or before the variable name.

Examples:

int *pFirstPtr;

int *pSecondPtr;

You use the address-of operator (&) to assign to the pointer variable the memory address of another variable.

Examples:

double dPrimeInterest;

double *pPrimeInterest;

pPrimeInterest =&dPrimeInterest;

Once you assign the memory address of a variable to a pointer, to access or modify the contents of the variable pointed to by the pointer, you precede a pointer name in an expression with the de-reference (*) operator.

Example

The program in this example demonstrates the pointer operators. Memory locations are output in this example as hexadecimal integers.

#include<iostream.h>

int main()

{

int a;

int *aPtr; // aPtr is a pointer to an integer

a = 7;

aPtr =&a; //aPtr set to address of a

cout<<“The address of a is “<<&a

<<“\nThe value of aPtr is “<<aPtr;

cout<<“\n\nThe value of a is “<<a

<<“\nThe value of *aPtr is “<<*aPtr

<<endl;

return 0;

}

The output of the above program:

The address of a is 0x0065FDF4

The value of aPtr is 0x0065FDF4

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Programming fundamentals in c++. OpenStax CNX. Jul 29, 2009 Download for free at http://cnx.org/content/col10788/1.1
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Programming fundamentals in c++' conversation and receive update notifications?

Ask