char でループって普通はあんまりしないな。

for (int i = 0; i <= UCHAR_MAX; i++) {
cout << (isprint(i) ? char(i) : ' ');
cout << ' ' << hex << i << ' ' << dec << i << endl;
}

こんな感じでどうか。 (switchは面倒いから省略した)