You are on page 1of 28

STUDENT MANAGEMENT

SYSTEM
Abstract –
Student management system deals with efficient and user friendly
maintenance of student details. It helps in maintenance of three aspects of a
student that is fees, attendance and result. Student can pay the fees and check
results and attendance. The teacher can update the attendance of the student
based on the presence or absence of in the class which is maintained on the
daily basis, check their results, fees status and detain them if failed to maintain
the minimum attendance or marks. The administrator can check on all three
aspects of a student. The user can either be admin, student or teacher.
Keywords: student details [1], [2], [3], [4], attendance [1], [2], marks [1], [2], fees
status [6], results.

INTRODUCTION
My program on Student Management System has been designed for maintaining
student records. There are following section in the program :

1. Record entry section: In this section the data’s of the student has been entered and
saved.

2. Searching record section: In this section the record of the following student has
been searched by entering the rollno or by name.

3. Display section: In this section the record of the student has been displayed at a
glance.

4. Modify section: In this section if any detail of the particular student has been
entered wrong , that has been corrected.

5. Delete record: In this section the record of the student has been deleted
permanentely.

The framing of the program has been designed using ‘Switchcase’ and some
graphic functions like textcolor(color),textbackground(color),textcolor(BLINK) and
using gotoxy( row, column) ;

OBJECTIVE
The main objective of the system is to reduce the paper work and to
eliminate manual processes and to save significant staff time. Using this
system, students can view student details, internal marks, external exam
marks, attendance and pay fees. Admin can view the student’s details by
entering usn. Retrieval of any information related to student and fees
payment can be done. The teacher and admin, give their feedback to students
through the notification module.

System Design
 Data Flow Diagram:
The whole architecture structure stems from the original flow diagram. The diagram
below more accurately portrays the flow through the system

Figure 1: DFD Level 0

Figure 2: DFD Level

Figure 3: DFD Level 2


 Use case diagram:
Represent the actors and their relationship with the different entities in the
system.

Figure 4: Use Case Diagram

 ER Diagram:
Represents the relationship between the different entities present in the
system.
Figure 5:ER Diagram

Tools Used
 NetBeans IDE
IDE is much more than a text editor. The NetBeans Editor help indent lines,
matches words, brackets, and highlight source code syntactically and
semantically. It provides code templates, coding tips, and refactoring tools.

The editor supports many languages such as Java, C/C++, XML and HTML,
PHP, JavaScript and JSP. The editor is extensible and the user can plug in
support for many other languages. Keeping a clear overview of large
applications, with thousands of folders and files, and millions of lines of code,
is a daunting task. NetBeans IDE provides different views of data, from
multiple project windows to helpful tools for setting up applications and
managing them efficiently. New developers can easily understand as it is well
organized. Design GUIs for Java SE, HTML5, C/C++, Java EE, PHP and Java ME
applications quickly and smoothly by using editors and drag-and-drop tools
in the IDE. For Java SE applications, the NetBeans GUI Builder automatically
takes care of correct spacing and alignment, while supporting in-place
editing.
 MySQL
MySQL is an open-source relational database management system (RDBMS).
MySQL is free and open-source software under the terms of the GNU
General Public License, and is also available under a variety of
proprietary licenses. Ships with no GUI tools to administer MySQL databases
or manage data contained within the databases. Users may use the included
command line tools, or use MySQL "front-ends", desktop software and web
applications that create and manage MySQL databases, build database
structures, back up data, inspect status, and work with data records. The
official set of MySQL front-end tools, MySQL Workbench is actively
developed by Oracle, and is freely available for use.

Navicat Premium
Navicat Premium is a multi-connections database administration tool
allowing user to connect to MySQL, MariaDB, SQL Server, and SQLite, Oracle
and PostgreSQL databases simultaneously within a single application,
making database administration to multiple kinds of database so easy.
Navicat Premium combines the functions of other Navicat members and
supports most of the features in MySQL, MariaDB, SQL Server, SQLite, Oracle
and PostgreSQL including Stored Procedure, Event, Trigger, Function, View.
Implementation
It revolves around the different modules present and the type of user using it.
The types of users are:

 Administrator:
Register the faculty, student and can have the overall view of all the parameters
of a student just by entering the usn.
Figure 7: Admin Representation

 Student:
Pay fees and check their personal or academic details updated by faculty.

Figure 8: Student Representation

 Faculty:
Update student attendance, marks and send notifications.

Figure 9: Faculty Representation

The modules present in the system are:


 Attendance:
Updated by the teacher on daily basis and this updated information can be
viewed by the student and admin.

Figure 10: Attendance Module Representation

 Notification:
