1)
- initialize input to an invalid state
- while the input is invalid, prompt
2) you can try a different seed but I really wouldn't worry about it much - it's hard to get good random numbers with mod 3.

also, don't you think it would be more of a challange if you displayed the computers choice *after* the user chooses?

calculating the winner is pretty trivial - you could use simple brute force as a last resort...