Summarize the project and what problem it was solving. This project was intended to show I have a strong grasp on object oriented programming with C++. I was tasked with creating a program for a company called Corner Grocer, who wanted me to read from a file of grocery items they sold, and query the data accordingly. This program has 3 queryies:
- The user inputs a string and the program will return the number of times that string is in the file. This tells us how many times this particlular grocery item was sold.
- Prints the entire list of grocery items in the file, and the number of times each grocery item is counted. This is done using a linked list, that writes and prints each node with a key and value pair.
- The last option used is to create a Histogram. This uses asterisks to display a barchar like representation. It will print the item on the list, and a asterisk for each time the item occours.
What did you do particularly well? I would say that the entire program was exceptionally well put together. My strong background on object oritented programming and principles is highlighted with my efficient representation and proper separation of concerns.
Where could you enhance your code? How would these improvements make your code more efficient, secure, and so on? The biggest improvement to be made would be to ensure that strings entered by user arent case sentitive, as it currently is. However, this isn't an extremely straight-forward process like in java with toLowerCase().
Which pieces of the code did you find most challenging to write, and how did you overcome this? What tools or resources are you adding to your support network? None of this program was particularly hard to write.
What skills from this project will be particularly transferable to other projects or course work?
I would say the object oriented principles in general. Namely encapsulation, inheritance, polymorphism, and abstraction.
How did you make this program maintainable, readable, and adaptable? Through the use of proper documentation and in-line comments. As well as proper naming conventions and consistent use of C++ best practices.