You are on page 1of 8

Programme Name: BCS(Hons.

)
Course Code: (CSC 2516)

Course Name: DATA STRUCTURE AND ALGORITHM

Individual Project
Date of Submission: 31st August 2021

Submitted By: Submitted To:

Student Name: Rubin Timilsina Faculty Name: : PRAKASH CHANDRA PRASAD

IUKL ID: Department: LMS


Semester: 4th

Intake: September, 2019


Abstract:
Student Management System is software which is helpful for students as well as the school
authorities. In the current system all the activities are done manually. It is very time consuming and costly.
Our Student Management System deals with the various activities related to the students.

In the Software we can register as a user and user has of two types, student and administrator.
Administrator has the power to add new user and can edit and delete a user. A student can register as
user and can add edit and delete his profile. The administrator can add edit and delete marks for the
student. All the users can see the marks.

Introduction to Student management System:


The student management system is an environment where all the process of the student in the
institution is managed. It is done through the automated computerized method. Conventionally
this system is done using papers, files, and binders.

This system saves the time of the student and of the administrator. It includes processes like
registration of the student’s details, assigning the department based on their course, and
maintenance of the record. This system reduces the cost and workforce required for this job. As
the system is online the information is globally present to everyone.

This makes the system easy to handle and feasible for finding the omission with updating at the
same time. As for the existing system, they use to maintain their record manually which makes it
vulnerable to security. If filed a query to search or update in a manual system, it will take a lot of
time to process the query and make a report which is a tedious job.

As the system used in the institute is outdated as it requires paper, files, and binders, which will
require the human workforce to maintain them. To get registered in the institute, a student in
this system should come to the university. Get the forms from the counter while standing in the
queue which consumes a lot of the student’s time as well as of the management team.

As the number of the student increases in the institute manually managing the strength becomes
a hectic job for the administrator. This computerized system stores all the data in the database
which makes it easy to fetch and update whenever needed.
Features:
Talking about the features of this Simple system, the user can perform the CRUD operations to
it. Like, add student details by entering his/her name, roll number, age, address, parents name,
class, school name, etc. The user can also view all the available student records. Besides, the user
can edit information as well as remove a student’s whole data. The system creates an external
file to store the user’s data permanently. This system is developed using C Programming
Language and different variables, strings have been used for the development of it.

Testing:
In this Student record management system for college I have used linked list, binary search tree
data structure, and here is proper menu for this project. And I have testing the Insert, Update,
Delete, search for this project which I have used linked list and binary search algorithm. And the
testing was successfully implemented in this project.

Conclusion
In all the school management system is bringing a great difference in the lives of students,
teachers, parents, and the admin. Good management offers better productivity and hence more
progress towards development. Seeing its demands and benefits, we have come forward with
best-featured school management software. It helps the school to achieve the target, reduce
work, increase efficiency, eliminating error, and monitoring progress.

Appendix:

#include<stdlib.h>
#include<string.h>
#include<stdio.h>
struct Student
{
int rollnumber;
char name[100];
char phone[100];
float percentage;
struct Student *next;

}* head;
void insert(int rollnumber, char* name, char* phone, float percentage)
{
struct Student * student = (struct Student *) malloc(sizeof(struct Student));
student->rollnumber = rollnumber;
strcpy(student->name, name);
strcpy(student->phone, phone);
student->percentage = percentage;
student->next = NULL;

if(head==NULL){

head = student;
}
else{

student->next = head;
head = student;
}

}
//searching//
void search(int rollnumber)
{
struct Student * temp = head;
while(temp!=NULL){
if(temp->rollnumber==rollnumber){
printf("Roll Number: %d\n", temp->rollnumber);
printf("Name: %s\n", temp->name);
printf("Phone: %s\n", temp->phone);
printf("Percentage: %0.4f\n", temp->percentage);
return;
}
temp = temp->next;
}
printf("Student with roll number %d is not found !!!\n", rollnumber);
}
void update(int rollnumber)
{

struct Student * temp = head;


while(temp!=NULL){

if(temp->rollnumber==rollnumber){
printf("Record with roll number %d Found !!!\n", rollnumber);
printf("Enter your new name: ");
scanf("%s", temp->name);
printf("Enter your new phone number: ");
scanf("%s", temp->phone);
printf("Enter the new percentage: ");
scanf("%f",&temp->percentage);
printf("Update Successful!!!\n");
return;
}
temp = temp->next;

}
printf("Student with roll number %d is not found !!!\n", rollnumber);

}
void Delete(int rollnumber)
{
struct Student * temp1 = head;
struct Student * temp2 = head;
while(temp1!=NULL){

if(temp1->rollnumber==rollnumber){

printf("Record with roll number %d Found !!!\n", rollnumber);

if(temp1==temp2){

head = head->next;
free(temp1);
}
else{

temp2->next = temp1->next;
free(temp1);
}

printf("Record Successfully Deleted !!!\n");


return;

}
temp2 = temp1;
temp1 = temp1->next;

}
printf("Student with roll number %d is not found !!!\n", rollnumber);

}
void display()
{
struct Student * temp = head;
while(temp!=NULL){

printf("Roll Number: %d\n", temp->rollnumber);


printf("Name: %s\n", temp->name);
printf("Phone: %s\n", temp->phone);
printf("Percentage: %0.2f %%\n\n", temp->percentage);
temp = temp->next;

}
}
int main()
{
head = NULL;
int choice;
char name[100];
char phone[100];
int rollnumber;
float percentage;
printf("1 to insert student details\n2 to search for student details\n3 to de
lete student details\n4 to update student details\n5 to display all student detai
ls");
do
{
printf("\nEnter Choice: ");
scanf("%d", &choice);
switch (choice)
{
case 1:
printf("Enter roll number: ");
scanf("%d", &rollnumber);
printf("Enter name: ");
scanf("%s", name);
printf("Enter phone number: ");
scanf("%s", phone);
printf("Enter percentage: ");
scanf("%f", &percentage);
insert(rollnumber, name, phone, percentage);
break;
case 2:
printf("Enter roll number to search: ");
scanf("%d", &rollnumber);
search(rollnumber);
break;
case 3:
printf("Enter roll number to delete: ");
scanf("%d", &rollnumber);
Delete(rollnumber);
break;
case 4:
printf("Enter roll number to update: ");
scanf("%d", &rollnumber);
update(rollnumber);
break;
case 5:
display();
break;
}

} while (choice != 0);


}

Output:

You might also like