Respuesta :
Answer:
I am writing the code in JAVA and C++. Let me know if you want the code in some other programming language. Both the programs works the same but the only difference is that i have used logical operator AND (&&) with C++ code to check each condition.
JAVA code:
import java.util.Scanner; // to take input from the user
public class ShippingCost { // ShippingCost class
public static void main(String[] args) { // main method entry to the program
Scanner input = new Scanner(System.in); //allows to take input from user
System.out.print("please enter the weight of the package: "); /*prompts the user to enter the weight of package.*/
double weight = input.nextDouble(); /*reads and stores the input values(weight) entered by the user*/
double cost=0; //holds the value of cost
if (weight<=0) /* checks if the user enters weight value less than or equals to 0 */
{ System.out.println("invalid input."); //prints invalid input
System.exit(0); //exits the program
}
else if (weight > 0 && weight <= 1) /*if weight is greater than 0 and less than or equal to 1*/
cost = 3.5; /*if the above condition is true then it stores the value 3.5 in cost variable */
else if (weight <= 3) // if value of weight is less than or equal to 3
cost = 5.5; /*if the above condition is true then it stores the value 5.5 in cost variable */
else if (weight <= 10) // if value of weight is less than or equal to 10
cost = 8.5; /*if the above condition is true then it stores the value 8.5 in cost variable */
else if (weight <= 20) // if value of weight is less than or equal to 20
cost = 10.5;/*if the above condition is true then it stores the value 10.5 in cost variable */
else // if the value of weight is greater than 20
{ System.out.println("The package cannot be shipped");
// displays package cannot be shipped
System.exit(0); //exits the program if weight>20}
System.out.println("The shipping cost is: $" + cost); /*prints the value stored in the cost from any of the above conditions */
} }
C++ Code
#include <iostream>//to use input output functions
using namespace std;
int main() // start of main() function body
{ double weight; //stores weight value
double cost= 0; //stores cost value
cout << "please enter the weight of the package:" << endl;
//prompts user to enter the weight
cin >> weight;
//reads the value of weight entered by the user
if (weight<=0) //if value of weight entered by user is less than or equal to 0
{ cout<<"invalid input."; //displays invalid input
exit(0); //exits the program
}
/*the below else if conditions are checked, if any one of them is true then the cost displayed in the output will be the which is assigned to cost variable of that specific if condition's body which evaluates to true. */
else if (weight > 0 && weight <= 1)
cost = 3.5;
else if (weight > 1 && weight <=3)
cost = 5.5;
else if (weight > 3 && weight <= 10)
cost = 8.5;
else if (weight> 10 && weight <= 20)
cost = 10.5;
else //if weight>20
//displays the message below and exits the program
{ cout<<"The package can not be shipped";
exit(0); }
cout<<"The shipping cost is: $"<<cost; /*displays the value stored in cost variable of that else-if condition which evaluates to true */
}
Explanation:
Everything is well explained in the comments above. I will summarize it all.
The program takes the input weight from the user and checks the value of weight.
If and else-if conditions are used to check the value of weight.
if the value of weight is less than 0 or equal to 0 then invalid input is displayed.
Else the weight value is checked for the given ranges. && operator is used in each else if statement which is used to specify the range of the weight values the input weight should be in order to display the shipping cost.
For example take this statement: else if (weight > 0 && weight <= 1)
This statement checks the value entered by the user that if it lies in the range mentioned in this statement which is that the weight value should be greater than 0 AND less than or equal to 1. The value cannot lie above or below the given range in order for this condition to be true so && operator is used here.
If the weight entered by user exceeds 20 then the message is displayed:The package can not be shipped and the program exits. In JAVA System.exit(0) and in c++ exit(0) function is used to exit the program.
The output of both the programs is as following:
please enter the weight of the package: 3
The shipping cost is: $ 5.5