Shopping List project

Read a shoppinglist and output how many of each products are listed.

main.cpp
// Project 09-03
// Name: Shopping

#include <iostream>
#include <string>
#include <vector>
#include <fstream>
#include "ItemFrequencies.h"

using namespace std;


int main() {

	ifstream inputFile;
	ofstream outputFile;

	inputFile.open("shopping.txt");
	outputFile.open( "output.txt");

	if (!inputFile) {
		cerr << "Error opening file, grabbing parachute and jumping out" << endl;
		return 1;
	}

	cout << "Processing data..." << endl;

	ItemFrequencies list;
	list.addItem(inputFile);

	list.printList(outputFile);

	inputFile.close();
	outputFile.close();

	cout << "Done!" << endl;

    return 0;
}
ItemFrequencies.h
#ifndef ITEM_FREQUENCIES_H
#define ITEM_FREQUENCIES_H

#include <string>
#include <vector>
#include <fstream>
using namespace std;

class ItemFrequencies {
public:
	void addItem(ifstream& shoppingList);
	void printList(ofstream& shoppingList) const;
private:
	vector<string>items;
	vector<int>frequency;
}; 

#endif
ItemFrequencies.cpp
#include <iostream>
#include <fstream>
#include <string>
#include "ItemFrequencies.h"

using namespace std;

void ItemFrequencies::addItem(ifstream& shoppingList)
{
	string item;
	bool included = false;

	while (!shoppingList.eof()) {
		shoppingList >> item;

		for (size_t i = 0; i < items.size(); i++) {
			if (item == items[ i ]) {
				frequency[i]++;
				included = true;
			}
		}
		if (!included) {
			items.push_back(item);
			frequency.push_back(1);
		}
		included = false;
	}
}

void ItemFrequencies::printList(ofstream& shoppingList) const
{
	for (size_t i = 0; i < items.size(); i++) {
		shoppingList << items[i]<< "   " << "\t" << frequency[i] << endl;
	}
}