A C language-based MCQ Quiz System built in multiple versions – starting from a beginner-friendly hardcoded version to more advanced ones with file handling, randomization, and additional features.
- Type: Beginner
- Features:
- Hardcoded questions in C file
- Score calculation
- Supports uppercase/lowercase input
- 📂 Go to Version 1
- Version 2: Load questions from file
- Version 3: Random question order
- Version 4: Timer for each question
- C Language
- Loops (for, while)
- Conditional statements (if, else)
- Arrays
- Functions
(You can add screenshots from each version here)
version01
- Type: Intermediate
- Features:
- Questions loaded from external file (questions.txt)
- Paginated display (10 questions per page)
- Tracks student performance and saves to history.txt
- Option to view previous quiz results
- Version 3: Random question order
- Version 4: Timer for each question
-C Language
- Loops (for, while)
- Conditional statements (if, else)
- Arrays
- Functions
- File Handling (fopen, fscanf, fprintf)
- Character handling (toupper)
(You can add screenshots from each version here)
version02
- Navigate to the version folder (e.g., Version1, Version2)
- Open the .c file in Code::Blocks or any C compiler
- Compile & run the program
- Smart Randomization - Unique quiz every time with Fisher-Yates shuffle
- 3 Difficulty Levels - Easy/Medium/Hard with separate question banks
- Progress Tracking - Scores saved in history.txt with performance comparison
- Enhanced UX - Case-insensitive input, instant feedback, clean interface
- File I/O (
fopen,fscanf,fprintf) - Fisher-Yates shuffle algorithm
- Structures for data organization
- String functions (
strcmp,toupper) - Randomization (
srand,rand) - Multi-file management
- Error handling & validation
- Timer System - Countdown for each question
- Speed Challenges - Track response times under pressure
This project is licensed under the MIT License – see the LICENSE file for details.
✍ Author: Omi Das
📅 Started: 2025-08-15
📅 Updated: 2025-08-21
📅 Updated: 2025-09-25