Notifications are sent to sent to students from admin and faculty.

Figure 11: Notification Module Representation

 Marks:
Internal marks and external exam marks are updated for the student or an
excel sheet with the all students marks can be uploaded.

Figure 12: Marks Module Representation


 Payment:
Fees id paid by the student through an online payment gateway.

Figure 13: Payment Module Representation

Result
 Login Page
This page is displayed for all the users to login to their account.
 Registration Page
Admin registers the faculty and student based by filling the requires details

 Marks Page
Faculty updates the marks of the student through this page.

Class hierarchy
The only main class ‘student’ has been declared having following data member and
function :

Private data members are name(for entering Student name),rollno(for student


rollno),admin_no(for student admission no),dd(for day date of student date of
birth),mm(for monthof student date of birth),yy(for the year of student date of
birth),fname(father’s name of student),mname(for mother name of student).

Public data members and function : ‘void getdata()’ for inputing the details of the
student(like name,rollno,date of birth) . ‘void putdata’ for displaying the data’s of the
student,’void modifydata()’for editing the details of the student. The record of the
student can be searched and deleted but function has been declared for it in the
class,direct coding has been done in the ‘main()’.

Other information about variable has been written in the non-compiled statement (in
source code ).

C++ coding

#include<fstream.h>

#include<conio.h>

#include<process.h>

#include<stdio.h>

#include<string.h>

class student
{

char fname[15],mname[15]; //father name & mother name

int rollno,admin_no,dd,mm,yy; //roll number,Admission no, date,Month,Year

public:

char name[15];

void getdata(); //function for input data

void putdata();

void modifydata(); //Function to edit data

void display(); //Function to display data

int get_roll() //function return rollno

{ return rollno; }

} s1;

void student::getdata()

{ clrscr();

gotoxy(10,2);textcolor(0);textbackground(10);

cprintf(" :: RECORD ENTRY SECTION ::");

gotoxy(12,6);textcolor(3);textbackground(0);

cprintf("1. Enter the rollno :");cin>>rollno;

gotoxy(12,7);textcolor(3);

cprintf("2. Enter the name :");gets(name);

gotoxy(12,8);textcolor(3);

cprintf("3. Father name :");gets(fname);

gotoxy(12,9);textcolor(3);

cprintf("4. Mother name :"); gets(mname);

gotoxy(12,10);textcolor(3);

cprintf("5. Enter Admission no. :");cin>>admin_no;

gotoxy(12,11);textcolor(3);

cprintf("6. Enter date of birth :");


gotoxy(14,12);textcolor(3);

cprintf(" Date:");cin>>dd;

gotoxy(14,13);textcolor(3);

cprintf(" Month:");cin>>mm;

gotoxy(14,14);textcolor(3);

cprintf(" Year :");cin>>yy; }

void student::putdata()

clrscr();

gotoxy(10,2);textcolor(1);textbackground(10);

cprintf(" :: RECORD ::");

gotoxy(12,6);textcolor(3);textbackground(0);

cprintf("1. Rollno : ");cout<<rollno;

gotoxy(12,7);textcolor(3);

cprintf("2. Name : ");puts(name);

gotoxy(12,8);textcolor(3);

cprintf("3. Father name : ");puts(fname);

gotoxy(12,9);textcolor(3);

cprintf("4. Mother name : "); puts(mname);

gotoxy(12,10);textcolor(3);

cprintf("5. Admission no.: ");cout<<admin_no;

gotoxy(12,11);textcolor(3);

cprintf("6. Date of birth: ");cout<<dd<<"/"<<mm<<"/"<<yy;

void student::modifydata()

