C++ · Beginner level

Beginner level · Module 5 of 5 · 10 guided hours

C++ Console Project

Plan and build the Water Point Log as a multi-file program with a menu, validated input and a test record.

Learning objectives

  • Split a program into header and source files
  • Build a menu-driven program in small steps
  • Validate input and test the program systematically

Topics

  • requirements to design
  • header and source files
  • include guards
  • menu loops
  • std::cin failure recovery
  • test plans

Lessons

  1. Lesson 1 Planning the Program and Splitting Files

    Design the program's classes and functions, and organise them into header and source files.

    header filesource fileinclude guard / #pragma oncedeclaration vs definition

  2. Lesson 2 Building the Menu and Features

    Implement the menu and each feature one at a time, compiling and testing after every step.

    menu loopstd::vector of objectsincremental buildseparation of input and logic

  3. Lesson 3 Robust Input and Testing

    Recover from invalid input, write a test plan and fix what it reveals before presenting.

    std::cin.fail()clear() and ignore()edge casetest record

Practical activity

Build the Water Point Log level project in stages, compiling with warnings and reviewing each stage with a partner.

Expected outcomes

  • A complete multi-file console program
  • Habits of incremental building and testing

Assessment

The level project assessed against its criteria, plus a short demonstration.

Free taster lesson Problem Solving with C++ Read a free self-study lesson on this topic in the Free Course Library.

Taught live by an instructor — online or in person. Free course lessons are for self-study and do not lead to a certificate — see registration options.