Skip to main content

Learning Resources

Projects

A curated set of C++ project ideas from beginner to capstone. Each idea lists the features to implement, a realistic time estimate, and the exact concepts required — every concept linked to its lesson.

Project Ideas

C++ Projects — Ideas & Concepts Required

25 project ideas from your first console program to portfolio-grade OOP/STL work. Each idea includes a short brief, features to implement, the exact C++ concepts it exercises (linked to lessons), and a realistic time estimate.

Beginner Projects

After Phase 2 · 5 projects

Console programs that need I/O, decisions, loops, arrays/strings, and functions. Finish one in a sitting and put it on your resume early.

Menu-Driven Calculator 4–6 hrs

A looping calculator with arithmetic, power, and percentage — practice clean menus and input validation in C++.

Features to implement

  • Numbered menu that repeats until quit
  • Divide-by-zero and bad-input handling
  • Optional history of last N results

Concepts required

Number Guessing Game 3–4 hrs

Computer picks a secret number; player guesses with higher/lower hints and a score by attempts.

Features to implement

  • Random number generation
  • Difficulty levels
  • Play-again loop

Concepts required

Pattern Printing Studio 3–5 hrs

Prints pyramids, diamonds, and number patterns of user-chosen size with a tidy menu.

Features to implement

  • At least eight patterns
  • User-controlled size
  • Functions per pattern

Concepts required

Unit Converter 3–5 hrs

Converts temperature, length, and currency categories with formatted output.

Features to implement

  • Category menu
  • Two-way conversion
  • Fixed decimal formatting

Concepts required

Student Marks Analyser 5–7 hrs

Read marks for a class into an array, compute average/topper, and print a grade sheet.

Features to implement

  • Input validation
  • Average and rank list
  • Pass/fail summary

Concepts required

Intermediate Projects

After Phase 3 · 5 projects

Projects that combine strings, files, structs/classes-in-waiting, and clearer modular design.

Text Analyser 6–8 hrs

Analyse a paragraph or file for word count, unique words, and frequency — a warm-up for maps later.

Features to implement

  • Word and sentence counts
  • Frequency table
  • Case-insensitive option

Concepts required

Quiz Application 7–9 hrs

Multiple-choice quiz with a question bank, live scoring, and a review screen.

Features to implement

  • Struct-based question bank
  • Score tracking
  • Optional file-loaded questions

Concepts required

Tic-Tac-Toe (Two Player) 6–8 hrs

Console board game with win/draw detection and invalid-move handling.

Features to implement

  • 3×3 board rendering
  • Win and draw detection
  • Replay option

Concepts required

Contact Book (File-Backed) 8–12 hrs

Add/search/list contacts stored in a text or CSV file using structs.

Features to implement

  • CRUD-lite operations
  • Search by name
  • Persist between runs

Concepts required

Expense Tracker (CLI) 8–10 hrs

Log daily expenses with categories and show totals by category from a file.

Features to implement

  • Append-only log
  • Category totals
  • Simple date string handling

Concepts required

OOP Projects

After Phase 4 · 5 projects

Design with classes: encapsulation, inheritance, and polymorphism. These look strong on a resume.

Bank Account Hierarchy 12–18 hrs

Base Account with Savings/Current derived types — deposits, withdrawals, and polymorphic statements.

Features to implement

  • Inheritance hierarchy
  • Virtual display or interest calculation
  • Transaction history list

Concepts required

STL & Modern C++ Projects

After Phase 5–6 · 6 projects

Lean on the STL and modern ownership. Prefer vector/map/unordered_map, lambdas, and smart pointers.

STL Contact Book 8–12 hrs

Contacts in a vector or map with search, sort, and optional file sync — interview-friendly STL practice.

Features to implement

  • map or unordered_map lookup
  • Sort with lambda comparator
  • Import/export CSV

Concepts required

Expression Calculator (Stack) 10–14 hrs

Evaluate infix or postfix expressions using stack adapters and string parsing.

Features to implement

  • Tokenise input
  • Operator precedence or postfix eval
  • Error messages via exceptions

Concepts required

Graph BFS / DFS Visualiser (CLI) 10–14 hrs

Build a small adjacency list and traverse with queue (BFS) and stack/recursion (DFS).

Features to implement

  • Add edges
  • BFS and DFS print order
  • Visited set

Concepts required

Capstone / Portfolio Projects

After the full roadmap · 4 projects

Larger builds that combine OOP, STL, files, and modern C++. One done well beats ten tiny demos.

Template Utility Library 15–22 hrs

Small header-only helpers (clamp, optional-like wrappers, generic print) with tests.

Features to implement

  • Function/class templates
  • Header + demo
  • Documented API

Concepts required

How to Build Any of These

StepWhat to do
1. Plan on paper List features and the classes/containers each one needs before you type a line.
2. Design types first Sketch classes and which STL container owns the data. Prefer vector/map defaults.
3. Build one feature at a time Get “add a record” working completely before “delete” or “search”.
4. Prefer RAII and smart pointers Avoid owning raw new/delete in application code. unique_ptr is the default.
5. Compile with warnings on Use g++ -std=c++17 -Wall -Wextra -g. Treat warnings as bugs.
6. Test edge cases Empty containers, missing files, bad input, and capacity limits.
7. Catch exceptions where useful Validate at boundaries; let RAII clean up on failure paths.
8. Write a README and push it Explain build steps, features, and one screenshot of it running.

Pair this page with the roadmap (Day 30), the cheatsheet, and interview Q&A while you build.