Skip to content
AgileLogics
Intermediate 5 min read

Intermediate Projects

Prerequisites: Level 2 — Intermediate

Build these using dynamic memory, structs, and the data structures from Level 2.

1. Singly Linked-List To-Do List

Rebuild the console to-do list from Level 1, this time backed by a linked list of dynamically-allocated nodes instead of a fixed-size array, so it can grow to any number of tasks.

2. Student Record System with File Persistence

Model a struct Student { char name[50]; int id; float gpa; }. Support adding, listing, and saving/loading the full list to a file with fwrite/fread (binary I/O) between runs.

3. RPN (Reverse Polish Notation) Calculator

Use the stack you built in Level 2 to evaluate expressions like "3 4 +" or "5 1 2 + 4 * + 3 -" — push numbers, and on an operator, pop two values, apply it, and push the result back.

4. Simple Key-Value Store

Use an array of struct { char key[32]; char value[128]; } (linear search is fine at this scale) supporting set/get/delete, backed by a text file so data survives between runs.