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
-
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
-
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
-
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.
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.