首页 > 解决方案 > 使用 C++ 的条件

问题描述

我正在编写一个简单的超速罚单程序,并且可以编译它,但是我无法让它读取我的条件并执行计算罚单的程序的最后部分。

#include <iostream> 

using namespace std;

int main()
{

    int speedTraveled;
    int speedLimit = 55;
    int mischiefSpeed = 75;
    int criminalSpeed = 110;
    
    cout << "How fast were you going? " << "\n";
    cin >> speedTraveled;

    
    if (speedTraveled >= 0 || speedTraveled >= 150)
    {
        if (speedTraveled > speedLimit && speedTraveled > mischiefSpeed)
        {
            int tFormula = ((speedTraveled - speedLimit) * 2) + 50;
            cout << "You were speed bettween 55mph - 75mph your fine is : ", tFormula, '\n';
        }

        else if (speedTraveled > mischiefSpeed && speedTraveled < 110)
        {
            int tFormula = ((speedTraveled - speedLimit) * 5) + 50;
            cout << "Your speed was over 75 mph but less than 110 mph your are being arrested : ", tFormula, '\n';
        }
        else if (speedTraveled >= criminalSpeed)
        {
            int tFormula = ((speedTraveled - speedLimit) * 2) + 50;
            cout << "You were speed over 110 mph your are being arrested : ", tFormula, '\n';
        }
    }
    
    return 0;
}

标签: c++

解决方案


我使用值 150 进行了测试。执行第一个 if 语句是因为您没有为其设置上限。尝试将第二个设置><. 与第一个 if 语句相同

if (speedTraveled >= 0 || speedTraveled >= 150) // No upper bound
if (speedTraveled >= 0 || speedTraveled <= 150) // Upper bound is 150

罚款金额未打印,因为您需要<<在尝试输出的不同数据类型之间插入运算符 ( )。cout使用与其他语言中的输出函数不同的语法。

cout << "You were speed between 55mph - 75mph your fine is : ", tFormula, '\n';
cout << "You were speed between 55mph - 75mph your fine is : " << tFormula << endl;

你有更多的 if 语句拼写错误,但我相信你能找到其余的。


推荐阅读