#include "stdstuff.h" // "customer" is the struct containing the customer information // it is made up of id (an integer) and total (a double) struct customer{ int id; double total; }; const int MAXCUST=100; // Hint: make MAXCUST much smaller to test filling the database // customerDB is the customer database struct struct customerDB{ customer ci[MAXCUST]; // the array of customer information int numCusts; // the number of customers currently in the database }; // Now your functions must have a customerDB struct as a parameter. // Hints: // Do we pass structs by value or by reference? // How do we indicate that the function doesn't change the customerDB struct? // add a new customer to the database; returns true if successful, false otherwise // (database full or customer already exists) bool addCustomer(int id, double total, customerDB &db); // remove a customer from the database; returns true if successful, false otherwise (customer // does not exist) bool removeCustomer(int id, customerDB &db); // prints the full customer database (or a note if the database is empty) // Customers are printed one per line, with 2 decimals for the total. void printCustomerDatabase(const customerDB &db); // change the customer number of an existing customer; returns true if successful, // false otherwise (customer does not exist, or new customer id in use) bool changeCustomerID(int id, int nid, customerDB &db); // change the customer total of an existing customer; returns true if successful, // false otherwise (customer does not exist) bool changeCustomerTotal(int id, double ntotal, customerDB &db); // returns the highest total of all customers // (returns -1 if there are no customers in the database) double getBestCustomerTotal(const customerDB &db);