c++基础问题,有没有帮一下的

我想判断d取得的是a,b,c 中的哪一个值,并输出这个值的名字,为什么会出现错误。
有没有帮忙指出修改的

img

该回答内容部分引用GPT,GPT_Pro更好的解决问题
答:
C++中判断d取得的是a,b,c三个值并输出值的名字时,如果用if else语句的话,可以这样写:

if(d==a)
    cout << "a";
else if(d==b)
    cout << "b";
else if(d==c)
    cout << "c";

由于C++语言支持switch-case语句,可以更简洁地表达此功能:

switch(d) {
    case a: 
        cout << "a"; 
        break; 
    case b: 
        cout << "b"; 
        break; 
    case c: 
        cout << "c"; 
        break; 
}  

上面的代码就可以实现我们要求的功能,也不会出错。
如果回答有帮助,望采纳。

该回答引用GPTᴼᴾᴱᴺᴬᴵ
您的代码中有几个语法错误和拼写错误,我会指出并提供修改建议。以下是您提供的代码,我在其中添加了注释以指出需要修改的地方:

#include <iostream> // 需要添加头文件
using namespace std; // 需要添加分号

int main() { // 缺少左括号
    int a = 0;
    int b = 0;
    int c = 0;
    int d = 0; // 缺少分号

    cout << "请输入小猪a,b,c的重量" << endl;
    cin >> a >> b >> c;
    cout << "a,b,c的质量分别为:" << a << " " << b << " " << c << endl; // 需要添加引号和空格

    d = (a > b ? a : b) > c ? (a > b ? a : b) : c; // 需要添加分号和括号

    cout << "小猪";
    if (d == a) { // 缺少左括号
        cout << "最重的是a" << endl;
    } else if (d == b) { // 缺少左括号
        cout << "最重的是b" << endl;
    } else { // 缺少左括号
        cout << "最重的是c" << endl;
    } // 缺少右括号

    return 0; // 缺少分号和右括号
}


希望这些修改能够帮助您解决问题并使代码正常运行。如果您仍然遇到问题,请随时询问。