Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I need some ideas for projects that will help me improve my skills.
Here is the requirement for the project

  1. It has to be in win32
  2. I need something harder than just making a calculator
share

migration rejected from stackoverflow.com Sep 16 '13 at 21:49

This question came from our site for professional and enthusiast programmers. Votes, comments, and answers are locked due to the question being closed here, but it may be eligible for editing and reopening on the site where it originated.

closed as off-topic by gnat, GlenH7, MichaelT, World Engineer Sep 16 '13 at 21:49

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions about what language, technology, or project one should take up next are off topic on Programmers, as they can only attract subjective opinions for answers. There are too many individual factors behind the question to create answers that will have lasting value. You may be able to get help in The Whiteboard, our chat room." – GlenH7, World Engineer
If this question can be reworded to fit the rules in the help center, please edit the question.

    
How much experience in other languages do you already have? (Making a calculator isn't exactly trivial, depending on your previous experience...) –  Mehrdad Feb 19 '11 at 2:50
    
Well I'm pretty good with HTML, PHP, CSS and JS. I'm just getting started with C++, I have worked with directx 9 before in c++. –  Ramilol Feb 19 '11 at 2:53
comments disabled on deleted / locked posts

5 Answers

Here's one of my first C++ projects: http://sourceforge.net/projects/xiangqi-engine

I started writing it for fun and it ended up being a college project for my BS.

share
add comment

I'm going to answer the question as if it was phrased in the present tense because I am very much a beginner.

I'm currently working on Gemini, which is my library for reinventing the wheel in terms of data structures.

Why? Because it's fun and interesting for me. At this point, I should be programming because I want to, not because I want to make a career out of it.

Think of it this way: You can decide first that you want programming to be your future and then stress over forcing yourself to live up to your expectations, or you can enjoy it first and let the rest grow naturally.

share
add comment

Project: Working with Excel files.

Things you should learn in this project

  1. Command line arguments. What they are, how to process them.
  2. Opening, reading and writing to files
  3. strtok (tokenizing and parsing a file)
  4. Why CSV files are so nice (as opposed to .xls, .doc, .txt, etx)
  5. Building text-based or graphical menus
  6. General data management.

Project: Scrabble

Things you should learn in this project

  1. Command line arguments. What they are, how to process them.
  2. Opening, reading and writing to files
  3. Vector structure
  4. Map structure
  5. Permutation algorithms
  6. Text-search algorithms (finding substrings)
  7. Templates*

    * depending on the scope of the project

share
add comment

My first C++ project, when I was an undergrad, was a very simple network simulator that allowed the user to build its own network graphically (using GTKmm) and simulate different kinds of traffic, showing which are the nodes that cause congestion.

It was great, because:

  • the problem is simple and well-known, and it allowed the team to focus on the language and the design/implementation rather than on problem understanding or specs
  • I got to play with inheritance because I implemented the classic Shape <- Circle etc.. hierarchy
  • We used an external library for the first time, and understood the importance of documentation
  • We designed one of our first user interfaces
  • We got really bitten by destructors :)
share
add comment

A secure, practical product key generator. It had to follow crazy guidelines and had a stupidly high-level of encryption. Man, those were the good old days! And looking back, it's not secure at all...

share
add comment