Ask Question, Ask an Expert

+1-415-315-9853

info@mywordsolution.com

Ask Computer Engineering Expert

In an advanced country, a point system is maintained to keep track of erring drivers, and vehicle owners. The objective for this lab is to come up with software to keep track of penalties incurred by the drivers, and help decide those drivers whose driving license should be revoked.

Each driver is assigned an initial score of ten. Every minor offense (parking ticket, over speeding, under speeding, etc.) will be awarded a penalty of -1. Every major offense (drunk driving, reckless driving, and accidents) will be awarded a penalty of -5.  If a driver's score becomes 0 or negative, his/her license will be revoked.

For this problem, it is assumed that the owner of the car is always going to be driving the car. The list of offenses is provided as a text file containing the vehicle number and the nature of offense (Minor, Major). The list of drivers along with their UID and license number is available as input in a file named drivers.txt. A file named owners.txt maps the vehicle number to the UID of the owner. For the sake of simplicity, license number is a 10-digit integer, and vehicle number contains 3 characters followed by 4 digits. UID is a unique identifier provided to every citizen in the country, and it contains 12 digits.

The data structures to be used, the file format for various files and the general step-by-step process for this lab’s task are being stated in the remainder of this document.

 Data structures to be used:

A) Vehicle: This contains the list of all vehicles along with the vehicle number and UID of owners, with UID as the key.  Vehicle is maintained as a dynamic list.

B) Drivers: This represents the dynamic list of the tuples (license number, UID, score).

C) RevokeList: This list contains the current list of revoked drivers in the form of tuple (license number, vehicle number, UID).

File Formats:

The file format for the input files is as follows:

drivers.txt:

 ,

For ex:

182930101222,9929929921

 The file format for owner.txt is as follows:



Note: There is no space between number of items and item name. End Note.

For ex:

182930101222,KLA1512

 The file format for offenses.txt is as follows

 

For ex:

DNA1423 1

KAS1002 0

BEL1923 0

KAS1002 1


Note that 0 indicates Minor offense here, and 1 indicates a major offense.

Step 1: Identify appropriate data structures relevant for the problem and prepare them in Offense.h

Step 2: Design Offense ADT with the following operations (OffenseOps.h). The relevant operations are:

i) populateVehicles: This function reads input from file and populates its content in the Vehicles list in lexicographic order of vehicle numbers. It then returns the populated list.

ii) populateDrivers: This function reads input from file  and populates its content in the Drivers list in non-decreasing order of UIDs. It then returns the populated list.

iii) updateOffenses: This function reads the contents of the file containing offenses. It looks up the Vehicle list to find the UID of owner. Using the UID, it looks up the license number of the driver. It then updates the score in the corresponding tuple in the drivers list.

iv) markRevokedDrivers: This function identifies all drivers whose license needs to be revoked, and puts them in the file named revoke.txt

v) Add prototypes in OffensesOps.h

You might need the following support functions:

a)  insertVehicle: this function inserts a row of vehicle details in order

b)  insertDriver: this function inserts a row of driver details in order

c) lookupUID: search for a UID from the Vehicles list given the vehicle number, and return it.

d)  lookupVehicle: search  for  a vehicle number from the  Vehicle List given the  UID of the owner and return it.

e)  lookupDriverDetails: search  the Drivers list based on UID,   and return the index of the entry containing that UID.

 

Step 3: Implement the above operations in the corresponding c files

·         All relevant code must go to OffensesOps.c

·         All list creations must have filename as a parameter.

 Step 4:  driver file.

Create a simple driver file (revoke.c) that can read multiple input files corresponding to the various input files. The names of input files are passed as command line parameters.  Note that if no input file is passed, the program should attempt to run with drivers.txt, owners.txt and offenses.txt for the relevant input set.

The executable revoke generates output files revoke.txt that will contain the list of drivers (license number, UID, vehicle number) whose license is to be revoked.

