"Likainen työ" jätettiinkin aliohjelmalle kysy_kentta, joka ei juurikaan ole sidoksissa kerho- ohjelmaan:
/****************************************************************************/ static int /* */ kysy_kentta( /* */ const string &viesti ,/* s Viesti joka tulee näytölle */ string &jono /* t Jono johon kentän vastaus luetaan. */ ) /* ** Funktiolla luetaan vastaus kenttään. ** ** Globaalit: POIS (jono, jolla syöttö katkaistaan) ** Syöttö: päätteeltä ** Tulostus: näyttöön ** Kutsuu: lue_jono_oletus ----------------------------------------------------------------------------*/ { string apu; int paluu; apu = jono; paluu = lue_jono_oletus(viesti,OLET_ALKU,VAKANEN,apu); if ( paluu < OLETUS ) return 1; if ( apu == POIS ) return 1; poista_tyhjat(apu); jono = apu; return 0; }
Tulosta ei lueta suoraan muuttujaan jono, jotta mahdollisessa q - vastauksessa ei pilattaisi kentän alkuperäistä arvoa.