Subject : Creating a small scale and file based Student Information System based on the logic of relational databases in C
Note1 : Before program starts, there is already a set of data you can work with. But if you want to add data from scratch, you can just go with empty text files and start adding data with respect to dependencies.
Note2 : After program stars you are expected to enter the maximum number of course and credit can be taken by a student
- Courses Text
- 'Courses' text includes following attributes;
- Unique course code
- Course name
- Course credit
- Course quota
- Lecturer ID
- Adding, deleting and updating courses possible.
- 'Courses' text includes following attributes;
- Lecturer Text
- 'Lecturer' text includes following attributes;
- Unique lecturer ID
- Lecturer name
- Lecturer surname
- Lecturer title
- Adding, deleting and updating lecturers possible.
- 'Lecturer' text includes following attributes;
- Student Text
- 'Student' text includes following attributes;
- Unique student ID
- Student name
- Student surname
- Total number of enrolled courses
- Total number of credits taken
- Adding, deleting and updating students possible.
- Course Enrollment and course drop possible.
- 'Student' text includes following attributes;
- Since one student can enroll more than one course and one course can have more than one student enrolled in that course, StudentCourseEnroll text should store which student takes which course with respect to matching.
- There must be an auto-incrementing unique ID starts from 1 for each match.
- 'StudentCourseEnroll' text includes following attributes;
- Unique ID
- Student ID
- Course code
- Student enrollment status (Enrolled / Dropped)
- Date of operation
What other features we have? Here is all;
- You can list the courses given by the lecturer whose ID is given.
- You can list all students enrolled in a course whose course code is given.
- You can list all courses taken by a students whose student ID is given.
- You can create a class list for a given course code and it's lecturer ID and save that list in 'CourseCode'_ClassList.txt file.
- First of all, it is obvious that the code is not the best. Implementation should have been done using OOP approach(Dividing code into sub files).
- Secondly, deleting function for Students, Courses and Lecturer files are not completed because of the complex dependencies. For all three 'delete' function, there is a coded part that I can get to the certain point. If you wish to complete any of the functions, you can make a pull request.