previous next Up Title Contents Index

8.5.9 Aliohjelmien testaaminen

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:

c-muut\menutest.cpp - päämenun testaus

	// 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:

c-muut\paamenu.h - päämenun otsikkotiedosto

	/* paamenu.h */
	#ifndef PAAMENU_H
	#define PAAMENU_H
	void paamenu(int jasenia);
	#endif /* PAAMENU_H */

c-muut\paamenu.cpp - päämenun totetutus

	// 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?):

c-muut\paamenu2.cpp - toteutus vähillä cout-kutsuilla

	// 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):

c-muut\paamenu3.cpp - rivin jatkaminen

	#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.


previous next Up Title Contents Index