MS-DOSのようなコマンド入力を受け付けるようなプログラムを組んでいるのですが、

char name[20];
char *p;
int j = 0;

cin >> name;
p = name;

if(*p == 'a'){
j = 1;
}

p++;

if(*p == 'b'){
j = 1;
}

if(j == 1){
cout << "成功\n";
}else{
cout << "失敗\n";
}
return 0;

のように書くと、コマンドの文字数や種類が増えるにつれて何行もif文に費やされることになってしまいます。
簡略化できる方法を教えてください。