Kun uusi aliohjelma kirjoitetaan, kannattaa sen testaamista varten kirjoittaa hyvin lyhyt testi- pääohjelma.
Esimerkiksi kerhon jäsenrekisterin päämenun tulostamista varten voisimme kirjoittaa aliohjelman nimeltä paamenu. Tämä päämenu voitaisiin sitten testata vaikkapa seuraavalla testipääohjelmalla:
// menutest.cpp #include "paamenu.cpp" // HUOM! "Oikeasti" aliohjemia ei INCLUDEta // vaan paamenu.h ja tehdään projekti tai MAKEFILE! int main(void) { paamenu(10); return 0; }
Tiedostot paamenu.h ja paamenu.cpp, joissa aliohjelman prototyyppi ja itse päämenu esiteltäisiin, voisivat olla esimerkiksi:
/* paamenu.h */ #ifndef PAAMENU_H #define PAAMENU_H void paamenu(int jasenia); #endif /* PAAMENU_H */
// paamenu.cpp #include <iostream.h> #include "paamenu.h" void paamenu(int jasenia) { cout << "\n\n\n\n\n"; cout << "Jäsenrekisteri\n"; cout << "==============\n"; cout << "\n"; cout << "Kerhossa on " << jasenia << " jäsentä.\n"; cout << "\n"; cout << "Valitse:\n"; cout << " ? = avustus\n"; cout << " 0 = lopetus\n"; cout << " 1 = lisää uusi jäsen\n"; cout << " 2 = etsi jäsenen tiedot\n"; cout << " 3 = tulosteet\n"; cout << " 4 = tietojen korjailu\n"; cout << " 5 = päivitä jäsenmaksuja" << endl; cout << " :"; }
Huomattakoon, että aliohjelma voitaisiin kirjoittaa myös seuraavasti (miksi?):
// paamenu2.cpp #include <iostream.h> #include "paamenu.h" void paamenu(int jasenia) { cout << "\n\n\n\n\n" "Jäsenrekisteri\n" "==============\n" "\n" "Kerhossa on " << jasenia << " jäsentä.\n" "\n" "Valitse:\n" " ? = avustus\n" " 0 = lopetus\n" " 1 = lisää uusi jäsen\n" " 2 = etsi jäsenen tiedot\n" " 3 = tulosteet\n" " 4 = tietojen korjailu\n" " 5 = päivitä jäsenmaksuja" << endl << " :"; }
Voidaan kirjoittaa jopa (miksi):
#include <iostream.h> #include "paamenu.h" void paamenu(int jasenia) { cout << "\n\n\n\n\n\ Jäsenrekisteri\n\ ==============\n\ \n\ Kerhossa on " << jasenia << " jäsentä.\n\ \n\ Valitse:\n\ ? = avustus\n\ 0 = lopetus\n\ 1 = lisää uusi jäsen\n\ 2 = etsi jäsenen tiedot\n\ 3 = tulosteet\n\ 4 = tietojen korjailu\n\ 5 = päivitä jäsenmaksuja" << endl << "\ :"; }
Jatkossa kommentoimme aliohjelmia enemmän, mutta nyt olemme jättäneet kommentit pois, jotta ohjelma olisi mahdollisimman lyhyt.
Huomattakoon, että aliohjelma on saatu kopioiduksi suoraan aikaisemmasta ohjelman suunnitelmasta lisäämällä vain kunkin rivin alkuun cout <<" ja loppuun \n";. Tällaiset toimenpiteet voidaan automatisoida tekstinkäsittelyn avulla.