{ char nm[15],fath[15],moth[15];

int rno,d,m,y,admis;
clrscr();

gotoxy(10,2);textcolor(0+BLINK); textbackground(8);

cprintf(" Enter new record :");

gotoxy(11,5);textcolor(14); textbackground(0);

cprintf(" Name :");gets(nm);

gotoxy(11,6);textcolor(14);

cprintf(" Roll No. :");cin>>rno;

gotoxy(11,7);textcolor(14);

cprintf(" Father name :");gets(fath);

gotoxy(11,8);textcolor(14);

cprintf(" Mother name :");gets(moth);

gotoxy(11,9);textcolor(14);

cprintf(" Admission ID :");cin>> admis;

gotoxy(11,10);textcolor(14);

cprintf(" Date of Birth :");

gotoxy(11,11);textcolor(14);

cprintf(" Date :"); cin>>d;

gotoxy(11,12);textcolor(14);

cprintf(" Month :"); cin>>m;

gotoxy(11,13);textcolor(14);

cprintf(" Year :"); cin>>y;

strcpy(name,nm);

strcpy(fname,fath);

strcpy(mname,moth);

rollno=rno;

admin_no=admis;dd=d;mm=m;yy=y;

void student::display()
{ student *p3;

int z=6;

clrscr();

gotoxy(30,1);

textbackground(1);textcolor(6);

cprintf("Student Information");

gotoxy(23,2);textbackground(RED);

textcolor(WHITE+BLINK);

cprintf("::Display Record::") ;

textbackground(0);textcolor(11);

gotoxy(1,3);

cprintf("--------------------------------------------------------------------------");

gotoxy(1,4);

cprintf(" Name Rollno Admission no. DateofBirth Fathername Mothername ");

gotoxy(1,5);

cprintf("--------------------------------------------------------------------------- ");

textcolor(7);

ifstream fff;

fff.open("student.txt",ios::in);

while(!fff.eof())

fff.read((char*)&s1,sizeof(s1));

gotoxy(1,z);

cout<<name;

gotoxy(14,z);

cout<<rollno;

gotoxy(23,z);
cout<<admin_no;

gotoxy(36,z);

cout<<dd<<"/"<<mm<<"/"<<yy;

gotoxy(54,z);

puts(fname);

gotoxy(70,z);

puts(mname);

z++;

}}

//fff.fclose();

gotoxy(55,24);

textcolor(13);

cprintf("Press Any Key to Continue");

getch();

int main()

{ start1:

start:

clrscr();

int a;

textcolor(5 + BLINK);

textbackground(7);

gotoxy(26,2);

cprintf(" :: STUDENT INFORMATION SYSTEM ::");

gotoxy(10,4); textcolor(12); textbackground(0);

cprintf(" 1. Enter new record");


gotoxy(10,6); textcolor(12);

cprintf(" 2. Search student record");

gotoxy(10,8); textcolor(12);

cprintf(" 3. Display record");

gotoxy(10,10); textcolor(12);

cprintf(" 4. Modify the record");

gotoxy(10,12); textcolor(12);

cprintf(" 5. Delete student record");

gotoxy(10,14); textcolor(12);

cprintf(" 6. Exit");

gotoxy(31,16); textcolor(2);

cprintf("Enter the option:" );cin>>a;

do{

switch(a)

case 1: clrscr();

char ch;

ofstream fout;

fout.open("student.txt",ios::app|ios::ate);

if(!fout)

cout<<"File not exist ";

exit(1);}

do{

s1.getdata();

fout.write((char*)&s1,sizeof(s1));

clrscr();
gotoxy(10,7);textcolor(4);

cprintf(" --- Record Added Successfully ----");

gotoxy(10,8);textcolor(3);

cprintf("Do u want to add more record(y/n)\t");cin>>ch;

}while(ch=='y'||ch=='Y');

fout.close();

goto start;

case 2: start3:

clrscr();

int a; gotoxy(10,2);textcolor(10+BLINK);

cprintf(" :: Search Record :: " );

gotoxy(11,6);textcolor(14);

cprintf(" 1. Search by roll no.");

gotoxy(11,7);textcolor(14);

cprintf(" 2. Search by name ");

gotoxy(11,8);textcolor(14);

cprintf(" 3. Back");

gotoxy(17,9);textcolor(6);

cprintf(" Enter the option :");cin>>a;

switch(a)

case 1: clrscr();

int r_no;

char found='n';

gotoxy(17,17); textcolor(14);

cprintf("Enter the rollno :");cin>>r_no;

ifstream fin;
fin.open("student.txt",ios::in);

while(!fin.eof())

fin.read((char*)&s1,sizeof(s1));

if(s1.get_roll() == r_no)

{ s1.putdata();

found='y';

getch();

// goto start3;

} else

if(found=='n')

clrscr(); gotoxy(25,25);textcolor(9);

cprintf(" Sorry! record not found");

getch(); } }

fin.close();

goto start3;

case 2: clrscr();

student *s;

s=&s1;

char s_name[15];

char confirm='n';

gotoxy(17,17); textcolor(14);

cprintf("Enter the name :");gets(s_name);

ifstream fn;

fin.open("student.txt",ios::in);

while(!fn.eof())

{
fn.read((char*)&s1,sizeof(s1));

if(strcmpi(s_name ,s->name)==0)

{ s->putdata();

confirm='y';

getch();

goto start3;

}}

if(confirm=='n')

clrscr(); gotoxy(25,25);textcolor(9);

cprintf(" Sorry! record not found");

getch();

fn.close();

getch();

goto start3;

case 3:

goto start;

