#include <stdio.h> #include <stdlib.h> #include <string.h> #define MAX_STUDENTS 100 #define MAX_NAME_LENGTH 50 int i; struct Student { char name[MAX_NAME_LENGTH]; int age; float gpa; }; struct Student students[MAX_STUDENTS]; int numStudents = 0; void addStudent() { if (numStudents == MAX_STUDENTS) { printf("Maximum number of students reached.\n"); return; } struct Student newStudent; printf("Enter name: "); scanf("%s", newStudent.name); printf("Enter age: "); scanf("%d", &newStudent.age); printf("Enter GPA: "); scanf("%f", &newStudent.gpa); students[numStudents] = newStudent; numStudents++; printf("Student added successfully.\n"); } void searchStudent() { char searchName[MAX_NAME_LENGTH]; printf("Enter name to search: "); scanf("%s", searchName); int found = 0; for ( i = 0; i < numStudents; i++) { if (strcmp(students[i].name, searchName) == 0) { printf("Name: %s\n", students[i].name); printf("Age: %d\n", students[i].age); printf("GPA: %.2f\n", students[i].gpa); found = 1; break; } } if (!found) { printf("Student not found.\n"); } } void displayAllStudents() { if (numStudents == 0) { printf("No students found.\n"); return; } printf("All Students:\n"); for (i = 0; i < numStudents; i++) { printf("Student %d:\n", i + 1); printf("Name: %s\n", students[i].name); printf("Age: %d\n", students[i].age); printf("GPA: %.2f\n", students[i].gpa); printf("\n"); } } int main() { int choice; while (1) { printf("Student Information Management System\n"); printf("1. Add Student\n"); printf("2. Search Student\n"); printf("3. Display All Students\n"); printf("4. Quit\n"); printf("Enter your choice: "); scanf("%d", &choice); switch (choice) { case 1: addStudent(); break; case 2: searchStudent(); break; case 3: displayAllStudents(); break; case 4: exit(0); default: printf("Invalid choice. Please try again.\n"); } printf("\n"); } return 0; }