This repository is intended for students studying Algorithms and Data Structures II, offering a practical approach to manipulating files in secondary memory using the C language.
To successfully implement this project, you need the following technologies and tools configured:
-
Programming Language: [C] - The project was developed exclusively in C.
-
Database: [Custom Database] - Uses a custom database stored in binary files in the 'bin' folder.
-
Compiler: [Minimalist GNU for Windows] - Developed using MinGW as compiler. We recommend installing MinGW or GCC to ensure adequate performance and avoid bugs, as the fixes are based on specific compiler commands.
-
Operating System: [Windows] - Exclusively compatible with Windows due to the use of the <windows.h> graphics library.
To get started using the Library Management System, follow these steps:
- Compile the source code directly via bat (inside the repository directory):
./compile.bat
- This will compile all .c files in the directory, then run the main program using the following command:
./window.exe
If you want to make modifications to the project so that it only works via the terminal, I recommend that you follow these steps to avoid bugs:
-
Create your main file inside
src/
; -
After making all the desired modifications to your program, according to the necessary logic:
-
(You can also change compile.bat to make the repetitive process easier)
Note If there are bugs in the compilation, you can delete all window handling files and folders, namely:
./windows_main.c
./src/window_functions
Don't worry, in the ./src
folder, you will find everything documented in the headers, happy reading!
- Each script is independent and contains its own specific windows and functionality.
- Careful handling of files and validation of user input are important considerations, and their implementations are in
/src/estruturas.c
- Scripts can be compiled separately, and their functionality can be integrated as needed.
We are open to contributions and improvements to this project. If you want to contribute or suggest improvements, feel free to open issues, submit pull requests, and collaborate on development.