Switch-case statements are not do-while loops. That while loop at the end of your program is what stops the code in its tracks. Though, you could easily make it into a do-while loop, which is probably what you wanted.
Declare the data you don't wanna lose outside main() and then at the end of de main function call main function again!
I highly recommend not doing this. It's bad coding practice, it wastes memory, and it clutters the global scope. Did I mention that I don't recommend doing it? ;)
my initial program had do while and if-else nesting for all choices, but it ended up just printing my menu again without going thru the "cases" properly then. switch goes thru them properly, but then I get stuck without a chance to work on it further... I'll try do while again later, but I'm a bit skeptic to use it :)