default: gotoxy(15,10);textcolor(4);

cprintf("Illegal option");

break;

break;

case 3: clrscr();

s1.display();

break;
case 4: clrscr();

char find='n';

int r_n;

long pos;

fstream ff;

ff.open("student.txt",ios::in|ios::out|ios::binary);

gotoxy(15,15);textcolor(5);

cprintf("Enter the rollno to modify");

cin>>r_n;

while(!ff.eof())

{pos=ff.tellg();

ff.read((char*)&s1,sizeof(s1));

if(s1.get_roll()==r_n)

{ find='y';

s1.modifydata();

ff.seekg(pos);

ff.write((char*)&s1,sizeof(s1));

ff.close();

goto start; } }

if(find=='n')

{ clrscr();gotoxy(15,15);textcolor(3);

cprintf("Record not found");

break;

case 5: clrscr();

student *ss;

ss=&s1;
int stno; //for rollno

char found ='f',confirm='n';

ifstream fi;

fi.open("student.txt",ios::in);

ofstream fo;

fo.open("tem.txt",ios::out);

cout<<"Enter the rollno to delete:";cin>>stno;

while((!fi.read((char*)&s1,sizeof(s1))))

if(ss->get_roll()==stno)

ss->putdata();

found='y';

cprintf("Are you sure (y/n) :");cin>>confirm;

if(confirm=='n'||confirm=='N')

fo.write((char*)&s1,sizeof(s1));

cprintf("Abort by the user");

getch(); }

else

fo.write((char*)&s1,sizeof(s1));

} }

if(found=='f')

cprintf("Record not found ");

fi.close();

fo.close();
remove("student.txt");

rename("tem.txt","student.txt");

goto start;

case 6: clrscr();

exit(0);

break;

default: textcolor(1+BLINK);

gotoxy(10,20);

// clrscr();

cprintf(" !!! Wrong choice !!! ");// break;

getch();goto start;

}} while(0);

getch();

return 0;

Output
The Main frame of the Program
If option is 1

If option to 2
In sub menu if option is 1

If in main menu if option is 3

If option in sub menu is 2


If in sub menu option is 3 go back to main menu.
If in main menu option is 4,the record will be modified

& if option is 5 ,the record will be deleted

Future scope and Enhancement


More sections or options has been included in the program as per the requirement(like
record entry section, search record section, modify record section.

The program is not secured any body can login .

The program can be made more secured ,attractive(using graphics),user friendly.

HARDWARE REQUIREMENTS

PROCESSOR : Intel Pentium 4 or more


RAM : 1 GB or more
MONITOR : 15” COLOR
HARD DISK : 40 GB hard disk recommended
KEYBOARD : STANDARD 102 KEYS

SOFTWARE REQUIREMENTS

OPERATING SYSTEM : Windows 7 Ultimate


FRONT-END : C++
LANGUAGE : C++
BACKEND : SQL Server 2008
CONCLUSION
The software will manage the working of the modules efficiently. The
interconnectivity among modules will reduce the time taken to perform
different operational task. The software help to gather the basic information
of student automatically, it helps both the students and the management
department of the college. The system is capable of storing all the details of
from the time students and teachers have joined the college and also
maintain their details in a dynamic order thereby eliminating the paper
work and reducing the staff required.

FUTURE ENHANCEMENT
The future enhancement of the system can be done by introducing online
examination module to conduct online examination. Further, the faculty can
upload subject notes and videos of their class lectures on this site and
students who has missed those classes can view those videos.

REFERENCES
1. Isbudeen Noor Mohamed, Ahmad Tasnim Siddiqui, Syed Ajaz, S. Mohamed Idhris,
“Student Information Report System with SMS (SIRS)”, in proc. 2016 International
Conference on Computer Communication and Informatics (ICCCI -2016), Jan. 07 – 09,
2016, Coimbatore, INDIA.
2. Kartiki Datakar, “Online College Management System,” International Journal of
Computer Science and Mobile Computing, Vol. 5, Issue 4, April 2016.
3. Lalit Joshi, “A Research Paper on College Management System”, International Journal
of Computer Applications, Vol.122, Issue 11, July 2015.
4. Zhibing Liu, Huixia Wang,Hui Zan “Design and implementation of online college
management system.” 2010 International symposium on intelligence information
processing and trusted computing. 978-0-7695- 4196- 9/10 IEEE.
5. S.R.Bharamagoudar, “Web-Based Student Information Management System”,
International Journal of Advanced Research in Computer and Communication
Engineering, Vol.2, Issue 6, June 2013.
6. Gateways to portals research.International Journal of web portals, 1(1), 1–15.

You might also like