   Finally preparing to move on...
  I finally feel as if I am comfortable enough with C++ to start moving on to more complex applications.  I've learned quite a bit on project management, memory management through arrays, proper uses of pointers and references, classes and inheritance, etc.  Even though I feel motivated by my newer understanding of my old knowledge, I'm yet again at a stumbling block.I have no idea what to do with it!What I'm asking is for a few ideas of console applications that I can write to test myself to see if I'm ready to move further and start learning API's.  It doesn't have to necessarily be a game, just something to actually test if I've learned as much as I think I have.  I have a lot of ideas, but I'm having a hard time motivating myself to single out just one...or maybe even a small few.NOTE:  I mentioned console applications, so I'm still not very advanced.  I still have no CLUE how to implement any variation of networking, or how to manipulate files (such as save-state, load-state, etc.).I feel kind of dumb asking anyone of this, I just really have no idea what a good approach would be in terms of seeing if I have grasped all the concepts necessary to have a good footing in terms of jumping in to API's.With that in mind, I'm looking to move forward into winAPI or something similar first.  I'm not interested in graphics programming YET.   
  Since you don't know much about i/o stream (for textfiles), I would personally learn that. It will come in a lot of use in the future, be it making a log file, saving data, loading maps...Here is a pretty nice article on it:I/O with files Some other things that might interest you could be found here: Doc tutorials ;  Maybe you could make a random name generater that randomly picks name parts from files and combines them to create a name.You could have 3 different files for beginnings, middles and ends.Examples:Beginnings - Sa, Mi, Ro, TeMiddles - ll, ch, b, rrEnds - y, ael, ert, aExample name outputs - Sally, Milly, Rorrael, Tebert, Rocha, etc.This was a fun project for me when I was newer to C++, and a bonus is that you can use it later on when you do make a game to randomly generate NPC names.   ;  If you're indeed ready, I would suggest using SDL, SFML, or Allegro.  Then you can work on OpenGL with one of those applications.  SFML supports DirectX, I'm not fully sure how it goes about handling 3D, since I don't use it.  Then you could try DirectX or just stick to OpenGL.Just pick up SDL or Allegro and start a Pac Man clone and a Pong game.  Best way to learn is to start making those games.Here is a great community site for Allegro, along with everything you need.http://www.allegro.cc/Go here for SFML, just an added note you can use hardware acceleration with SFML, as opposed to software.http://www.sfml-dev.org/Here is SDL, which appears to be a great API to use along side OpenGL.http://www.libsdl.org/Best of luck!   ;  By the way, if you are going to use SDL, here is a great tutorial site on it:LazyFoo.net [lazyfoo.net]:)   ;  As I mentioned before, I'm planning on learning winAPI before I start learning graphics programming.  While my end goal might be to be able to make games, I would like to be a more versatile programmer than JUST games, and I feel that standard windows applications would be an easier starting point, then getting into games, which require more complex implementations, such as AI, collision detection, etc.@pseudobot:  Thanks for the links, I will be bookmarking those and checking them out next week when I have more time to dedicate myself to them (I'm reviewing vectors and STL algorithms at the moment)  This was something that I knew that I would have to learn eventually, so I suppose it would be a good idea to go ahead and get it out of the way.@EAX:  Thanks for the idea.  I've already got a few ideas in how I could make this type of program, and it's definitely not beyond the scope of my abilities.   ;  Here is some quick not-quite pseudocode for my name generator project, as depicted above:Quote:Random Name GeneratorTake a random preName, random midName, and random postName and concantenate them together.Take a random preLastName, midLastName, and postLastName and concantenate them together.Take the firstName and the lastName and join the two.For example:'Jo' + 'sh' + 'ua' + ' ' + 'Dr' + 'ak' + 'e' = "Joshua Drake"If I use other templates, such as this one:'A' + 'yl' + 'a' + ' ' + 'R' + 'os' + 'e' = "Ayla Rose"I might come up with:Asha Drose---------------------------------------------------Vectors that I need:vector<string> preNamevector<string> midNamevector<string> postNamevector<string> preLastNamevector<string> midLastNamevector<string> postLastNameFunctions that I need:preName();// randomizes contents in the preName vectormidName();// randomizes contents in the midName vectorpostName();// randomizes contents in the midName vectorpreLastName();// randomizes contents in the preLastName vectormidLastName();// randomizes contents in the midLastName vectorpostLastName();// randomizes contents in the postLastName vector----------------------------------------------------string randName;// the finished productstring filler = ' ';randName = preName + midName + postName + filler + preLastName + midLastName + postLastName;Look about like what it should be?   