Lo que sucede es que en el cout no se puede colocar la operación de resta, entonces, primero se opera la "c" y luego se imprime con cout.
Código c++:
Ver original#include <iostream>
using namespace std;
int main () {
char c;
cin >> c;
if(c >= 'a' and c<='z') {
c -= 'a' - 'A';
cout << c;
}else if(c >= 'A' and c<='Z'){
c -= 'A' - 'a';
cout << c;
}
cout << endl;
return 0;
}