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