This project is a Student Management System implemented in C using linked lists. The system provides functionalities to manage student records effectively, including adding, searching, updating, and deleting records. It also includes features for analyzing student GPAs.
-
Add a Student
Prompts the user for new student details and adds them to the system. -
Display All Students
Shows a list of all stored student records. -
Search for a Student by ID
Allows the user to find a specific student using their unique ID. -
Update Student Information
Facilitates updating details for an existing student identified by their ID. -
Delete a Student
Removes a student's record based on their ID. -
Calculate Average GPA
Computes and displays the average GPA of all students in the system. -
Find Student with Highest GPA
Identifies and displays the student with the highest GPA.
The project is structured into the following files:
main.c- Contains the main program logic and user interaction.student_records.c- Implements the functions to manage student records.student_records.h- Header file containing function prototypes and structure definitions.
- Clone the repository:
git clone https://github.com/malikanas553/Student-Management-System.git cd student-management-system cd Student_Management_System
- Compile the program:
Open your terminal and run the following command to compile the program:gcc main.c student_records.c -o student_management_system
- Run the program:
To run the compiled program, use the following command in your terminal:./student_management_system
After running the program, a menu will be displayed, allowing you to choose from the available features. Simply follow the on-screen prompts to add, search, update, delete, or analyze student records.
1. Add a Student
2. Display Students
3. Search Student by ID
4. Update Student Information
5. Delete Student
6. Calculate Average GPA
7. Find Student with Highest GPA
8. Exit
Enter your choice:
This Student Management System is designed to be a simple yet effective tool for managing student records using linked lists in C. It demonstrates the application of fundamental programming concepts such as dynamic memory allocation, data structures, and user interaction in a real-world scenario.
If you encounter any issues or have suggestions, don't hesitate to create an issue or pull request on the repository.
Happy coding! 🎉