Version 1.03: Working on improving modularity, allowing the user more control over which products to modify and how.

- renamed categorizeProducts() to categorizeAndExcludeProducts() and completed the function
- renamed changePrices() to updatePrices() and completed the function
- completed updatePrices()
- completed findMatchingPrices()
- completed printAllInfo()
- renamed printList() to generateUploadFiles()
- refactoring: reducing function lengths to less than 50 lines each by splitting into multiple small functions
- modified findMatchingProducts() and created polishUpPrices() to facilitate updatePrices()
- created findMaxLength(), writeLabel(), and writeProductInfo() to facilitate printAllInfo()
- created getComponent() to facilitate getTpeProducts()
- created getPreferences() to facilitate getUserInputs()
- summary: program is now 572 lines long, contains 1 class and 15 functions

NEXT TASKS:
- add weight component
- split getPreferences() into more functions, one for each of the 4 choices (including weight)
- consolidate all fstreams into a list and create a function to open/close the list