Hey @OCD-FREAK,
I misread your original post. I thought you were just starting out with development.
Before I say the following... please understand that this is from my experience within a public enterprise company for only 5 years, & hobbyist coding for ~11 years. Sooo IMO...
Stop coding in C and go to C++.
Your next move should be to learn architectural patterns. C++ will give you more structure in your development process. Model-view-controller is a popular one that many companies use.
Then learn OOP, google "Object-oriented programming in Microsoft C++".
Then learn Java. Do this quickly. Like you said already, if you already know C and C++ this should not be much of a challenge.
After that, I'd step back start to consider the problem and solution you are trying to produce before ever writing a single line of code. Remember all that other stuff before this? You were doing it all wrong. Learn "object-oriented design" and "UML". Get your idea on paper and then start coding.
Once you have it on paper, you'll better understand the application's requirements and you can determine if you want to code it in Java or C++