Dev*_*ere -2 c++ case duplicates switch-statement
我试图编写一个程序来帮助我找到给定角度的三角函数值。下面是程序,
    #include<iostream>
#include<cmath>
using namespace std;
void convert(char type);
int main()
{
    char ch;
    cout<<"Enter what angle value u want to calculate: 'c' for cos, 's' for sine and 't' for tan: ",cin>>ch;
    convert(ch);
    return 0;
}
void convert(char type)
{
    float angle;
    double num;
    switch (type)
    {
        case 'C' || 'c':
            cout<<"Enter angle value to calculate cos equivalent: ",cin>>angle;
            num = cos(angle);
            break;
        case 's' || 'S':
            cout<<"Enter angle value to calculate sin equivalent: ",cin>>angle;
            num = sin(angle);
            break;
        case 'T' || 't':
            cout<<"Enter angle value to calculate tan equivalent: ",cin>>angle;
            num = tan(angle);
            break;
        default:
            cout<<"\n\nInvalid Character\n";
    }
}
但是代码给了我错误
[错误] 重复大小写值
有人请帮助我理解此错误背后的逻辑以及此问题的替代解决方案。
问候,
如果你真的不能改变任何东西,那么你就被卡住了,但正确的代码是
case 'C': case 'c':
等等等等
你应该明白这||是一个具有精确含义的运算符,它与英语中的'or'的含义不同。所以
case 'C' || 'c':
并不意味着“案例 C 或 c”。这意味着计算'C' || 'c'case 语句的值并使用该值。