@TJ.Breitenfeldt
It's important to take some previous notes about how your program will work once finished before starting. If you don't, you will rewrite and rewrite code again. Example:
1. There will be a main menu.
2. THis menu will contain elements.
3. You can select each element and then something happens.
It could feel ridiculous, but if you didn't,... Example:
Oh, I have 4 different kinds of menus, each has its own features, but now I'd like to log all the activity, so... let's code our menus again.
Wait, I have implemented the logging feature, but now each menu element returns a string that is added to the log, and I'd like to make my program easy translatable, so I need that each element returns an integer that then is converted to a string according to the choosen language... Let's rewrite all again! Etc.
There are a lot of ways to organize your code, depending on your needs. A basic understanding of some of the most common design paterns would help you too. Take a look at the infamous Gang of Four book (GoF), or google for gang of four paterns:
http://www.gofpatterns.com/design-patte … nefits.php
Basically, a patern is an organization model for your code that works with any programing language. For example, the observer paterns (also known as event driven patern) implements a messaging sistem whitch allows you objects, functions or whatever, sending messages to other members, such like: hey there! I'm X and someone has just killed me. Or: hey, server, an user instance has send a message to chatroom X... But it's being a boring and long post, time to leave.
Hope this helps.