Проблема может заключаться в том, что вы проверяете свой оператор switch по отношению к регистру символов ('1' -> char) вместо int (1).
Компилятор не жалуется, потому что char имеет соответствующее значение типа int (см. Таблицу ASCII) и может выполнять неявное приведение.
Попробуйте удалить 'или изменить тип обработки на char
EDIT:
Вы также получаете «результат не инициализирован», потому что у вас нет регистра по умолчанию для вашего коммутатора, и, учитывая вышеприведенную ошибку, вы никогда не достигнете ни одного из других случаев и присвоите значение.