Title_syori(処理したいメニュー番号);と意味づけるのが王道だと思いますよ。関数が、すべてのメニューの状態を処理するというのはいささかどうかと思いますが。関数が返した番号によって処理を振り分けるわけです。メニューの数だけ分割してみました。8年前ざっと見させて頂きましたが処理の分け方が適当なのでよろしく無いです。Draw以外の所にDrawString系が入っていますので、これが良くないです。全部Drawに集めましょう。状態を持つ構造体を作れば管理できると思います。処理も入り口は一つで良いはずですので、WinMainからはTitleMenu_Update()とTitleMenu_Draw()だけを呼び出すようにしてみてはどうでしょうか?TitleMenu_Update()の中から必要に応じてファイル内の関数を呼び出すようにします。あと戻り値を活用していません。WinMainのgameに影響を与えたいならTitleMenu_Update()から切り替えるための情報を戻り値で返せば良いと思います。方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。内に引数として番号を渡しましょう。関数では、選択された番号を戻り値として返しましょう。龍神録の館のコードをざっくり読むとシンプルに次のような感じになってますね。構造自体は、非常にシンプルです。ここで重要なのは、このゲーム常態を誰が管理するか。龍神録の場合は、メインファイルに静的なグローバル変数なので、管理者はメインファイルです。管理者を飛び越してますね。引数・戻り値を活用し、必要なデータはすべて管理者の手元に戻るようにしましょう。2度目のコードなのですが。呼び出すべきではありません。