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

Hello, i\'d like the implementation for this please thank you. #ifndef GROCERY_I

ID: 3921074 • Letter: H

Question

Hello, i'd like the implementation for this please thank you.

#ifndef GROCERY_ITEM
#define GROCERY_ITEM

#include <iostream>
#include <string>

using namespace std;
class GroceryItem
{
public:
// constructors
GroceryItem(string, string, float);
GroceryItem();
// copy constructor
GroceryItem(const GroceryItem&);
// mutators
void setItemName(string);
void setItemCode(string);
void setItemPrice(float);
// accessors
string getItemName() const;
string getItemCode() const;
float getItemPrice() const;
void print() const;
private:
string itemName;
string itemCode;
float itemPrice;
};
#endif
bool operator<(const GroceryItem& left, const GroceryItem& right);
bool operator>(const GroceryItem& left, const GroceryItem& right);
ostream& operator<<(ostream& out, const GroceryItem& value);
istream& operator>>(istream& in, GroceryItem& r);

Explanation / Answer

Hi, Please find my implementation

Please let me know in case of any issue.

######### GroceryItem.h ###########

#ifndef GROCERY_ITEM
#define GROCERY_ITEM
#include <iostream>
#include <string>
using namespace std;
class GroceryItem
{
public:
// constructors
GroceryItem(string, string, float);
GroceryItem();
// copy constructor
GroceryItem(const GroceryItem&);
// mutators
void setItemName(string);
void setItemCode(string);
void setItemPrice(float);
// accessors
string getItemName() const;
string getItemCode() const;
float getItemPrice() const;
void print() const;
private:
string itemName;
string itemCode;
float itemPrice;
};
#endif
bool operator<(const GroceryItem& left, const GroceryItem& right);
bool operator>(const GroceryItem& left, const GroceryItem& right);
ostream& operator<<(ostream& out, const GroceryItem& value);
istream& operator>>(istream& in, GroceryItem& r);

########### GroceryItem.cpp ###############

#include <iostream>
#include "GroceryItem.h"

using namespace std;

// constructors
GroceryItem::GroceryItem(string name, string code, float price){
    itemName = name;
    itemCode = code;
    itemPrice = price;
}

GroceryItem::GroceryItem(){
    itemName = "";
    itemCode = "";
    itemPrice = 0;
}

// copy constructor
GroceryItem::GroceryItem(const GroceryItem& other){
    itemName = other.itemName;
    itemCode = other.itemCode;
    itemPrice = other.itemPrice;
}
// mutators
void GroceryItem::setItemName(string name){
    itemName = name;
}
void GroceryItem::setItemCode(string code){
    itemCode = code;
}
void GroceryItem::setItemPrice(float price){
    itemPrice = price;
}
// accessors
string GroceryItem::getItemName() const{
    return itemName;
}
string GroceryItem::getItemCode() const{
    return itemCode;
}
float GroceryItem::getItemPrice() const{
    return itemPrice;
}
void GroceryItem::print() const{
    cout<<"Item Name: "<<itemName<<endl;
    cout<<"Item Code: "<<itemCode<<endl;
    cout<<"Item Price: "<<itemPrice<<endl;
}

bool operator<(const GroceryItem& left, const GroceryItem& right){

   if(left.getItemName().compare(right.getItemName()) < 0){
       if(left.getItemCode().compare(right.getItemCode()) < 0){
           if(left.getItemPrice() < right.getItemPrice())
               return true;
           else
               return false;
       }else{
           return false;
       }
   }else{
       return false;
   }

}
bool operator>(const GroceryItem& left, const GroceryItem& right){

   if(left.getItemName().compare(right.getItemName()) > 0){
       if(left.getItemCode().compare(right.getItemCode()) > 0){
           if(left.getItemPrice() > right.getItemPrice())
               return true;
           else
               return false;
       }else{
           return false;
       }
   }else{
       return false;
   }
}
ostream& operator<<(ostream& out, const GroceryItem& value){

   out<<"Item Name: "<<value.getItemName()<<", Item Code: "<<value.getItemCode()
       <<", and Item Price: "<<value.getItemPrice()<<endl;

   return out;
}
istream& operator>>(istream& in, GroceryItem& r){

   string name, code;
   float price;

   cout<<"Enter Item Name: ";
   in>>name;
   r.setItemName(name);

   cout<<"Enter Item Code: ";
   in>>code;
   r.setItemCode(code);

   cout<<"Enter Item Price: ";
   in>>price;
   r.setItemPrice(price);

   return in;
}

########## TestGroceryItem.cpp ##############

#include <iostream>
#include "GroceryItem.h"

using namespace std;

int main(){

   GroceryItem item;

   item.print();

   cin>>item;

   cout<<item;


   return 0;
}

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Chat Now And Get Quote