CSE1322 Assignment 3

CSE1322 Assignment 3

CSE1322 Assignment 3 Background: A rental car company has hired you to build an inventory system to keep track of their vehicles. The company, Acme Car Rentals, rents 3 classes of cars: Economy, Midsized and SUVs. Each rents for a different price. Their initial inventory is as follows: Type Make Model Color Current Original Rental Mileage Cost Rate Economy Nissan Versa Blue 105 $14,500 $25/day Economy Toyota Yaris White 8422 $17,500 $25/day Midsized Dodge Avenger Green 15720 $15,000 $45/day Midsized Ford Focus Yellow 2368 $14,500 $45/day SUV Toyota Rav4 Silver 432 $26,150 $80/day Classes you must create: ● Define a Vehicle class. ● It should have attributes for make, model, color, current mileage, original cost, and a boolean that keeps track of whether the vehicle is currently rented. ● It should have getters/setters for each attribute. ● It must have a constructor to set all attributes. ● It should have an override for toString or ToString which returns a string similar to: ○ Available: Blue Nissan Versa with 105 miles ○ Rented: Blue Nissan Versa with 105 miles ● Define an Economy_Car class. It should inherit from Vehicle. ○ It should have an attribute daily_rental_rate. ○ Create a constructor which takes in make, model, color, current mileage, original cost, and daily rental rate. ○ Create an override for toString/ToString which prints: ■ Economy Car: Rented: Blue Nissan Versa with 105 miles ● Note most of this is just the text that your parent class prints. ● Define a Midsize_Car class. It should inherit from Vehicle. ○ It should have an attribute daily_rental_rate. ○ Create a constructor which takes in make, model, color, current mileage, original cost, and daily rental rate. ○ Create an override for toString/ToString which prints: ■ Midsized Car: Available: Green Dodge Avenger with 15720 miles ● Note: Most of this is just the text that your parent class prints. ● Define a SUV class. It should inherit from Vehicle. ○ It should have an attribute daily_rental_rate. ○ Create a constructor which takes in make, model, color, current mileage, original cost, and daily rental rate. ○ Create an override for toString/ToString which prints: ■ SUV: Available: Silver Toyota RAV4 with 432 miles ● Note: Most of this is just the text that your parent class prints. Driver Program: ● In your driver class, create an ArrayList/List of Vehicles. ● Add each of the vehicles in the table above to your ArrayList/List. ● Create a method show_cars which takes in the ArrayList/List and prints out all of the vehicles in a menu like this: 0. Return 1. Economy Car: Available: Blue Nissan Versa with 105 miles 2. Economy Car: Available: White Toyota Yaris with 8422 miles 3. Midsized Car: Available: Green Dodge Avenger with 15720 miles 4. Midsized Car: Available: Yellow Ford Focus with 2368 miles 5. SUV: Available: Silver Toyota RAV4 with 432 miles ● Create a method rent_cars ○ Using a loop, prompt the user to: “Choose a car to rent:”. Call the show_cars() method above to produce a menu. ○ Read in a response, so long as it’s not 0, mark the chosen car as rented. ● Create a method return_cars ○ Using a loop, prompt the user to: “Choose a car to rent:”. Call the show_cars() method above to produce a menu. ○ Read in a response, so long as it’s not 0, mark the chosen car as available. ● Produce a main menu that looks like this: 1. Rent cars 2. Return cars 3. Quit ● Read in a choice and call the appropriate method above as long as the user doesn’t choose 3. Sample Output: 1. Rent cars 2. Return cars 3. Quit 1 Choose a car to rent: 0. Return 1. Economy Car: Available: Blue Nissan Versa with 105 miles 2. Economy Car: Available: White Toyota Yaris with 8422 miles 3. Midsized Car: Available: Green Dodge Avenger with 15720 miles 4. Midsized Car: Available: Yellow Ford Focus with 2368 miles 5. SUV: Available: Silver Toyota RAV4 with 432 miles 1 Choose a car to rent: 0. Return 1. Economy Car: Rented: Blue Nissan Versa with 105 miles 2. Economy Car: Available: White Toyota Yaris with 8422 miles 3. Midsized Car: Available: Green Dodge Avenger with 15720 miles 4. Midsized Car: Available: Yellow Ford Focus with 2368 miles 5. SUV: Available: Silver Toyota RAV4 with 432 miles 3 Choose a car to rent: 0. Return 1. Economy Car: Rented: Blue Nissan Versa with 105 miles 2. Economy Car: Available: White Toyota Yaris with 8422 miles 3. Midsized Car: Rented: Green Dodge Avenger with 15720 miles 4. Midsized Car: Available: Yellow Ford Focus with 2368 miles 5. SUV: Available: Silver Toyota RAV4 with 432 miles 0 1. Rent cars 2. Return cars 3. Quit 2 Choose a car to return: 0. Return 1. Economy Car: Rented: Blue Nissan Versa with 105 miles 2. Economy Car: Available: White Toyota Yaris with 8422 miles 3. Midsized Car: Rented: Green Dodge Avenger with 15720 miles 4. Midsized Car: Available: Yellow Ford Focus with 2368 miles 5. SUV: Available: Silver Toyota RAV4 with 432 miles 1 Choose a car to return: 0. Return 1. Economy Car: Available: Blue Nissan Versa with 105 miles 2. Economy Car: Available: White Toyota Yaris with 8422 miles 3. Midsized Car: Rented: Green Dodge Avenger with 15720 miles 4. Midsized Car: Available: Yellow Ford Focus with 2368 miles 5. SUV: Available: Silver Toyota RAV4 with 432 miles 3 Choose a car to return: 0. Return 1. Economy Car: Available: Blue Nissan Versa with 105 miles 2. Economy Car: Available: White Toyota Yaris with 8422 miles 3. Midsized Car: Available: Green Dodge Avenger with 15720 miles 4. Midsized Car: Available: Yellow Ford Focus with 2368 miles 5. SUV: Available: Silver Toyota RAV4 with 432 miles 0 1. Rent cars 2. Return cars 3. Quit 3 Submitting your answer: Please follow the posted submission guidelines here: https://ccse.kennesaw.edu/fye/submissionguidelines.php Ensure you submit before the deadline listed on the lab schedule for CSE1322L here: https://ccse.kennesaw.edu/fye/courseschedules.php Rubric: ● Vehicle Class (45 points total) ○ Original_cost attribute + getter/setter (5 points) ○ Miles attribute + getter/setter (5 points) ○ Make attribute + getter/setter (5 points) ○ Model attribute + getter/setter(5 points) ○ Color attribute + getter/setter(5 points) ○ Rented attribute + getter/setter(5 points) ○ Constructor (10 points total) ■ 5 parameters (1 point each) ■ Set the 5 attributes (1 point each) ○ toString/ToString override (5 points) ● Economy_Car Class (10 points total) ○ daily_rental_rate attribute (2 points) ○ Constructor (6 points total) ■ 6 parameters are taken in and set (1 point each) ○ toString/ToString override (2 points) ● Midsized_Car Class (10 points total) ○ daily_rental_rate attribute (2 points) ○ Constructor (6 points total) ■ 6 parameters are taken in and set (1 point each) ○ toString/ToString override (2 points) ● SUV Class (10 points total) ○ daily_rental_rate attribute (2 points) ○ Constructor (6 points total) ■ 6 parameters are taken in and set (1 point each) ○ toString/ToString override (2 points) ● Driver Class (25 points total) ○ show_cars() method (3 points total) ■ Use a loop/foreach loop to print the vehicles (3 points) ○ rent_cars() method (5 points total) ■ Prompt and read user response (2 points) ■ Successfully update rented attribute in selected car (3 points) ○ return_cars() method (5 points total) ■ Prompt and read user response (2 points) ■ Successfully update rented attribute in selected car (3 points) ○ ArrayList/List created (5 points) ○ 5 cars added per the table at the top of this doc (5 points total) ○ Main menu (2 points) .

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    5 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us