1 Introduction to Programming PROG9000 Final Project 2019 XXXXXXXXXXDeadline Monday 6th January 2020, 11:59pm • Part 1: Practical program build - Problem Definition • Part 1: Practical program build -...

1 answer below »
There will be no need to work on the part 2 which is a write up .i would do that myself ...i just need the codes working....and important note all work should be done on jupyter and the gui should be done with tkinter


1 Introduction to Programming PROG9000 Final Project 2019 Deadline Monday 6th January 2020, 11:59pm • Part 1: Practical program build - Problem Definition • Part 1: Practical program build - Program Basic Specifications • Part 2: Essay on GIS application • Marking Scheme PART 1 Problem A car rental company hires you to develop their reservation system. The system should deal with customers’ queries providing a quote for the given dates and type of car. It should check for availability and make/cancel reservations. Types of vehicles and their characteristics: ▪ cars: make/model,km/l,numPassenger,num_doors,plate number, daily cost, weekly cost, weekend cost, available ▪ vans: make/model,km/l,numPassenger,plate number, daily cost, weekly cost, weekend cost,available ▪ caravans: make/model, km/l, num_beds, plate number, daily cost, weekly cost, weekend cost,available Company side The program will have a company username that will allow the staff in the company to enter/delete vehicles. A basic set of vehicles should be created in the code. Customer side The program must be able to: a) Display the specific vehicles available for rent by vehicle type. b) Display cost associated with a given vehicle including daily, weekend and weekly rate. c) It must also allow the user to determine the cost of a particular vehicle for a given period of time. d) The program must allow for a particular vehicle to be reserved and cancelled. 2 Technical requirements Object oriented approach: Instantiation, use of attributes and methods Use of inheritance, use of lists/dictionaries as appropriate, use of GUI , efficient code, comments, error checking, string control for upper/lower case, etc… PART 1 - Specs 1. Create the classes required to store all the vehicle data. Create the objects. 2. Use the ‘Vehicles project data’ file for details on the vehicles and prices. 3. Create the structure for a customer to search the vehicles by type. 4. Create the structure for a customer to query the cost of renting a particular vehicle. a. Generic pricing b. Specific to number of days. 5. Create the structure for a customer to rent a car (make available attribute =N) and return it (make available attribute=Y). 6. Create the structure for the admin user to add a new car to the fleet. 7. Create the structure for the admin user to delete a car from the fleet. 8. Create a functional GUI PART 2 Write a short essay on how you could extend the program you have developed to an application that would be relevant to GIS. Use pseudocode to explain your identified application. Max 300 words Introduction to Programming Project 3 Marking Scheme 2019 Marks for PROG9000 Project 2019: Total Marks Available 60 Item Percentage Marks Cumulative Total Part 1 Detailed outline design of project, breakdown of how to achieve each task, programming methodology used, and how to tie it all together. 17% 10 10 Outline of Object Oriented Programming (OOP) approach to this project - itemise each object with its properties and methods 8% 5 15 Execution of OOP in code (creating classes, creating instances) 17% 10 25 Detailed GUI design, using prototype tool such as Qt Designer or with other graphical method. 8% 5 30 Execution of GUI in code, how well it guides the user, how intuitive it is, how well it works. 8% 5 35 Implementation of Project Specification 8% 5 40 Quality of Commenting in Code 5% 3 43 Execution of Code - Debugging, Fault finding 8% 5 48 Novel aspects of code (implement something we haven't covered in class!) 5% 3 51 Part 2 Describe an extension to the program applicable to GIS 8% 5 56 Use descriptions of pseudocode to show your idea 7% 4 60 END Introduction to programming Project Cars Make Model Km/l Number of passengers Number of doors Plate number Daily cost Weekly cost Weekend cost Audi A5 10 5 4 171-D-128 €20 €120 €150 Ford Fiesta 20 5 3 12-D-564 €12 €85 €45 Toyota Corolla 15 5 5 152-C-854 €15 €95 €50 Ford Focus 15 5 5 141-WW-965 €15 €95 €50 Renault Clio 20 5 3 12-G-741 €12 €65 €45 Vans Make Model Km/l Number of passengers Plate number Daily cost Weekly cost Weekend cost Renault Other 10 2 151-D-874 €45 €260 €220 Citroen Berlingo 15 3 12-D-965 €45 €165 €85 Peugot Partner 8 4 12-C-758 €50 €185 €85 Citroen Berlingo 15 3 142-G-511 €45 €165 €85 Caravans (RV) Make Model Km/l Number of beds Plate number Daily cost Weekly cost Weekend cost Renault C 12 4 11-D-146 €50 €350 €215 Citroen B 20 6 10-D-965 €50 €365 €285 Peugot P 11 4 12-C-143 €50 €350 €200 Citroen B 15 2 131-G-111 €50 €255 €185
Answered Same DayJan 06, 2021

Answer To: 1 Introduction to Programming PROG9000 Final Project 2019 XXXXXXXXXXDeadline Monday 6th January...

Ria answered on Jan 07 2021
148 Votes
vehicles-project/vehicles-project-data.docx
Introduction to programming         Project
Cars
        Make
        Model
        Km/l
        Number of passengers
        Number of doors
        Plate number
        Daily cost
        Weekly cost
        Weekend cost
        Audi
        A5
        10
        5
        4
        171-D-128
        €20
        €120
        €150
        Ford
        Fiesta
        20
        5
        3
        12-D-564
        €12
        €85
        €45
        Toyota
        Corolla
        15
        5
        5
        152-C-854
        €15
        €95
        €50
        Ford
        Focus
        15
        5
        5
        141-WW-965
        €15
        €95
        €50
        Renault
        Clio
        20
        5
        3
        12-G-741
        €12
        €65
        €45
Vans
        Make
        Model
        Km/l
        Number of passengers
        Plate number
        Daily cost
        Weekly cost
        Weekend cost
        Renault
        Other
        10
        2
        151-D-874
        €45
        €260
        €220
        Citroen
        Berlingo
        15
        3
        12-D-965
        €45
        €165
        €85
        Peugot
        Partner
        8
        4
        12-C-758
        €50
        €185
        €85
        Citroen
        Berlingo
        15
        3
        142-G-511
        €45
        €165
        €85
Caravans (RV)
        Make
        Model
        Km/l
        Number of beds
        Plate number
        Daily cost
        Weekly cost
        Weekend cost
        Renault
        C
        12
        4
        11-D-146
        €50
        €350
        €215
        Citroen
        B
        20
        6
        10-D-965
        €50
        €365
        €285
        Peugot
        P
        11
        4
        12-C-143
        €50
        €350
        €200
        Citroen
        B
        15
        2
        131-G-111
        €50
        €255
        €185
vehicles-project/vehicles-project.py
import tkinter as tk
from tkinter import *
from tkinter import ttk
import docx
from docx import Document
document = Document ('vehicles-project-data.docx')
class cars():
    make=('0')
    model=('0')
    km=('0')
    p_no=('0')
    d_no=('0')
    pl_no=('0')
    d_cost=('0')
    wl_cost=('0')
    we_cost=('0')
    avail='0'
    
    def __init__(self):
        table = document.tables[0]
        for row in table.rows:
            self.make=row.cells[0].text
            self.model=row.cells[1].text
            self.km=row.cells[2].text
            self.p_no=row.cells[3].text
            self.d_no=row.cells[4].text
            self.pl_no=row.cells[5].text
            self.d_cost=row.cells[6].text
            self.wl_cost=row.cells[7].text
            self.we_cost=row.cells[8].text
            self.avail='Y'
    def add(self, make):
        self.make=make
class vans:
    make=('0')
    model=('0')
    km=('0')
    p_no=('0')
    pl_no=('0')
    d_cost=('0')
    wl_cost=('0')
    we_cost=('0')
    avail='0'
    def __init__(self):
        table = document.tables[1]
        for row in table.rows:
            self.make=row.cells[0].text
            self.model=row.cells[1].text
            self.km=row.cells[2].text
            self.p_no=row.cells[3].text
            self.pl_no=row.cells[4].text
            self.d_cost=row.cells[5].text
            self.wl_cost=row.cells[6].text
            self.we_cost=row.cells[7].text
            self.avail='Y'
    def add(self, make):
        self.make=make
class caravans:
    make=('0')
    model=('0')
    km=('0')
    b_no=('0')
    pl_no=('0')
    d_cost=('0')
    wl_cost=('0')
    we_cost=('0')
    avail='0'
    def __init__(self):
        table = document.tables[2]
        for row in table.rows:
            self.make=row.cells[0].text
            self.model=row.cells[1].text
            self.km=row.cells[2].text
            self.b_no=row.cells[3].text
            self.pl_no=row.cells[4].text
            self.d_cost=row.cells[5].text
            self.wl_cost=row.cells[6].text
            self.we_cost=row.cells[7].text
            self.avail='Y'
    def add(self, make):
        self.make=make
def company():
    v = tk.Tk()
    v.title("Staff zone of Car Rental Company")
    def click1():
        if (cb1.get() == 'Add'):
            def click2():
                if (cb2.get() == 'Cars'):
                    def click3():
                        l4 = ttk.Label(v, text = "New vehicle added")
                        l4.grid(column=0,row=9)
                        car=cars()
                        make=cb3.get()
                        car.add(make)
                    l3 = ttk.Label(v, text = "Add Vehicles")
                    l3.grid(column=0,row=6)
                    cb3 = ttk.Combobox(v, values=["Enter the vehicle name by your keyboard"])
                    cb3.grid(column=0, row=7)
                    b3 = ttk.Button(v, text="Confirm", command=click3)
                    b3.grid(column=0, row=8)
                    
                elif (cb2.get() == 'Vans'):
                    def click3():
                        l4 = ttk.Label(v, text = "New vehicle...
SOLUTION.PDF

Answer To This Question Is Available To Download

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here