2.4.7 Parametrillinen arvon palauttava funktio

Esimerkkinä parametreja sisältävästä arvon palauttavasta funktiosta olkoon funktio, joka laskee hinnan muutoksen erotusprosenttina. Funktio tarvitsee syöttötietoina alkuperäisen sekä muuttuneen hinnan. Nämä tulee mainita tyyppeineen (double) funktion määrittelyn parametrilistassa. Funktion palauttama arvo on myöskin tyypiltään double, joten se on myös funktion tyyppi.

/* *********************************************************
FUNKTIO4.CPP
  Esimerkki funktiosta, jolla on sekä paluuarvo että
  parametreja.
********************************************************* */

#include <iostream.h>

/* Laskee parametreina annettujen hintojen eron
   prosenteissa. Paluuarvona ko. erotusprosentti. */
double erotusprosentti(double alkup, double uusi)
{
  double eropros;

  eropros = 100.0*(uusi - alkup)/alkup;

  return eropros;
}

int main(void)
{
  double vanha, uusi;

  cout << "\n\n";
  cout << "Anna vanha hinta > ";
  cin >> vanha;
  cout << "Anna uusi hinta  > ";
  cin >> uusi;
  cout << "Hinnan muutos on " << erotusprosentti(vanha,uusi);
  cout << " prosenttia." << endl;

  return 0;
}

Esimerkkiajo:

Anna vanha hinta > 100
Anna uusi hinta  > 90
Hinnan muutos on -10 prosenttia.

Miksi tässä funktion erotusprosentti paluuarvoa ei sijoitettu mihinkään muuttujaan?