C++ Program
The program should have a main and the output and the other headers.
C++ only, the book is data abstraction and problem solver chapter 13 programing problem 8
8. The people who run the Motor Vehicle Department (MVD) have a problem. They are concerned that peo not spend enough time waiting in lines to appreciate the privilege of owning and driving an automobile current arrangement is as follows: When people walk in the door, they must wait in a line to sign in. . Once they have signed in, they are told either to stand in line for registration renewal or to wait until they are called for license renewal. . Once they have completed their desired transaction, they must go and wait in line for the cashier When they finally get to the front of the cashier's line, if they expect to pay by check, they are told that all claecks must get approved. To do this, it is necessary to go to the check-approver's table and then reenter the cashier's line at the end. + Fit to width Programming Problems 395 Write an event-driven simulation to help the MVD gather statistics. Each line of input will contain A desired transaction code (L for license renewal, R for registration renewal) A method-of-payment code (s for cash, C for check) - An arrival time integer) A name Write out the specifics of each event (when, who, what, and so on). Then display these final statistics: The total number of license renewals and the average time spent in MVD (arrival until completion of payment) to renew a license The total number of registration renewals and the average time spent in MVD (arrival until completion of payment) to renew a registration Incorporate the following details into your program: Define the following events: arrive, sign in, renew license, renew registration, and cope with the cashier (make a payment or find out about check approval). . In the case of a tie, let the order of events be determined by the list of events just given that is, arrivals have the highest priority. Assume that the various transactions take the following amounts of time: Sign in 10 seconds Renew license 90 seconds Register automobile 60 seconds See cashier (payment) 30 seconds See cashier (check not approved) 10 seconds As ridiculous as it may seem, the people waiting for license renewal are called in alphabetical order. Note, however, that people are not pushed back once their transactions have started. For the sake of this simulation, you can assume that checks are approved instantly. Therefore, the rule for arriving at the front of the cashier's line with a check that has not been approved is to go to the back of the cashier's line with a check that has been approved. 8. The people who run the Motor Vehicle Department (MVD) have a problem. They are concerned that peo not spend enough time waiting in lines to appreciate the privilege of owning and driving an automobile current arrangement is as follows: When people walk in the door, they must wait in a line to sign in. . Once they have signed in, they are told either to stand in line for registration renewal or to wait until they are called for license renewal. . Once they have completed their desired transaction, they must go and wait in line for the cashier When they finally get to the front of the cashier's line, if they expect to pay by check, they are told that all claecks must get approved. To do this, it is necessary to go to the check-approver's table and then reenter the cashier's line at the end. + Fit to width Programming Problems 395 Write an event-driven simulation to help the MVD gather statistics. Each line of input will contain A desired transaction code (L for license renewal, R for registration renewal) A method-of-payment code (s for cash, C for check) - An arrival time integer) A name Write out the specifics of each event (when, who, what, and so on). Then display these final statistics: The total number of license renewals and the average time spent in MVD (arrival until completion of payment) to renew a license The total number of registration renewals and the average time spent in MVD (arrival until completion of payment) to renew a registration Incorporate the following details into your program: Define the following events: arrive, sign in, renew license, renew registration, and cope with the cashier (make a payment or find out about check approval). . In the case of a tie, let the order of events be determined by the list of events just given that is, arrivals have the highest priority. Assume that the various transactions take the following amounts of time: Sign in 10 seconds Renew license 90 seconds Register automobile 60 seconds See cashier (payment) 30 seconds See cashier (check not approved) 10 seconds As ridiculous as it may seem, the people waiting for license renewal are called in alphabetical order. Note, however, that people are not pushed back once their transactions have started. For the sake of this simulation, you can assume that checks are approved instantly. Therefore, the rule for arriving at the front of the cashier's line with a check that has not been approved is to go to the back of the cashier's line with a check that has been approved