mibix,
That is a very weird case that you are in. I've never seen that happen before, and I've dealt with a lot of switch cases lately. From what I've done and according to http://www.zimbio.com/C+and+C+Programs/articles/89/Switch+in+C+Programming, your code is correct. I recommend deleting the code, and rewriting it again by hand. That helps with me sometimes. Might catch a small typo or something.
Good luck,
Mike