Write a program that calculates the revenue of a trip of a train composed of several train-cars. For the train, the user will give the total allowed train-car count (int), total allowed weight (double), and base speed (double).
Write a program that calculates the revenue of a trip of a train composed of several train-cars. For the train, the user will give the total allowed train-car count (int), total allowed weight (double), and base speed (double).
Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
Related questions
Question
![Write a program that calculates the revenue of a trip of a train composed of several train-cars. For the
train, the user will give the total allowed train-car count (int), total allowed weight (double), and base
speed (double).
Then, the user will give train-car information for ALL train-cars that will TRY TO BE ADDED to the
train. First, the number of train-cars will be given (int). For each train-car, three information will be
given type of the cargo (std: string), weight of the train-car (double), and how full the train-car is (int).
After getting all this information, the program will TRY TO ADD each train-car to the train according
to the train-car count and total allowed weight values. You CANNOT ADD a train-car to a train if it
exceeds its train-car count. You CANNOT ADD a train-car to a train if by adding this train-car, the
total weight of the train exceeds the train's total allowed weight. Each added train-car reduces the speed
of the train by half its weight.
Finally, the program will get a distance (int) and a deadline (double) value, calculate the revenue of this
trip and prints it out to the screen. The revenue of a trip is the summation of the revenues of each train-
car ADDED to the train affected by the deadline. If the duration of the trip is longer than the deadlıne
there will be a 75% penalty.
Requirements:
• You should define and use a class for the train.
• You should define a class for train-car and use it for each train-car.
• All train related information should be kept as private inside the class.
• All train-car related information should be kept as private inside the class.
• Classes should take the related input in their constructor functions.
• Adding a train-car to the train should be done in a function of the appropriate class with error
messages for the two error cases as explained above with the following error messages:
o Exceeding total train-car count: Cannot add car, car capactity is reached
o Exceeding total allowed weight: Cannot add car, total allowed weight is reached
• Calculating the total revenue of the train should be done in a function of the train class.
Calculating the revenue of each train-car should be done in a function of the train-car class
• Getting all the user input, instantiating objects, adding train-cars to the train, and calling the
revenue calculation function of the train class should be done in the main() function
NOTE: The type of each train-car can either be "electronics", "furniture", or "animals".
NOTE: The fullness of a train-car can only be between 0- 100 (including limits).
NOTE: The revenue of a train-car is calculated based on the type of the cargo as below:
"electronics" train-car: 7.05*fullness
. "furniture" train-car: 10.25*fullness
"animals" train-car 86.1*fullness](/v2/_next/image?url=https%3A%2F%2Fcontent.bartleby.com%2Fqna-images%2Fquestion%2F00002bd2-10ca-4993-b845-1389e5a2074c%2F4bd3b9a5-6c0f-471b-831f-29ca8621d055%2Fzvlxxag_processed.jpeg&w=3840&q=75)
Transcribed Image Text:Write a program that calculates the revenue of a trip of a train composed of several train-cars. For the
train, the user will give the total allowed train-car count (int), total allowed weight (double), and base
speed (double).
Then, the user will give train-car information for ALL train-cars that will TRY TO BE ADDED to the
train. First, the number of train-cars will be given (int). For each train-car, three information will be
given type of the cargo (std: string), weight of the train-car (double), and how full the train-car is (int).
After getting all this information, the program will TRY TO ADD each train-car to the train according
to the train-car count and total allowed weight values. You CANNOT ADD a train-car to a train if it
exceeds its train-car count. You CANNOT ADD a train-car to a train if by adding this train-car, the
total weight of the train exceeds the train's total allowed weight. Each added train-car reduces the speed
of the train by half its weight.
Finally, the program will get a distance (int) and a deadline (double) value, calculate the revenue of this
trip and prints it out to the screen. The revenue of a trip is the summation of the revenues of each train-
car ADDED to the train affected by the deadline. If the duration of the trip is longer than the deadlıne
there will be a 75% penalty.
Requirements:
• You should define and use a class for the train.
• You should define a class for train-car and use it for each train-car.
• All train related information should be kept as private inside the class.
• All train-car related information should be kept as private inside the class.
• Classes should take the related input in their constructor functions.
• Adding a train-car to the train should be done in a function of the appropriate class with error
messages for the two error cases as explained above with the following error messages:
o Exceeding total train-car count: Cannot add car, car capactity is reached
o Exceeding total allowed weight: Cannot add car, total allowed weight is reached
• Calculating the total revenue of the train should be done in a function of the train class.
Calculating the revenue of each train-car should be done in a function of the train-car class
• Getting all the user input, instantiating objects, adding train-cars to the train, and calling the
revenue calculation function of the train class should be done in the main() function
NOTE: The type of each train-car can either be "electronics", "furniture", or "animals".
NOTE: The fullness of a train-car can only be between 0- 100 (including limits).
NOTE: The revenue of a train-car is calculated based on the type of the cargo as below:
"electronics" train-car: 7.05*fullness
. "furniture" train-car: 10.25*fullness
"animals" train-car 86.1*fullness
![n-car: 10.25 fullness
-car: 86.1 fullness
3300 100
1 50 87
2 12 10
animals 10 30
furniture 8 100
input
electronics 2 50
animals 40 70
electronics 3 95
animals 40 20
furniture 80 100
electronics 12 84
60 12
80 3.2
100 5.65
Cannot add car, car
Cannot add car,
capacity is reached
weight capacity
9635
is reached
Output
Cannot add car, car
capacity is reached
352.5
1025](/v2/_next/image?url=https%3A%2F%2Fcontent.bartleby.com%2Fqna-images%2Fquestion%2F00002bd2-10ca-4993-b845-1389e5a2074c%2F4bd3b9a5-6c0f-471b-831f-29ca8621d055%2Fafuaoma_processed.jpeg&w=3840&q=75)
Transcribed Image Text:n-car: 10.25 fullness
-car: 86.1 fullness
3300 100
1 50 87
2 12 10
animals 10 30
furniture 8 100
input
electronics 2 50
animals 40 70
electronics 3 95
animals 40 20
furniture 80 100
electronics 12 84
60 12
80 3.2
100 5.65
Cannot add car, car
Cannot add car,
capacity is reached
weight capacity
9635
is reached
Output
Cannot add car, car
capacity is reached
352.5
1025
Expert Solution
![](/static/compass_v2/shared-icons/check-mark.png)
This question has been solved!
Explore an expertly crafted, step-by-step solution for a thorough understanding of key concepts.
Step by step
Solved in 2 steps with 1 images
![Blurred answer](/static/compass_v2/solution-images/blurred-answer.jpg)
Recommended textbooks for you
![Computer Networking: A Top-Down Approach (7th Edi…](https://www.bartleby.com/isbn_cover_images/9780133594140/9780133594140_smallCoverImage.gif)
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
![Computer Organization and Design MIPS Edition, Fi…](https://www.bartleby.com/isbn_cover_images/9780124077263/9780124077263_smallCoverImage.gif)
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
![Network+ Guide to Networks (MindTap Course List)](https://www.bartleby.com/isbn_cover_images/9781337569330/9781337569330_smallCoverImage.gif)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
![Computer Networking: A Top-Down Approach (7th Edi…](https://www.bartleby.com/isbn_cover_images/9780133594140/9780133594140_smallCoverImage.gif)
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
![Computer Organization and Design MIPS Edition, Fi…](https://www.bartleby.com/isbn_cover_images/9780124077263/9780124077263_smallCoverImage.gif)
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
![Network+ Guide to Networks (MindTap Course List)](https://www.bartleby.com/isbn_cover_images/9781337569330/9781337569330_smallCoverImage.gif)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
![Concepts of Database Management](https://www.bartleby.com/isbn_cover_images/9781337093422/9781337093422_smallCoverImage.gif)
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
![Prelude to Programming](https://www.bartleby.com/isbn_cover_images/9780133750423/9780133750423_smallCoverImage.jpg)
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
![Sc Business Data Communications and Networking, T…](https://www.bartleby.com/isbn_cover_images/9781119368830/9781119368830_smallCoverImage.gif)
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY