c++ - C/C++ 语言的新手。出了什么问题?

标签 c++ switch-statement

感谢您观看这篇文章。我的编程需要一些帮助。我以前用 turbo pascal 编译,现在我正在学习 C++。问题来了。
我想用这样的输入和输出做一个数学东西。
输入(伪代码):

Var a,b:=int; op:=char;
readln(a);
readln(b);
case op of
"+" : write(a+b);
"-" : write(a-b);
">" : if a>b then write("true"); else write("false"); 

我试过像这样用 C++ 来做,但编译失败。我不把 include 放在这里是因为我真的不明白为什么它会变成粗体。我是这样写的。

void main()
{
    int a,b,c;
    char op;
    std::cin>>a>>op>>b;
    switch (c){
    case (std::cin>>op == "+") :{
        c=a+b;
        std::cout<<c<<std::endl;
                           }
    }
}

这是错误

1>test03.cpp(10): error C2051: case 表达式不是常量

1>test03.cpp(14):警告 C4060:switch 语句不包含“case”或“default”标签
谁能帮我?谢谢。

最佳答案

你不给 c 赋任何值,当你想在 switch block 中使用它时,它包含垃圾。

我想你想写

switch(op)

case '+'

关于c++ - C/C++ 语言的新手。出了什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16759414/

相关文章:

java - 如何通过套接字 C++ 服务器/Java 客户端发送 int

c++ - 如何在C++中获取类的第n个属性

ios - Swift:使用元组的单个开关案例中的多个间隔

clojure - Lein 检查 : case has int tests, 但测试的表达式不是原始的

c# - Resharper 能否将 case 语句格式化为与 case 本身在同一行开始?

c++ - 使用不遵循 'strict weak ordering' 的比较函数对列表进行排序

c++ - async_connect 不调用 TCP 客户端类中的处理程序

c++ - QScrollBar QPlaintextEdit setValue不起作用

Java switch case - 默认与显式枚举

c++ - 如何在不诉诸 const_cast 的情况下打开 HINSTANCE?