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

Must use NetBeans Program for C++ Progrmming iclude Header Files EECS 1510 Objec

ID: 3689364 • Letter: M

Question

Must use NetBeans Program for C++ Progrmming
iclude Header Files

EECS 1510 Object Oriented Programming Project 6 - Inventory, Stock Management 130 Points Due in class Thursday April 14, 2016 Note: This project may NOT be done in pairs Consider a program to enter codes of one to eight characters along with an associated item number and associated notes. A code can represent an item, package, or product's name By using such a program, we could enter product quantities and additional notes (i.e. storage considerations) before associating them with some brief code (i.e. string), which would indicate the product's ID. We could then retrieve a product's information by entering the product's ID. This might be a useful application for a small store's inventory and stock management. Codes are entered as 1 to 8 characters. Use "e" for enter, "f" for find, "l" for list, "q" for quit. Command: e Soda Enter quantity: 20 Enter notes: Command: e Milk Enter quantity: 10 Enter notes: Chilled storage Command: e Chips Enter quantity: 25 Enter notes: Easily crushed Command: f Milk Milk 10 -- Chilled storage Command: f Popcorn *No entry with code Popcorn There is also an "1" command, which will list all entries on the screen. For the input to this program, upper and lower case letters are considered equivalent. For example, if a product name with the code "Soda" is entered, then the codes "SODA", "soda", and "sOda" will all retrieve the same entry with "Soda"associated. The entries are to be stored in a file from run to run. When the program begins, the entries in the file are to be read into an array. The array should allow for up to 200

Explanation / Answer

#include <iostream>
#include <fstream>
#include <cctype>
using namespace std;
int rec_num=0;
int num_entries;
class Entry {
public:
string name, number, notes;
}InventoryList[200];
string strToUpper (string S) {
for (size_t i=0; i < S.length(); i++)
S[i] = toupper(S[i]);
return S;
}
void readInventory () {
string line;
rec_num=0;
ifstream infile("PhoneData.txt");
while (getline(infile, line))
{
int a, b , c;
if (!(infile >> a >> b >> c)) { break; } // error
else {
InventoryList[rec_num].name = a;
InventoryList[rec_num].number = b;
InventoryList[rec_num].notes = c;
rec_num++;
}
}
}

void storeInventory () {
fstream F("PhoneData.txt");
int rec_num = 0;
while (rec_num < num_entries){
F << InventoryList[rec_num].name << " "
<< InventoryList[rec_num].number << " "
<< InventoryList[rec_num].notes << " " << endl; rec_num++;
}
cout << "Inventory stored." << endl;
return;
}
void enter()
{
char ch,a;


cin>>InventoryList[rec_num].name;
cout<<endl<<"Enter quantity: ";
cin>>InventoryList[rec_num].number;
cout<<endl<<"Enter notes: ";
cin>>InventoryList[rec_num].notes;
rec_num++;
num_entries =rec_num;
}
void findd(string product)
{ int flag=0;
for(int i=0;i<num_entries;i++)
{
if(strToUpper(InventoryList[i].name) == strToUpper(product))
{
cout<<endl<<"--"<<InventoryList[i].name;
cout<<endl<<"--"<<InventoryList[i].number;
cout<<endl<<"--"<<InventoryList[i].notes;
flag=1;
break;
}
}
if(flag == 0)
cout<<endl<<"** No entry with this code "<<product;
return ;
}
void listt()
{
for(int i=0;i<num_entries;i++)
{
cout<<InventoryList[i].name<<endl;
cout<<InventoryList[i].number<<endl;
cout<<InventoryList[i].notes<<endl;
cout<<endl;
}
}
int main()
{
char c;
string f;
cout<<"Press e to enter,f to find,l to list & q to quit";
cout<<" Command:";
cin>>c;
while(c!='q')
{
if(c=='e') enter();
else if(c=='f') {cin>>f; findd(f); }
else if(c=='l') listt();
cout<<" Command:";
cin>>c;
}
storeInventory();
readInventory();
return 0;
}