University · First year

Codelab 1

Code Lab 1 required developing solutions to a series of coding exercises that tests knowledge of the fundamental programming techniques through the module. These exercises complement the content taught in lectures and enable practical demonstrations of coding techniques learned.

Code Lab 1

Executive Summary

This project involves developing a C++ vending machine application that demonstrates core programming techniques learned on the module. The application provides a console-based menu of drinks and snacks, item selection via input codes, money handling with change calculation, and user feedback messages. Additional features such as item categorisation and structured code using functions and classes enhance usability and maintainability. The deliverables include the source code hosted in a GitHub repository and a development document of at least 1000 words detailing design and implementation.

Key Highlights

Grade

First Class - 78.95%

Focus Area

Demonstrating programming knowledge and use of techniques

Academic Report (Word)

Full academic documentation including research, implementation details, testing methodology, and evaluation.

View Word Document →

Technical Implementation (GitHub)

Explore the source code, configuration files, documentation, and commit history.

View Project on GitHub →

Vending Machine Features

  • Console-based menu displaying drinks and snacks
  • Item selection via unique input codes
  • User input capture and validation for item codes
  • Money management system allowing input of any amount
  • Automatic calculation and return of correct change
  • Dispense confirmation message for selected items
  • Change notification message displayed to user
  • Code comments explaining key operations
  • Item categorisation (e.g., Chocolate, Drinks, Crisps)
  • Option for purchasing additional items
  • Use of functions for program structure and reusability
  • Console music playback during operation
  • Star-box styled menu display for categories and items
  • Use of classes, methods, structures, maps, and macros

Project Screenshots

Project Screenshot

System Flowchart

Project Screenshot

Vending Machine CMD Output