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?