diff --git a/ComplaintBox.cpp b/ComplaintBox.cpp index 6abd894..7f83991 100644 --- a/ComplaintBox.cpp +++ b/ComplaintBox.cpp @@ -79,6 +79,21 @@ bool ComplaintBox::loginUser(bool isAdmin) { if (success) { cout << GREEN << "Login successful!\n" << RESET; + string fetchSql = "SELECT category, subCategory, message FROM complaints WHERE username = '" + uname + "';"; + cout << "\nYour Complaints:\n"; + bool found = false; + + sqlite3_exec(db, fetchSql.c_str(), [](void* foundPtr, int argc, char** argv, char** colName) -> int { + *(bool*)foundPtr = true; + cout << "\nCategory: " << argv[0] + << "\nSub-category: " << argv[1] + << "\nMessage: " << argv[2] << "\n"; + return 0; + }, &found, &errMsg); + + if (!found) { + cout << "No complaints found.\n"; + } return true; } else { cout << RED << "Invalid credentials!\n" << RESET; diff --git a/complaintbox b/complaintbox new file mode 100755 index 0000000..cd8176d Binary files /dev/null and b/complaintbox differ diff --git a/main.cpp b/main.cpp index 8eaffc2..403498f 100644 --- a/main.cpp +++ b/main.cpp @@ -8,17 +8,31 @@ int main() { int choiceNum = 0; do { - cout << BOLDVIOLET << "\n==== Complaint Box Menu ====\n" << RESET; - cout << CYAN << "1. Register User\n" - << "2. Register Admin\n" - << "3. User Login\n" - << "4. Admin Login\n" - << "5. File Complaint\n" - << "6. Export Complaints to CSV\n" - << "7. Search Complaints\n" - << "8. Exit\n" << RESET; - - cout << WHITE << "Choice: " << RESET; + // Double-line box top + cout << BOLDVIOLET << u8"╔════════════════════════════════════════════════════╗\n"; + cout << u8"║ 🗂️ COMPLAINT BOX MENU ║\n"; + cout << u8"╠════════════════════════════════════════════════════╣\n"; + + // Menu options with dividers + cout << u8"║ 1. Register as User ║\n"; + cout << u8"╟────────────────────────────────────────────────────╢\n"; + cout << u8"║ 2. Register as Admin ║\n"; + cout << u8"╟────────────────────────────────────────────────────╢\n"; + cout << u8"║ 3. Login as User ║\n"; + cout << u8"╟────────────────────────────────────────────────────╢\n"; + cout << u8"║ 4. Login as Admin ║\n"; + cout << u8"╟────────────────────────────────────────────────────╢\n"; + cout << u8"║ 5. File a Complaint ║\n"; + cout << u8"╟────────────────────────────────────────────────────╢\n"; + cout << u8"║ 6. Export Complaints to CSV ║\n"; + cout << u8"╟────────────────────────────────────────────────────╢\n"; + cout << u8"║ 7. Search Complaints ║\n"; + cout << u8"╟────────────────────────────────────────────────────╢\n"; + cout << u8"║ 8. Exit ║\n"; + cout << u8"╚════════════════════════════════════════════════════╝\n" << RESET; + + // Input prompt + cout << WHITE << "\n👉 Enter your choice (1-8): " << RESET; cin >> choice; // <<<<<<< Fix/crash-main-menu