/* Cody Cook 2023/04/13 CS-210 Project 3 */ #include // use cout and cin #include // use strings #include // use maps #include // use files #include // use setw using namespace std; // use the standard namespace #pragma once // only include this file onces // set some constants constexpr auto defaultItemFileName = "inputfile.txt"; // the default filename to import constexpr auto defaultDatabaseFilename = "frequency.dat"; // the default filename to export constexpr auto c_red = "\033[31m"; // set the terminal red color constexpr auto c_normal = "\033[0m"; // set the terminal normal color class Items { public: // constructors Items(); // default constructor Items(string p_inputFile); // constructor with a custom import file //destructor ~Items(); // destructor // getters string GetInputFile(); // return the string for the inputFile int GetInventory(string p_item); // return the quantity of a specific item char GetStar(); // get the configured star //setters void SetInputFile(string p_inputFile); // update the filename of the input file void SetStar(char p_star); // set the star char //methods void RequestNewFile(); // ask user to set new filename bool ParseInputFile(); // parse the configured input file void PrintInventory(int p_type); // output the inventory in the map bool SaveInventory(); // save the inventory to a file private: string r_inputFile = defaultItemFileName; // the default file to import ifstream r_input; // the input file map r_mapping; // the map of items and their quantities string r_database = defaultDatabaseFilename; // the default filename to export char r_star = '*'; // default star for the histogram };