メインループを使う設計のゲームの場合は「選択肢を選ばせる間」も止めないのが基本
「選択」にgets,scanfなどプレイヤーの入力待ちするような関数を使ってたりしますか?

メインループが止まらないように実装できるならswitch文でも構わないと思うけど
「プレイヤーに選択肢を選ばせる」ところの実装が問題かな…

応用としては、タスクシステムとかスレッドって話になるのかも知れないけど