Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

The following code uses two arrays, one to store products and another to store p

ID: 3768862 • Letter: T

Question

The following code uses two arrays, one to store products and another to store product IDs. The function getProductID takes as input the two arrays, the length of the arrays, and a target product to search for. It then loops through the product name array; if a match is found, it returns the corresponding product ID:

int getProductID(int ids[], string names [],

int numProducts, string target)

{

for (int i=0; i < numProducts; i++)

{

if (names[i] == target)

return ids[i];

}

return -1; // Not found

int main() // Sample code to test the getProductID function

{

int productIds[] = { 4, 5, 8, 10, 13 };

string products[] = { "computer", "flash drive",

"mouse", "printer", "camera" };

cout << getProductID(productIds, products, 5, "mouse") << endl;

cout << getProductID(productIds, products, 5, "camera") << endl;

cout << getProductID(productIds, products, 5, "laptop") << endl;

return 0;

}

One problem with the implementation of the getProductID function is that it returns the special error code of -1 if the traget name is not found. The caller might ignore the -1, or later we might actually want to have -1 as a valid product ID number. Rewrite the program so that it throws an appropriate exception when a product is not found instead of returning -1.

write in c++

Explanation / Answer

#include<iostream.h>
#include<exception.h>
class negative_val : public exception
{
public:
   const char * what() const throw()
   {
       return "negative value";
   }
};

int getProductID(int ids[], string names [],int numProducts, string target)
{
   try{
   for (int i=0; i < numProducts; i++)
   {
       if (names[i] == target)
           return ids[i];
   }
  
   negative_val d;
   throw d;
   //return -1; // Not found
   }
   catch(exception& e)
   {
       cout << e.what();
   }
}
int main() // Sample code to test the getProductID function
{
    int productIds[] = { 4, 5, 8, 10, 13 };
    string products[] = { "computer", "flash drive","mouse", "printer", "camera" };
   cout << getProductID(productIds, products, 5, "mouse") << endl;
   cout << getProductID(productIds, products, 5, "camera") << endl;
   cout << getProductID(productIds, products, 5, "laptop") << endl;
   return 0;
}

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote