That seems like a rather arbitrary restriction given that the OP already uses arrays in the form of strings and string literals.
If one wanted to avoid explicitly using an array, but finds the use of std::string acceptable, and since the "zip symbols" are all the same length, one could just cram them all into a string and calculate the offset of a substring. That would be considerably shorter than using the switch statement.
PS. I see no input validation. No enforcement that the "ZIP numbers" asked from the user are actually single digits. Always assume that the user ignores instructions.