Un toolkit c'est, disons, une grosse librairie facilitant une ou plusieurs tâches (ça peut être destiné à simplifier la programmation d'interface, réseau, autre, ou un peu de tout à la fois).
Pour ton problème, lorsque tu extrait une valeur, l'état interne est modifié. Si la conversion vers le type voulu n'est pas possible, alors cin présentera l'état failbit (cin.good() == false, bien que cette méthode prenne en compte toute les erreurs, ce doit être suffisant pour commencer).