Посмотри на мой пост здесь:
http://www.tehnari.ru/f22/t24167/index2.html#post199170
Тут практически идентичная задача, единственное отличие - сигнализация конца стандартного ввода
Там концом ввода считается ввод пустой строки, у тебя - комбинация. Копай функцию
int enterElement() в том же листинге, напиши что понял\не понял - если будет время, попробую объяснить.