#
#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:
Posting Komentar