错得太离谱了:1、switch里面的语句基本全是错的,switch的条件用错了,calculator根本用不上,case语句全错,计算表达式全错,右值被你写到了左边2、b的定义也是错的,你输入的是计算符号,应该用char类型可以修改为int main() { long a, c, n; char b; cin >> a >> b >> c; switch (b) { case '+': n = a + b; cout<<"计算结果:"<