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.