Hello Snarkky,
Welcome to the forum.
To make your code more modular tends to mean putting things in functions.
See:
http://www.cplusplus.com/doc/tutorial/functions/
For line 15 you could use an "enum" in place of what you did.
http://www.cplusplus.com/doc/tutorial/other_data_types/#enumerated_types
For the "showMenu" function I like to print the menu, get the input and verify that the choice entered is a valid choice before returning the choice back to where it was called from. In this you have a function that does one thing and returns the result for later use. Lines 25 - 32 would be better used in the"showMenu" function.
Line 36 is redundant and pointless as you already would have a value for "choice" and you have no prompt to let the user know what it is waiting for.
In the switch/case for case 1 lines 42 - 48 could be put in a function and the math on line 50 would be done in the function returning the result back to the case 1. Something like:
monthlyPay = PayChoice();
. For classes, structs and functions I like to start the names with a capital letter to distinguish them form a normal variable. I would say it is mostly a personal choice, but I have seen this in other programs.
This way each case statement should have three lines to it.
Hope that helps,
Andy
P.S. You should initialize all your variables when they are defined. The simplest way is with an empty set of {}s. like;
double interestRate{}, ...;
.