If else语句使用大小写字母

时间:2018-10-07 05:51:28

标签: c++

所以我遇到了麻烦。我的教授希望我编写一个基本程序,该程序会增加成本并根据使用if else语句的有线电视公司的住宅套餐或商务套餐输出有线电视公司的费率。 我唯一遇到的问题是他希望用户能够输入'R'或'r'大写字母或小写字母,与'B'或'b'相同。

我正在这样做

if(customer_Type=='R' || 'r')

但是如果我使用的不是R或r,它不会移至下一个if语句。程序下面的代码完全可以实现我想要的功能,但是没有小写字母

cout<<"Welcome to Cable Company billing procedure.\n";
cout<<"Enter your account number : ";
cin>>customer_Account_Number;
cout<<"Enter your customer type (residential input R or business input B) : ";
cin>>customer_Type;

-

    if(customer_Type=='R') // If residential
{
    cout<<"How many premium channels have you subscribed to?\n";
    cin>>num_Of_Prem_Channels;
    amount_Due = ResBillProcFee + ResBasicServCost + ResCostPremChannels * num_Of_Prem_Channels;
    cout<<"Your residential bill is $"<<amount_Due<<endl;
}
else if(customer_Type=='B')
{
    cout<<"Enter number of premium channels\n";
    cin>>num_Of_Prem_Channels;
    cout<<"Enter number of basic service connections\n";
    cin>>num_Of_Basic_Service_Connections;

    if (num_Of_Basic_Service_Connections <= 10)
    {
        amount_Due = BusBillProcFee + BusBasicServCost + num_Of_Prem_Channels * BusCostPremChannel;
    }
    else
    {
        amount_Due = BusBillProcFee + BusBasicServCost + (num_Of_Basic_Service_Connections - 10) * BusBasicConCost + num_Of_Prem_Channels * BusCostPremChannel;
    }
    cout<<"Your bill is :"<<BusBillProcFee + BusBasicServCost + (num_Of_Prem_Channels * BusCostPremChannel);
}


return 0;
}

1 个答案:

答案 0 :(得分:5)

您需要使用OR if运算符检查||条件下的每个字符:

if ( customer_Type == 'R' || customer_Type == 'r' )
{
    // ...
}

否则,您可以使用std::tolowerstd::toupper使输入字符统一,以便分别与小写或大写字母进行比较。

例如用于小写字母比较:

if ( std::tolower( customer_Type ) == 'r' )
{
    // ...
}