현재 내 프로그램에서는 첫 번째 if 문을 실행합니다. 'w'가 요구 사항을 충족하지 못하는 경우에도 'w'에 3.5를 곱합니다. 입력 값을 4로 입력하면 출력은 14 (4 * 3.5)로 바뀌고 무게는 3에서 10 파운드 사이이므로 34 (4 * 8.5)가되어야합니다. 수정 프로그램은 간단하지만 프로그램을 찾을 수없는 것 같습니다.첫 번째 IF 문을 실행하는 프로그램
#include <iostream>
using namespace std;
int main()
{
float w, price;
cout << "Enter weight of package : ";
cin >> w;
if (0 < w <= 1)
{
price = 3.5 * w;
}
else if (1 < w <= 3)
{
price = 5.5 * w;
}
else if (3 < w <= 10)
{
price = 8.5 * w;
}
else if (10 < w <= 20)
{
price = 10.5 * w;
}
else if (20 < w <= 30)
{
price = 12.5 * w;
}
else if (30 < w)
{
cout << "The package cannot be shipped" << endl;
}
else
cout << "Invalid input" << endl;
cout << "Weight : " << w << " lbs" << endl;
cout << "Shipping cost : $" << price << endl;
}
아하이 봐요! 나는 '&&'를 사용하는 것에 대해 완전히 잊어 버렸고, 당신이 설명했던 것처럼 내 접근법이 어떻게 잘못 될지를 설명했습니다. 대단히 감사합니다. – Gizmoh