首页 文章

如何创建if / else语句来完成此任务

提问于
浏览
0

如果用户要为两个房子输入相同的基本价格和平方英尺,我怎么能创建另一个if / else语句来输出两种房屋类型?所有帮助表示赞赏 .

#include using namespace std;

int main()
{
    int baseColonial;
    int baseSplit;
    int baseSingle;
    int sqftColonial;
    int sqftSplit;
    int sqftSingle;
    int priceColonial;
    int priceSplit;
    int priceSingle;

    cout << "Please enter the base price of the Colonial home: ";
    cin >> baseColonial;
    cout << "Now please enter the finished area in square feet: ";
    cin >> sqftColonial;

    cout << "Please enter the base price of the Split-entry home: ";
    cin >> baseSplit;
    cout << "Now please enter the finished area in square feet: ";
    cin >> sqftSplit;

    cout << "Please enter the base price of the Single-story home: ";
    cin >> baseSingle;
    cout << "Now please enter the finished area in square feet: ";
    cin >> sqftSingle;

    priceColonial = baseColonial / sqftColonial;
    priceSplit = baseSplit / sqftSplit;
    priceSingle = baseSingle / sqftSingle;


    if ((priceColonial <= priceSplit) && (priceColonial <= priceSingle))
    {
        cout << endl << "The Colonial house is the cheapest." << endl;
    }
    else if ((priceSplit <= priceColonial) && (priceColonial >= priceSingle))
    {
        cout << endl << "The split-entry house is the cheapest." << endl;
    }
    else if ((priceSingle <= priceSplit) && (priceSplit >= priceColonial))
    {
        cout << endl << "The single-story house if the cheapest." << endl;
    }
    return 0;

我只是试图将这个代码用于一个场景,其中所有3个都是每平方英尺相同的价格,但它没有正常运行 . 我错过了什么?

否则如果((priceSingle == priceSplit)&&(priceSingle == priceColonial)){cout << endl <<“所有三个房屋模型的每平方英尺都有相同的价格 . ” << endl; }

2 回答

  • 0

    您需要将if / else if语句中的> =和<=比较更改为>或<,以使最后一个else语句生效 . 否则,当所有房屋价格相同时,将满足第一个if条件 . 也就是说,例如,如果所有房屋的价格都是50,那么因为您的第一个条件指定(priceColonial <= priceSplit)&&(priceColonial <= priceSingle),这个条件将成立,因为您还要检查此条件下的相等性 .

    你可以这样:

    if ((priceColonial < priceSplit) && (priceColonial < priceSingle))
    {
        cout << endl << "The Colonial house is the cheapest." << endl;
    }
    else if ((priceSplit < priceColonial) && (priceColonial > priceSingle))
    {
        cout << endl << "The split-entry house is the cheapest." << endl;
    }
    else if ((priceSingle < priceSplit) && (priceSplit > priceColonial))
    {
        cout << endl << "The single-story house if the cheapest." << endl;
    }
    else if ((priceSingle == priceSplit) && (priceSingle==priceColonial)) 
    { 
        cout << endl << "All three house models have the same price per     square foot." << endl; 
    }
    
  • 0

    检查下面的其他 - 如果梯子:

    if (priceColonial < priceSplit) {
        if (priceColonial < priceSingle) {
            cout << endl << "The Colonial house is the cheapest." << endl;
        }
        else if(priceColonial == priceSingle) {
            cout << endl << "The Colonial and Single-story houses are cheaper." << endl;
        }
        else {
            cout << endl << "The Single-entry house is the cheapest." << endl;
        }
    }
    else if(priceColonial == priceSplit) {
        if (priceColonial < priceSingle) {
            cout << endl << "The Colonial and Split-entry houses are cheaper." << endl;
        }
        else if(priceColonial == priceSingle) {
            cout << endl << "All are of same price." << endl;
        }
        else {
            cout << endl << "The Single-entry house is the cheapest." << endl;
        }
    }
    else {
        if (priceSplit < priceSingle) {
            cout << endl << "The Split-entry house is the cheapest." << endl;
        }
        else if(priceSplit == priceSingle) {
            cout << endl << "The Split-entry and Single-story houses are cheaper." << endl;
        }
        else {
            cout << endl << "The Single-entry house is the cheapest." << endl;
        }
    }
    

相关问题