You are on page 1of 17

STUDENT DATABASE

MANAGEMENT
SYSTEM
Hello!
My group members are Muhammad Hamza , Fareed-ud-din and
Muhammad Faizan
Q . What is it ?

Its basically a system(program) that takes information of a student from the user
and stores it for later use.
Q . Why is it ?

“Ease the user in a simple way to store and modify the data of the students.”

• To store information dynamically as desired by the user.


• To search for the desired student by using his/her registration number.
• To delete the data of a student in case if required.
• To modify the information stored for each and every student.
Q . How it is ?
The project is developed in C++ with the help of OOP and Data Structure.

• Functions written for each option in main class.


• Switch statement is used.
• Linked list is used.
• File handling to maintain information.
Understanding the system
As linked list is used so it contains a class with a node type structure,
there are different functions used in this system.

1) Function for creating a node to store information.


2) Function for displaying .
3) Function deleting a particular student.
4) Function to search the position of a student.
5) Function for editing the information.
6) Function to search student.
7) Function to save and load the information in a text file.
Creating Function

o Takes input as argument to take the information and stores it


inside a node.
o Initializing next and previous section of the node as NULL.
o Checking conditions if it’s the first node or not.
o Pointing next and previous according to the condition .
Display Function

o Takes a temporary pointer node and initializes it as head.


o Checking if head is NULL or not.
o If not then displaying the data with the help of while loop and
repeats until NULL is reached at the next of node.
Search Position Function

o It’s a node type function.


o Takes registration number from user.
o Create and initialize a temp pointer with head.
o Checking first node as if registration is equal to the store
registration.
o If true then return temp location of the node.
o Else moving towards second node.
o Repeating with the help of while loop until NULL is reached.
Deleting Function

o Current pointer node is initialized with search position


function.
o Has the address of the returning node.
o Condition to check for the list if it’s empty.
o For nodes in between head and last, current-
>previous->next=current->next;
o current->next->previous=current->previous;
o
o Deleting the current node.
Search Position Function

o It’s a node type function.


o Takes registration number from user.
o Create and initialize a temp pointer with head.
o Checking first node as if registration is equal to the store
registration.
o If true then return temp location of the node.
o Else moving towards second node.
o Repeating with the help of while loop until NULL is reached.
Editing Function

o Node type current pointer initializes with search position


function.
o Checking if list is empty.
o Using switch inside a do while loop.
o Creating cases for editing.
o In each case declaring and taking modified value.
o Replacing modified value by the original value.
Save And Load Functions

o Loading a text file using ifstream file command.


o Checking if its empty.
o Checking condition of !file.eof( ) in while loop.
o Declaring variables and getting them in file like file>>variable
.
o Passing variables as argument in create node function.
o Saving data in a file using ofstream file command.
o Taking temp pointer node as head and another as NULL.
o In while loop taking storing all data in file.
Continued……

temp2=temp;
temp=temp->next;
delete temp2;

o Finally closing the file using file.close( ).


Main Function

o Making an object.
o Calling obj.load( ) function to load the file.
o Using do while ask the user for different options.
o Calling obj.save( ) function at the end to save the entire
information.
Structure of Node

struct node
{
string first_name, last_name, course, reg, department;
string message,fees;
int section;
node *next, *previous;
};
Thanks!
Any questions?
You can find me at @iamhamza786

You might also like