How prudhviyarraguntla2007-sys/online_exam works
This is a console-based exam platform, with two overlapping implementations: the SQLite-backed main.cpp version and the in-memory version in new_main.cpp/new_main.cpp.cpp. The principal workflow is role-based entry, exam authoring and publication, student attempts, saved results, and analytics. The excerpts establish the controller entry point, exam/result concepts, analytics, and SQLite use, but omit much of the wiring; unverified subsystem links are dashed. The database files are present, but the excerpts do not establish which file the program opens.
Main entry points: main.cpp System controller · sqlite3.h SQLite API · database.db Database files
Components 14
Application entry
- System controller
main.cpp
Users and roles
- Authentication
main.cpp - Student workflows
main.cpp - Admin workflows
main.cpp - Teacher workflows
main.cpp
Exam lifecycle
- Exam service
main.cpp - Exam and timing
main.cpp - Question content
main.cpp
Results and persistence
- Exam results
main.cpp - Class analytics
main.cpp - SQLite database access
main.cpp - SQLite API
sqlite3.h - Database files
database.db
Other components
- Console user
Connections 14
- Console user → System controller: starts
main.cpp - System controller → Authentication: routes roles
main.cpp - System controller → Admin workflows: routes roles
main.cpp - System controller → Student workflows: routes roles
main.cpp - System controller → Teacher workflows: routes roles
main.cpp - Admin workflows → Exam service: manages exams
main.cpp - Teacher workflows → Exam service: manages exams
main.cpp - Student workflows → Exam service: uses exams
main.cpp - Exam service → Exam and timing: manages
main.cpp - Exam and timing → Question content: contains
main.cpp - Exam service → Exam results: saves results
main.cpp - Admin workflows → Class analytics: views analytics
main.cpp - SQLite database access → SQLite API: calls API
main.cpp - SQLite database access → Database files: reads or writes