This device is not compatible.
PROJECT
Build a Shopping List Manager Using C++ Linked Lists
In this project, we’ll build a C++ shopping list manager to create and manipulate a linked list, handle user input, and persist data to a file while learning dynamic memory, pointers, and file I/O.
You will learn to:
Define and work with a linked list to store data.
Create and manipulate dynamic nodes using pointers.
Implement functions for adding, removing, and updating items.
Persist data by saving to and loading from files.
Traverse and search linked lists efficiently.
Use terminal commands to compile and run C++ programs.
Skills
Programming Language
Data Structures
Web Development
Prerequisites
Hands-on experience using a terminal to compile and run programs
Basic understanding of C++ syntax and functions
Familiarity with variables, loops, and conditionals
Technology
C++
Project Description
In this project, we’ll build a command-line shopping list manager in C++.
We use a linked list to store shopping items, track categories, mark items as purchased, delete entries, and persist the list to disk. The project introduces core C++ concepts such as dynamic memory allocation, pointers, and file I/O through building a CLI-based application. The program is structured modularly, with separate functions for each operation, input validation, and clear ownership of the linked list state.
By the end, the project demonstrates how a basic data structure supports state management in a real-world-style CLI tool.
Project Tasks
1
Introduction
Task 0: Get Started
Task 1: Define the Shopping Item Node
2
Building the Core of Linked List
Task 2: Create and Initialize a New Item Node
Task 3: Maintain a Linked List
3
Managing and Displaying the Shopping List
Task 4: Validate Category Input
Task 5: Add Items to the List
Task 6: Display the Shopping List
Task 7: Mark an Item as Purchased
Task 8: Display Only Needed Items
Task 9: Remove an Item from the List
4
Saving and Loading Data
Task 10: Save the List to a File
Task 11: Load the List from a File
Congratulations!
Subscribe to project updates
Atabek BEKENOV
Senior Software Engineer
Pradip Pariyar
Senior Software Engineer
Renzo Scriber
Senior Software Engineer
Vasiliki Nikolaidi
Senior Software Engineer
Juan Carlos Valerio Arrieta
Senior Software Engineer
Relevant Courses
Use the following content to review prerequisites or explore specific concepts in detail.