previous next Up Title Contents Index

21.8 Etsiminen

Nimi tai hetu piti tarkistaa siten, että samaa ei saa esiintyä, mutta toisaalta kohdalla olevan jäsenen tiedot eivät saa aiheuttaa virheilmoitusta. Tämä voidaan hoitaa esimerkiksi seuraavalla aliohjelmalla:
	int cJasenet::laske_montako_muuta(const cJasen &jasen, int k,int &kuka) const
	// Lasketaan monnellako muulla kerholaisella on sama tieto kentässä k
	// kuin jasenella.  Palautetaan muiden maara ja sijoitetaan muuttujaan
	// kuka viimeinen sellainen jolla oli sama tieto
	{
	  int i,samoja=0;
	  string kentta = jasen.kentta_jonoksi(k);
	  for (i=0; i<lkm; i++) {
	    if ( alkiot[i]- >kentta_jonoksi(k) == kentta &&
	         alkiot[i]- >sama_rekisteri(jasen) == 0 ) {
	      samoja++;
	      kuka = i;
	    }
	  }
	  return samoja;
	}
Kohdalla olevan jäsenen tiedot voidaan välttää tarkistamalla ettei rekisterinumero ole sama (alkiot[i]- >sama_rekisteri(jasen)).


previous next Up Title Contents Index