A C-program for academic records management.
It stores academic records of students, instructors and courses in a college.
- The ideas used are :
- structure
- pointers
- file-handling
- dynamic-memory allocation
- linked-list
- signal-handling
- basics of C language like if-else,switch conditionals
Sure, π€ Here it is :
The program uses text files for storing data in specified format. Every time the program is executed or terminated, the data in text file is updated. This is done by using the file handling of C language along with jumping technique of fseek to maintain the order in which data is saved.
A linked-list is maintained to store the data once it is read. This data-structure is chosen to make the insertion and deletion of data faster paying little cost while finding a particular data. Each of the category has a separate linked list to make sure that modifications in one category doesn't affect the other.
Each category has a separate structure for storing the data about them. They contain all the essential data that a object of that category is supposed to have.
Insertion of new data is handled by creating new structures inplace. This is done by using the concept of dynamic memory allocation. The newly created structure is then added to the corresponding linked list.
The database is prone to threat if the programme exits unexpectedly (e.g. forced inturption using ctrl+c) as the data is saved only when the programme exits. Signal handling concepts are used to make sure that the programme exits in the way it is expected to be and data is saved before exiting.
That's all in a nutshell. Please go through code as I've added lots of comments. Feel free to contribute and use. For further interactions one may contact via e mail