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 - がある場合は、データとプログラムの分離を考えよう。