Galera alguém poderia me guiar num script para a faculdade onde devo: 
 
	"Escreva um programa para contar a frequência de palavras em um texto. Seu programa deve usar a função main abaixo para ler a entrada padrão, e imprimir resultados." 
	Usando esse código anexo como base. 
	Desde já agradeço.
 
	 
 
	#include <map>
 
	#include <vector>
 
	#include <iomanip> // std::setw
 
	#include <iostream>
 
	 
 
	using namespace std;
 
	 
 
	struct WordCounter{
 
	 WordCounter(){
 
	  // TODO
 
	}
 
	void addWord(string w){
 
	// TODO
 
	}
 
	void print() const{
 
	size_t longestWordSize = getLongestWord();
 
	for (auto const& entry : words){
 
	cout << setw(longestWordSize + 1) << left <<
 
	entry.first << '|' << setw(4) << right << entry.second
 
	<< endl;
 
	}
 
	}
 
	private:
 
	// TODO: declare aqui as estruturas de dados usadas.
 
	size_t getLongestWord() const{
 
	// TODO
 
	}
 
	};
 
	 
 
	int main(){
 
	WordCounter wc;
 
	string s;
 
	cin >> s;
 
	while (s != "."){
 
	wc.addWord(s);
 
	cin >> s;
 
	}
 
	wc.print();
 
	}