Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
A Queue Application
Write an application to process ticket order and sales: Program will be able to input requests to buy tickets and requests to sell tickets.
Implementing main( )
int main() { char command; Queue ticketRequests, ticketsForSale;
cout << "Enter 'R' to request tickets. Enter 'S' to sell tickets." << endl; cout << "End with 'Q'" << endl; command = get_command(); while (command != 'q') { if (command == 'r'){ request_tickets(ticketRequests, ticketsForSale); } else { sell_tickets(ticketRequests, ticketsForSale); } command = get_command(); } cout << "Thank you for visiting the ticket center!" << endl; return 0; }
10
Implementing get_command( )
char get_command(void) { char command; cout << "Enter a command:" << endl; cin >> command; command = tolower(command); while ((command != 'r') && (command != 's') && (command != 'q')) { cout << "Invalid command: '" << command << "'" << endl; cout << "Enter 'R' to request tickets. Enter 'S' to sell tickets." << endl; cout << "End with 'Q'" << endl; cout << "Enter a command:" << endl; cin >> command; command = tolower(command); } return command; }
11
Implementing request_tickets( )
void request_tickets(Queue &requestQueue, Queue &forSaleQueue) { Person requester, seller; cout << "Enter name of requester: " << endl;
12
Implementing request_tickets( )
void request_tickets(Queue &requestQueue, Queue &forSaleQueue) { Person requester, seller; cout << "Enter name of requester: " << endl; cin >> requester.Name; if (forSaleQueue.empty()) { if (requestQueue.append(requester) == overflow) { cout << "Request list full. Try again later." << endl; } else { cout << requester.Name << " has requested tickets for the concert." << endl; } } else { forSaleQueue.retrieve(seller); forSaleQueue.serve(); cout << requester.Name << " has bought tickets from " << seller.Name << endl; } cout << endl;
13
Implementing sell_tickets( )
void sell_tickets(Queue &requestQueue, Queue &forSaleQueue) { Person requester, seller; cout << "Enter seller's name:" << endl;
14
Implementing sell_tickets( )
void sell_tickets(Queue &requestQueue, Queue &forSaleQueue) { Person requester, seller;
cout << "Enter seller's name:" << endl; cin >> seller.Name; if (requestQueue.empty() ) { if (forSaleQueue.append(seller) == overflow) { cout << "Sale list full. Try again later." << endl; } else { cout << seller.Name << " has been added to the list of ticket sellers." << endl; } } else { requestQueue.retrieve(requester); requestQueue.serve(); cout << requester.Name << " has bought tickets from " << seller.Name << endl; } cout << endl;
}
15