我试图使用if语句检查输入的数字是否符合我允许的范围。但显然它不起作用。这是我的if语句
用户输入重量,我检查它是否在小/重量
之间 const float SMALL_WEIGHT = 2.3f; // low end 1st range weight
const float TOP_SMALL_WEIGHT = 4.3f; // top end 1st range weight
cout << "Enter the weight of the laptop: ";
cin >> weight;
if ( weight < SMALL_WEIGHT && weight > TOP_SMALL_WEIGHT )
{
cout << "The weight " << weight << " is not between "
<< SMALL_WEIGHT << " and " << TOP_WEIGHT << endl;
return 1;
}
我尝试使用逻辑或||但它仍然无法正常工作。
编辑:这是整个代码
#include <iostream>
#include <iomanip>
using namespace std;
const float SALE_START_PRICE = 500.0f; // discount if more than 500
const float DISCOUNT_PCT = .15f; // 15% discount
const float TAX_PCT = .075f; // tax is 7.5%
const float SMALL_WEIGHT = 2.3f; // low end 1st range weight
const float TOP_SMALL_WEIGHT = 4.3f; // top end 1st range weight
const float TOP_MID_WEIGHT = 5.8f; // top 2nd range weight
const float TOP_WEIGHT = 7.9f; // top 3rd range weight
const float SMALL_SHIP = 5.4f; // 1st range basic ship charge
const float MID_SHIP = 5.8f; // 2nd range basic ship charge
const float TOP_SHIP = 6.2f; // 3rd range basic ship charge
const float SMALL_SHIP_PCT = .025f;
const float MID_SHIP_PCT = 2.75f;
const float TOP_SHIP_PCT = 3.5;
int main()
{
float price, weight;
float discountAmount, salePrice;
float taxAmount, shippingCharges, totalSaleAmount;
cout << "Enter the original price of the laptop: ";
cin >> price;
cout << "Enter the weight of the laptop: ";
cin >> weight;
if ( weight < SMALL_WEIGHT && weight > TOP_SMALL_WEIGHT )
{
cout << "The weight " << weight << " is not between "
<< SMALL_WEIGHT << " and " << TOP_WEIGHT << endl;
return 1;
}
if ( price > SALE_START_PRICE )
{
discountAmount = price * DISCOUNT_PCT;
}
else
discountAmount = 0.00;
taxAmount = price * TAX_PCT;
salePrice = price - discountAmount;
if (weight < TOP_SMALL_WEIGHT)
shippingCharges = SMALL_SHIP + ( salePrice * SMALL_SHIP_PCT );
else if ( weight >= TOP_SMALL_WEIGHT && weight < MID_SHIP )
shippingCharges = MID_SHIP + ( salePrice * MID_SHIP_PCT);
else
shippingCharges = TOP_SHIP + ( salePrice * TOP_SHIP_PCT );
totalSaleAmount = salePrice + taxAmount + shippingCharges;
cout << fixed << showpoint << setprecision(2);
cout << "The original price : $" << price << endl;
cout << "The discount : $" << discountAmount << endl;
cout << "The sale price : $" << salePrice << endl;
cout << "The sales tax : $" << taxAmount << endl;
cout << "The shipping : $" << shippingCharges << endl << endl;
cout << "The total sale : $" << totalSaleAmount << endl;
return 0;
}
答案 0 :(得分:3)
weight
不能小于SMALL_WEIGHT
且大于TOP_SMALL_WEIGHT
。
我认为你想使用逻辑或||
所以它变成了:
if (weight < SMALL_WEIGHT || weight > TOP_SMALL_WEIGHT)
{
cout << "The weight " << weight << " is not between "
<< SMALL_WEIGHT << " and " << TOP_WEIGHT << endl;
return 1;
}