\u0026gt;Flower列挙を定義
データ構造としてはENUMと名前を一対一で紐づけしたいので、C言語だと言語の機能の制約によって意図すべきところから外れてしまうので良くないです。
C++の連想配列mapを使えばこのように意図通りにできます。
map\u0026lt;Flower, string\u0026gt; names {
{Flower::Iris, \u0026quot;アヤメ\u0026quot;},
{Flower::Tulip, \u0026quot;チューリップ\u0026quot;},
{Flower::Lily, \u0026quot;ユリ\u0026quot;},
{Flower::Dandelion, \u0026quot;タンポポ\u0026quot;},
};
これをつかうとEnumが与えられるだけで名前が出ます。データ構造をもちいてスイッチ文を消すのが良いからです。
Flower f = Flower::Iris;
cout \u0026lt;\u0026lt; names[f] \u0026lt;\u0026lt; endl;
あるいはC言語やC++のENUMは機能が低すぎるのでJavaのEnumを使うのが良いです。現代では欠陥品といえるENUMを与えられるので工夫とやらを行ってムダなswitch文を書かねばならないからです。