01 | PROJECT ONE • BEGINNER TRACK
1 BEGINNER

TEMPERATURE CONVERTER

Build a menu-based console application that converts values between Celsius, Fahrenheit, and Kelvin.

C++ Standard I/O (std::cin, std::cout) Floating-Point Precision (double, float) Arithmetic Operators & Expressions Control Flow (switch-case, if-else) Precision Formatting (<iomanip>, std::fixed, std::setprecision) Input Validation & Boundary Handling
  • • Convert Celsius to Fahrenheit
  • • Convert Fahrenheit to Celsius
  • • Convert Celsius to Kelvin
  • • Convert Kelvin to Celsius
  • • Use a switch-based menu
  • • Reject invalid temperature input: including values below Absolute Zero (0 K / -273.15 °C);
  • • Display results with suitable decimal precision
CORE FORMULAS • CONVERSION SPEC
Fahrenheit = (Celsius × 9/5) + 32
Celsius = (Fahrenheit − 32) × 5/9
Kelvin = Celsius + 273.15
Absolute Zero: 0.00 K / -273.15 °C
01 | PROJECT ONE • Practical C++ Series Verified Academic Milestone
02 | PROJECT TWO • BEGINNER TRACK
2 BEGINNER

SIMPLE CALCULATOR

Create a menu-driven calculator that performs repeated arithmetic operations until the user chooses to exit.

Variables, Operators, Functions & Input/Output Switch Statements for Operation Selection Loops for Repeated Calculations (while, do-while) Conditional Checks & Division-by-Zero Guards Clean Exit Conditions & Loop Termination Optional Exception Handling for Invalid Input
  • • Addition, subtraction, and multiplication
  • • Division with explicit division-by-zero handling
  • • Modulus for integer operands
  • • Repeated calculations inside a loop
  • • An exit option that ends the program cleanly
OPERATION DISPATCH • CLEAN EXIT CRITERIA
[1] Addition: a + b
[2] Subtraction: a - b
[3] Multiply: a × b
[4] Division: b ≠ 0 guard
[5] Modulus: a % b (int)
[0] Clean Exit: break loop
02 | PROJECT TWO • Practical C++ Series Verified Academic Milestone
03 | OBJECT MODELING • DATA STRUCTURES
3 INTERMEDIATE

CONTACT BOOK: DESIGN THE DATA MODEL

Use a contact type and a collection of contacts to practice object-oriented design, searching, sorting, and encapsulation. Separate data representation cleanly from file operations.

01 Classes and Objects or Structures (struct / class) 02 Functions, Arrays, or Vectors (std::vector) 03 Strings & Collection Management (std::string) 04 Searching and Sorting (<algorithm>, linear / binary search) 05 File Handling & Serialization (<fstream>) 06 Encapsulation, Switch Statements & Exception Handling
  • • Separate data representation from file operations: clean architectural boundary;
  • • Dynamic record collection: append new contact profiles into container without overflow;
  • • Lookup engine: search by Contact ID, full name, or phone number;
  • • Alphabetical sorting: sort contact vector alphabetically by name;
  • • Persistent serialization: save contacts to and load from text/binary file on disk.
STRUCT / CLASS FIELDS • SUGGESTED DATA MODEL
Field 01: Contact ID
Field 02: Name
Field 03: Phone number
Field 04: Email address
Field 05: Address
03 | OBJECT MODELING • Practical C++ Series Verified Academic Milestone