A collection of practical C programming projects built while learning and strengthening my understanding of the C programming language.
These projects progress from basic data structures and file handling to dynamic memory allocation, pointers, and more complex program logic. ๐
| # | Project | Description | Key Concepts |
|---|---|---|---|
| ๐ 1 | Student Dashboard | Manage student records with persistent CSV storage | struct, arrays, pointers, file I/O |
| ๐ฆ 2 | Bank ATM System | Create accounts, login, deposit, withdraw, and transfer money | struct, strings, file I/O, functions |
| ๐ฎ 3 | Hangman Game | Terminal-based word guessing game with scoring | arrays, strings, pointers, functions, randomness |
| โ 4 | Dynamic To-Do List | Task manager using dynamically allocated memory | malloc, realloc, free, pointers, file I/O |
A command-line student management system that allows users to:
- โ Add students
- ๐ View all students
- ๐ Search students by ID
- ๐๏ธ Delete students
- โ๏ธ Update grades
- ๐พ Save data to a CSV file
- ๐ Load existing records
struct โข Arrays โข Pointers โข Functions โข File I/O โข CSV โข String handling
๐ Location: Project 1 - Student Dashboard
A command-line ATM/banking simulation where users can create accounts and perform basic banking operations.
- ๐ค Create an account
- ๐ Login using account number and PIN
- ๐ฐ Check balance
- โ Deposit money
- โ Withdraw money
- ๐ Transfer money between accounts
- ๐ช Logout
- ๐พ Persistent account data
struct โข Arrays โข Pointers โข Strings โข File I/O โข Authentication logic โข Functions
๐ Location: Project 2 - Bank ATM System
A terminal-based Hangman game where the player attempts to guess a randomly selected word.
Players receive a maximum of 6 incorrect guesses before losing.
- ๐ฒ Random word selection
- ๐ค Letter guessing
- โค๏ธ Six chances
- ๐ Score tracking
โ ๏ธ Final-warning stage- ๐ Win detection
- ๐ Loss detection
- ๐ Play again option
Arrays โข Strings โข Pointers โข Functions โข Loops โข Conditional logic โข Random number generation
๐ Location: Project 3 - Hangman Game
A command-line task manager that uses dynamic memory allocation instead of a fixed-size array.
- โ Add tasks
- ๐ View tasks
- โ Mark tasks as completed
- ๐ Mark tasks as incomplete
- ๐๏ธ Delete individual tasks
- ๐งน Delete all completed tasks
- ๐พ Save tasks to a file
- ๐ Load tasks when the program starts
- ๐ Dynamically grow the task list
- ๐ Dynamically shrink the task list
- ๐ง Free allocated memory
malloc() โข realloc() โข free() โข Pointers โข Double pointers โข Dynamic arrays โข Structures โข File I/O
๐ Location: Project 4 - Dynamic To-Do List
The projects represent a progression in my understanding of C:
Project 1
Student Dashboard
โ
โผ
Structs + Arrays + File I/O
โ
โผ
Project 2
Bank ATM System
โ
โผ
Functions + Pointers + Program Logic
โ
โผ
Project 3
Hangman Game
โ
โผ
Strings + Arrays + Randomness
โ
โผ
Project 4
Dynamic To-Do List
โ
โผ
Dynamic Memory + malloc + realloc + free
The Dynamic To-Do List was particularly useful for understanding how memory can be allocated and resized at runtime rather than relying on a fixed-size array.
- C
- Variables and data types
- Functions
- Loops
- Conditionals
- Arrays
- Strings
- Structures
- Pointers
- Double pointers
- Dynamic memory allocation
- File handling
- Input/output
- Searching
- Array manipulation
- Random number generation
stdio.h
string.h
stdlib.h
ctype.h
time.h
This repository contains projects created while developing my C programming fundamentals.
Rather than only completing isolated exercises, I am using these projects to practice building complete command-line applications that combine multiple programming concepts.
The projects gradually introduce more advanced concepts, particularly:
๐งฑ Data structures ๐ Pointers ๐ File handling ๐ง Dynamic memory management ๐ง Modular program design ๐งช Problem solving
More C projects will be added as I continue progressing through the language and exploring topics such as:
- ๐ง Data structures
- ๐ Algorithms
- ๐งต More advanced pointers
- ๐ฆ Linked lists
- ๐ณ Trees
- ๐ Searching and sorting
- ๐พ More advanced file handling
- ๐งช Testing
- ๐งฉ Modular C projects
Syed Shams Junaid
GitHub: Azaucifer
โญ This repository is a record of my progress learning and building with C.