ok this is something weird. a character variable can only store 1 character but an array of char having only 1 element can store huge values like "weeeerfffffffssssssssssssssssssssssssssaaaaaaaaaaaaaaaaadhvgj" HOW IS THIS POSSIBLE?????
Inputing from cin seems to exceed the array limit and gets into unassigned memory space. Try that in a structure and you'll see that everything messes up.