For the purposes of testing, you may implement some functions to print the data structures or other test data.

But all such functions must be commented before submission to server.

Deliverables: All relevant header files, OffenseOps.c, revoke.

Computer Engineering, Engineering

  • Category:- Computer Engineering
  • Reference No.:- M986

Have any Question? 


Related Questions in Computer Engineering

1 draw the pipeline execution diagram for this code

1. Draw the pipeline execution diagram for this code, assuming there are no delay slots and that branches execute in the EX stage. 2. Repeat 4.14.1, but assume that delay slots are used. In the given code, the instructio ...

Multimedia systems development assignmentquestion 11 why

Multimedia Systems Development Assignment Question 1 1. Why was the Macintosh a turning point in multimedia computing? 2. Why was Tim Berners-lee's development of the World Wide Web significant in the evolution of multim ...

Your company is debating transferring all of their

Your company is debating transferring all of their information to a Cloud storage provider. The CFO feels this move is a big cash savings plan, one that could save the company a lot of money. The CIO feels the risk is to ...

1 list and define the factors that are likely to shift in

1. List and define the factors that are likely to shift in an organization's information security environment. 2. Who decides if the information security program can adapt to change adequately? 3. List and briefly descri ...

1 what drawbacks to symmetric and asymmetric encryption are

1. What drawbacks to symmetric and asymmetric encryption are resolved by using a hybrid method like Diffie Hellman? 2. What is steganography, and what can it be used for? 3. Which security protocols are predominantly use ...

1 using the cidr notation show the ipv6 address compatible

1. Using the CIDR notation, show the IPv6 address compatible to the IPv4 address 129.6.12.34. 2. Using the CIDR notation, show the IPv6 address mapped to the IPv4 address 129.6.12.34. 3. Using the CIDR notation, show the ...

A postfix expression evaluator works on arithmetic

A postfix expression evaluator works on arithmetic statements that take the following form: op1 op2 operator... Using two stacks, one for the operands and one for the operators, design and implement a Calculator class th ...

1 using the window method and a nonkaiser window design a

1. Using the window method and a nonKaiser window, design a digital highpass filter with Ω s = 0.45π, Ω p = 0.5π, and α s = 60 dB 2. Using the window method with a Blackman window, design a length Lh = 11 digital bandpas ...

In a network using the go-back-n protocol with m 3 and the

In a network using the Go-Back-N protocol with m = 3 and the sending window of size 7, the values of variables are S f = 62, S n = 66, and R n = 64. Assume that the network does not duplicate or reorder the packets. a. W ...

Using the kronecker product recursion 5104 prove that a 2n

Using the Kronecker product recursion (5.104), prove that a 2n x 2n Hadamard transform is orthogonal.  Calculate and plot the energy packed in the first 1, 2, 4, 8, 16 sequency ordered samples of the Hadamard transform o ...

  • 4,153,160 Questions Asked
  • 13,132 Experts
  • 2,558,936 Questions Answered

Ask Experts for help!!

Looking for Assignment Help?

Start excelling in your Courses, Get help with Assignment

Write us your full requirement for evaluation and you will receive response within 20 minutes turnaround time.

Ask Now Help with Problems, Get a Best Answer

Section onea in an atwood machine suppose two objects of

SECTION ONE (a) In an Atwood Machine, suppose two objects of unequal mass are hung vertically over a frictionless

Part 1you work in hr for a company that operates a factory

Part 1: You work in HR for a company that operates a factory manufacturing fiberglass. There are several hundred empl

Details on advanced accounting paperthis paper is intended

DETAILS ON ADVANCED ACCOUNTING PAPER This paper is intended for students to apply the theoretical knowledge around ac

Create a provider database and related reports and queries

Create a provider database and related reports and queries to capture contact information for potential PC component pro

Describe what you learned about the impact of economic

Describe what you learned about the impact of economic, social, and demographic trends affecting the US labor environmen