I can't say I know a lot about C-style console I/O, but here are my impressions.
1. Nothing simple, as the default ignore() behavior is to ignore 1 character of input, and the only way I can think to do that is to read using %c, which I hear bad things about.
2. Probably just use printf and %c, though the exact difference between cout.put(c) and cout<<c escapes me at the moment.