このプログラムでは、0~4000(か4096かどちらか)のモンスター番号があって、そのうち0から4を表示し、5以上は「?~?」を表示する処理になっています。 やり方の一つとしては、モンスター番号を判定するとき、そのモンスターを表示して良いかどうかの判定も一緒に実行して、両方の条件が正しいとき「&&」に情報を表示して、そうで無いとき「ELSE」は「?~?」を表示する方法があります。 表示して良いか否かの情報は、モンスター番号で索引出来る最大モンスター番号の大きさの配列変数か最大モンスター番号の長さの文字列変数を使う方法が考えられますが、自分のやりやすい方法があれば、その方法が良いと思います。