Also, if you'd rather fix your code then rewrite something similar to mine, check your logic here.

Code:
if ((orig[i] < 'a' && orig[i] > 'z') || (orig[i] < 'A' && orig[i] > 'Z')) 
hide[i] = orig[i]; 
else if (orig[i] == ' ') 
hide[i] = ' '; 
else if (n == 1) 
hide[i] = orig[i]+1; 
else if (n == 2) 
hide[i] = orig[i]-2; 
else if (n == 3) 
hide[i] = orig[i]+3; 
else if (n == 4) 
hide[i] = orig[i]-4;
It doesn't make much sense to me and hurts my head. Consider making a function to rotate characters like I did.