You have a relatively complex program. It's too big to think about all at once.
Break the program into subs. The main program coordinates passing data between the subs.
region. The main program sends those values to
computePrice, which fills
price, and so on.
You can write and debug
getInput without thinking about the rest of the program. This reduces screaming.