Short and Messy Polybius Square
It's not that messy IMO, but there are a few things which you could have done better:


Always compile code with every warning turned on, and fix them. When compiled with -Wall, your code produces 2 same warnings:

warning: comparison between signed and unsigned integer expressions [-Wsign-compare]


You should fix them.
Your choice variable really wants to be an enum instance:

enum class mode {
    encrypt, decrypt
};

You have some redundant code:

if(choice == "E") choice = "e";
// redundant if in the next line your lower casing every character in 'choice'

const correctness: alphaToInt can and should be const, as you're not going to modify it no matter what.
getCoords can be reduced considerably (it looks too bloated otherwise IMO):

std::vector&lt;std::string&gt; getCoords(){
    std::cout &lt;&lt; "Coordinates (separate with spaces): ";
    std::string strCoords;
    std::getline(std::cin, strCoords);

    std::stringstream streamCoords(strCoords);
    return{ std::istream_iterator&lt;std::string&gt;{ streamCoords }, std::istream_iterator&lt;std::string&gt;{} };
} 

squareIJ doesn't have to be a std::string[5][5], it can be a simple char[5][5]. Don't allocate memory if you don't have too (this might actually not allocate memory for the std::string, due to SSO actually). 
Use auto to simply some variable definitions if you want to:

// std::vector&lt;std::string&gt; coords = getCoords();
auto coords = getCoords();

// ...

Use ranged-based loop instead of index loop. For example, 

for(int i = 0; i &lt; coords.size(); ++i){
    std::string coord = coords[i];
    output.push_back(squareIJ[coord[0] - '1'][coord[1] - '1']);
}


becomes

for (const auto&amp; coord : coords)
    output.push_back(squareIJ[coord[0] - '1'][coord[1] - '1']);

Include every necessary headers, you forgot &lt;cctype&gt; for std::isspace.
If you expect every character to be upper case, either (1) tell the user (not recommended) or (2) upper case the string yourself:

std::transform(input.begin(), input.end(), input.begin(), ::toupper);