C++ 固定if语句 #包括 使用名称空间std; int main(){ 双倍重量; 库特威特; 如果(weight>0.0 | | weight

C++ 固定if语句 #包括 使用名称空间std; int main(){ 双倍重量; 库特威特; 如果(weight>0.0 | | weight,c++,C++,你能想出一个既不是>0.0也不是0.0始终为真。因此,第一个if块将始终导致“真”,因此将始终打印“运费为3.5 Dhs” 提示:在给出检查范围时,使用“&&”而不是“||”仔细检查weight>0.0 | | weight>0.0”并不总是正确的。weight>0如果用户输入负值则不正确。另外,因为(在物理学中)重量被指定为质量乘以加速度,即它是一种力,由于在某个参考系中具有负加速度,物体在该参考系中可能具有负重量。 #include<iostream> using namespa

你能想出一个既不是
>0.0也不是
<1.0
的数字吗

这就是你的if语句要检查的

正如@NathanPierson所建议的,您可能希望使用
&&
而不是
|

您应该养成“桌面检查”程序的习惯;尝试一些示例输入并思考将发生什么:

示例:

  • 权重=-1:即
    0.0
    0.0
只需将“| |”替换为“&&”

重量>0.0始终为真。因此,第一个if块将始终导致“真”,因此将始终打印“运费为3.5 Dhs”


提示:在给出检查范围时,使用“&&”而不是“||”

仔细检查
weight>0.0 | | weight>0.0”并不总是正确的。
weight>0
如果用户输入负值则不正确。另外,因为(在物理学中)重量被指定为质量乘以加速度,即它是一种力,由于在某个参考系中具有负加速度,物体在该参考系中可能具有负重量。
#include<iostream>
using namespace std;
int main(){
double weight;
cout<<"Enter the weight of the package \n";
cin>>weight;
if(weight>0.0 || weight<= 1.0){
cout << "The shipping cost is 3.5 Dhs";}
else if (weight>1.0 || weight<=3.0){
    cout << "The shipping cost is 5.5 Dhs";
}
else if(weight>3.0 || weight<=10.0){
    cout << "The shipping cost is 8.5 Dhs";
}
else if (weight>10.0 || weight<=20.0){
    cout << "The shipping cost is 10.5 Dhs";
}
else{
    cout<<"Invalid weight";
}
}