简体   繁体   中英

If else statement using upper and lower case letters

So I am having troubles. My professor wants me to write a basic program that adds up costs and outputs the rate for a cable company based if its a residential package or a business package using if else statements. The only issue I am having is he wants the user to be able to input either 'R' or 'r' upper case or lower base, same with 'B' or 'b'.

I was doing this

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

but it was not moving to the next else if statement if I used anything other than R or r. With the code beneath the program works exactly how I want it to but just without the lower case letters

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;
}

You need to check for each character in if condition with OR || operator:

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

Otherwise, you can use std::tolower or std::toupper to make the input characters uniform for comparisons with lowercase or uppercase letters respectively.

For example for lowercase comparison:

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM