This program is a demonstration of some concepts from my discrete math class. Not everything is necessarily the most efficient, in fact, I will often take a longer route to show the by-hand method as a restriction for myself.
As for a bit more of a timeline of this project. I started this program with the only function in mind being to take a decimal number and change it into a number of any other base. As we learned more concepts in my discrete class, I kept wanting to add more. At first I tried to just expand my original program as-is. This didn't work. I realized that I needed to scrap everything due to the sloppy organization and start over. I decided to make a document to plan out everything that I needed for each function, and the functions needed for those functions. After all of that, I spent a good weekend rewriting the stuff I have written in the previous attempt and also writing the new code that I had not written yet. I enjoyed the challenge of writing the biggest of my own programs so far, while also keeping it organized.
I have also added a version for Windows OS that clears the screen when it reprints the menu for better formatting