ohjeet(); kysy_matka(&matka_mm); matka_km = mittakaava_muunnos(matka_mm); tulosta_matka(matka_km); return 0;Tällainen pääohjelma tuskin tarvitsisi paljoakaan kommentteja.
Edellä on käytetty neljän eri tyypin aliohjelmia (funktioita)
// matka_a2.cpp // Ohjelmalla lasketaan mittakaavamuunnoksia 1:200000 kartalta // Vesa Lappalainen 4.1.1997 #include <iostream.h> const double MITTAKAAVA = 200000.0; const double MM_KM = 1000.0*1000.0; void ohjeet(void) { cout << "Lasken 1:" << MITTAKAAVA << " kartalta millimetreinä mitatun matkan\n"; cout << "kilometreinä luonnossa.\n"; } void kysy_matka(int *pMatka_mm) { int mm; cout << "Anna matka millimetreinä>"; cin >> mm; *pMatka_mm = mm; } double mittakaava_muunnos(int matka_mm) { return matka_mm*MITTAKAAVA/MM_KM; } void tulosta_matka(double matka_km) { cout << "Matka on luonnossa "<< matka_km << " km." << endl; } int main(void) { int matka_mm; double matka_km; ohjeet(); kysy_matka(&matka_mm); matka_km = mittakaava_muunnos(matka_mm); tulosta_matka(matka_km); return 0; }Edellä olevasta huomataan, että aliohjelmat jotka eivät palauta mitään arvoa nimessään, esitellään void- tyyppisiksi.
mittakaava_muunnos on reaaliluvun palauttava funktio, joten se esitellään double - tyyppiseksi.
Seuraavaksi pöytätestaamme ohjelmamme toiminnan:
main
|
kysy_matka
|
mi..muunnos
|
tulosta
|
|||||
lause
|
matka_mm
|
matka_km
|
pMatka_mm
|
mm
|
matka_mm
|
tulos
|
matka_km
|
tulostus
|
40
ohjeet()
|
??
|
??
|
||||||
9-13
cout<<
|
Lasken
1:200000
| |||||||
41
kysy_mat
|
&matka_mm
|
|||||||
16-18
int m
|
??
|
|||||||
19
cout <<
|
Anna
matka ...
| |||||||
20
cin>>mm
|
352
|
|||||||
21
*pMatka
|
352
|
<==o
|
||||||
42
matka_km
|
352
|
|||||||
26
return
|
70.4
|
|||||||
42
matka_km
|
70.4
|
|||||||
43
tulosta
|
70.4
|
|||||||
29-31
cout<
|
Matka
on luo..
| |||||||
44
return 0;
|
main
|
|||
lause
|
matka_mm
|
matka_km
|
tulostus
|
40
ohjeet()
|
??
|
??
|
Lasken
1:200000
|
41
kysy_mat
|
352
|
Anna
matka ..
| |
42
matka_km
|
70.4
|
||
43
tulosta
|
Matka
on luo..
| ||
44
return 0;
|