Sabtu, 18 Juli 2026

C++ Record 5

 #include <iostream>

#include <string>

// Define the struct
struct Student {
    int student_id;
    std::string name_id;
};

int main() {
    const int MAX_STUDENTS = 5;
    Student students[MAX_STUDENTS]; // Saved in memory via fixed-size array
    int actual_count = 0;

    // 1. Input Loop (cin)
    std::cout << "--- Enter Student Details (Max " << MAX_STUDENTS << ") ---\n";
    for (int i = 0; i < MAX_STUDENTS; ++i) {
        std::cout << "Enter ID for student " << (i + 1) << ": ";
        std::cin >> students[i].student_id;

        if (students[i].student_id < 0) {
            break;
        }

        std::cin.ignore(); // Clear newline buffer before getline

        std::cout << "Enter Name for student " << (i + 1) << ": ";
        std::getline(std::cin, students[i].name_id);
        
        std::cout << "\n";
        actual_count++;
    }

    // 2. Search Section
    if (actual_count == 0) {
        std::cout << "No student records saved in memory. Exiting search.\n";
        return 0;
    }

    int search_id;
    std::cout << "===================================\n";
    std::cout << "          STUDENT SEARCH           \n";
    std::cout << "===================================\n";
    std::cout << "Enter the Student ID to search for: ";
    std::cin >> search_id;

    bool found = false;
    
    // Linear search algorithm through the memory array
    for (int i = 0; i < actual_count; ++i) {
        if (students[i].student_id == search_id) {
            // 3. View Result (cout)
            std::cout << "\nMatch Found!\n";
            std::cout << "-----------------------------------\n";
            std::cout << "ID: " << students[i].student_id << "\n";
            std::cout << "Name: " << students[i].name_id << "\n";
            std::cout << "-----------------------------------\n";
            found = true;
            break; // Stop searching once found
        }
    }

    if (!found) {
        std::cout << "\nStudent with ID " << search_id << " not found.\n";
        std::cout << "===================================\n";
    }

    return 0;
}

Tidak ada komentar: