This project is designed to manage student accounts for the bar of a secondary school. The application maintains updated information about all students, including their personal details (name, birth date, grade, class, number, balance) and their expenses throughout a calendar year (amount, description, date) using linked lists.
The application allows users to interactively perform the following operations:
- Add a new student
- Remove an existing student
- List all students alphabetically
- List students with a balance below a specified amount
- Display all information for a specific student
- Record an expense for a specific student
- Load a student's account with a specified amount
The data structures used are optimized for memory efficiency, particularly with sorting solutions that utilize auxiliary data structures with pointers to the actual records. All relevant information is stored in text files, which are loaded when the program starts and updated as needed to prevent data loss. The program is also appropriately secured.
To compile and run the application, follow these steps:
- Copy the folders
Project_data
andProject_files
to an IDE configured to compile C code. - Navigate to the
Project_files
directory. - Run the command
make
to compile the program. - Execute the program with
./main
.
Once the program is running, a menu will appear with various navigation options.
This project is licensed under the MIT License - see the LICENSE file for details.