Kutakin ohjelmassa esiintyvää tietotyyppiä kohden voidaan kirjoittaa tarkistusfunktiot, jotka tarkistavat parametrinä tuodun tiedon oikeellisuuden ja sitten silmukassa luetaan tietoa kunnes ko. funktio hyväksyy tiedon:
string hetu; ... do { cout << "Sosiaaliturvatunnus>"; getline(cin,hetu,'\n'); } while ( tarkista_hetu(hetu) ) ... Henkilötunnus>1234[RET] Hetu väärin! Anna uudelleen! Henkilötunnus>020347- 123T[RET] ...
Tässä tapauksessa aliohjelma voi myös tulostaa virheilmoituksen, jolloin kutsuvan ohjelman ainoa tehtävä on lukea kunnes tulee oikea vastaus.