Ylös Edellinen Seuraava Otsikkosivu Hakemisto Sisällys

19.2.4 Jäsenen tehtävät lukemisessa

Jälleen tehtäviä riitti vähän myös itse jäsenelle. Jäsen pitäisi saada selvitettyä merkkijonosta:

talletus.2\jasen.cpp - setAsString

	int cJasen::setAsString(string &jono) 
	{
	  string pala; 
	  pala = erota(jono,'|');    luvuksi(pala,tunnut_nro);
	  pala = erota(jono,'|');    nimi = poista_tyhjat(pala);
	  pala = erota(jono,'|');    sotu = poista_tyhjat(pala);
	  ...
	  pala = erota(jono,'|');    luvuksi(pala,maksu);
	  ...
	}

Tämä on taas muuten hyvä, mutta ratkaisua vaivaa tietty epäsymmetria eri tietotyyppien välillä. Lisäksi jos talletuksessa on sovittu, että esimerkiksi -1 tarkoittaa syöttämätöntä arvoa ja talletetaan tyhjänä, pitäisi lukemisessa tämä käsitellä kääntäen. Voitaisiin yrittää myös seuraavaa:

talletus.2\jasen.cpp - lukeminen

	int cJasen::setAsString(string &jono)
	{
	  ota(jono,tunnus_nro    ,erotin);
	  ota(jono,nimi          ,erotin);
	  ota(jono,hetu          ,erotin);
	  ota(jono,katuosoite    ,erotin);
	  ota(jono,postinumero   ,erotin);
	  ota(jono,postiosoite   ,erotin);
	  ota(jono,kotipuhelin   ,erotin);
	  ota(jono,tyopuhelin    ,erotin);
	  ota(jono,autopuhelin   ,erotin);
	  ota(jono,liittymisvuosi,erotin);
	  ota(jono,jmaksu        ,erotin);
	  ota(jono,maksu         ,erotin);
	  ota(jono,lisatietoja   ,erotin);
	
	  if ( tunnus_nro >= seuraava_nro ) seuraava_nro = tunnus_nro + 1;
	  return 0;
	}


Ylös Edellinen Seuraava Otsikkosivu Hakemisto Sisällys