http://d.hatena.ne.jp/fkm/20060506/p1
const char * const hoge[] = { "pop", "no", "zip" ... }; ... for( int i = 0; i < sizeof(hoge)/sizeof(hoge[0]); ++i ){ if( strcmp( s, hoge[i] ) == 0 ) break; }
とりあえずリスト化すれば、std::findとかいくらでも方法がある。
長いswitch文やそれに相当する if - else if - がある場合は、データとプログラムの分離を考えよう。