This isn't nearly enough... What is currentE declared as ? int, char, string, long, double, float, what ?? The comparison is against a char, if it was declared int, then the comparison should be against ints, the int value for the char '1' is 49 and for '4' it's 52.
If the input is treated as an int, then comparing it to the char will say
Code:
if( (value between 1 and 4) < 49 || (value between 1 and 4) > 52)
This, as you can see is giving false on every run, no matter if you type 1, 2, or 8