class XII YEAR project

45
ANALYSIS AND DESIGN OF STUDENT REPORT CARD MANAGEMENT SYSTEM PROJECT REPORT PARTICULARS OF THE STUDENT NAME:- Rohan Jacob And Sanjay Negi ROLL NO:- 1 & 10 CLASS:- XII-A PARTICULARS OF THE SUPERVISOR NAME:-Mr’s Sunanda Maa’m DESIGNATION:-

description

cbse class 12 Year Project

Transcript of class XII YEAR project

ANALYSIS AND DESIGN OF STUDENT REPORT CARD MANAGEMENT SYSTEM

PROJECT REPORT

PARTICULARS OF THE STUDENT

NAME:- Rohan Jacob And Sanjay Negi

ROLL NO:- 1 & 10

CLASS:- XII-A

PARTICULARS OF THE SUPERVISOR

NAME:-Mr’s Sunanda Maa’m

DESIGNATION:-

CERTIFICATE

This is to certify that the project entitled “Student Report Card Management System”, which deals with Student marks and percentage in report card and to handle various other activities is submitted by Rohan Jacob And Sanjay Negi. This Project is a bonafide piece of work carried out with the consultation of supervisor.

Rohan Jacob And Sanjay Negi

Roll No:- 1 & 10

Class:-XII-A

ACKNOWLEDGEMENT

Firstly of all I would thank Sunanda maa’m for giving me a golden opportunity to exhibit by work in C++ Programming. It was a privilege to have been guided by her.

Secondly I would also thank to various people who supported me especially, Anirud Samala who helped me in my project. I also would thank my project partner, Sanjay Negi for cooperating with me and also helped me in our project.

Lastly, I would thank my parents for providing me with logical and essential ideas in the working of my project. Again a “Big” thanks to all with their constructive criticism and advice.

NAVI MUMBAI

CONTENTS

A:)- System Description at a Glance

B:)- Problem Description

:- Requirement Analysis

:- Hardware and Software Requirements

C:)- System Specification

:- System Design

:- Data Design

:- Architectural Design

:- Data Dictionary

D:)- File Design Structures

E:)-Procedure/Function Description

F:)-Program Source Code

SYSTEM DESCRIPTION AT A GLANCE

This program is divided in 2 categories:-

1:)- Class Result(Displays All students Marks, percentage and overall grade obtained in various subjects in Tabular Form)

2:)- Entry/Edit of a Particular Student Marks(which has further more classifications like modification, deleting, searching etc. a student’s record)

FILES:-

There are separate files for keeping the records of Student Marks:-

1:)- One file which stores or keeps marks in various subjects.

2:)- One file for edit or modifying the marks

3:)- A file for searching the student’s record.

Inputs are:-

1:)- Entering the Name, roll no and marks of the student in the provided subjects.

2:)- For modifying, deleting and searching for a student record.

Outputs are:-

1:)- Displays the entire student record in both tabular as well as in rows and column format.

2:)- Displays and calculates the precise and accurate marks, percentage, Overall grade in subjects which are Physics, Chemistry , Maths , English and Computer Science.

PROBLEM DESCRIPTION

We have studied the existing system in detail. The finding of our study yield various pieces of information which are described in the following manner:-

1:)- Name of the student.

2:)- Roll No of the student.

3:)- To store the marks in various Subjects.

Required Output of the System

The Computerized system generates the following reports as:-

1:)- The marks of all students or a particular student(depending upon the user choice).

2:)- Overall Grade and Percentage of the combined 5 subjects.

Hardware and Software Requirements

The volume of the information is to be handled about a lot many characters.

Since the source code of the Report card management system reads in Dos Box about 378:1

I would suggest a computer with about 200 MB Hard Disk about 7 to 14 RAM, a line or a dot matrix printer and preferable a laser printer is optimum. The availability of sophisticated programming tool is imperative and thus a C++ is a chosen program the system.

SYSTEM SPECIFICATIONS

SYSTEM DESIGN- The kernel of system engineering

The importance of software design can be stated with a single word quality. Design is the place where provides us with representation of software that can be accessed for quality.

System design sits at the technical kernel of the software engineering process and is applied regardless of the development paradigm that is used. Once software requirements have been analyzed and specified, the software design is first of three, technical activities-‘design’, ’code’ and ‘test’ , that are required to program the software.

The flow of information during technical phase of the software engineering process is illustrated in the figure at the next page

Functional Model Information Model

Behavioural Model

Data Design

DESIGN Architectural Design

Procedural design

Code

Programme Module

Integrated & Validated

Software T

Test

Data Design

Data design is the first of the three design activities that are conducted during system development. The impact of data structure on program structure and procedural complexity causes data design to have a profound influence in system quality.

All the objects by this system are listed below:-

1:)- getdata.dat

It contains information related to:-

a)- Name of the student.

b)- Student Roll No.

c)- Marks of 5 subjects.

2:)- showdata.dat

a)- Displays the Marks in The 5 subjects.

b)- Displays the Marks, Overall grade in Tabular form.

3:)- intro.dat & entry_menu.dat

Contains Information related to:-

a)- Main screen.

b)- Inputs regarding to the menu main screen.

ARCHITECTURAL DESIGN

ELSE

1) INPUT/REGISTER

NEW USER EXISTING USER

ADD NAME

CHOOSE RECORD

DELETE RECORD

MAIN MENU

ENTER YOUR CHOICE

1) OR 2)

2) EXIT

Data Dictionary

S.no Name Where used Description1)- Student Record As a key field in Integer 4 bytes

and char 30 characters

2)- Name of student

Attribute of student Record

50 characters

3)- Roll No of the student

Attribute of student Record

Integer 2 bytes

4)- Marks scored in 5 subjects

Attribute of student Record

Integer or float of 2 bytes

5)- Class Result Attribute of student Record

Integer 4 bytes and char 30 characters

File Design Structure

Master Record Lay-Out- GETDATA.DAT file

S.NO Field Name

Type Width Field Description

1)- name char 30 characters

Student name in the record

2)- roll no int 1 bytes Student roll no in the subject

3)- p_marks int 1 bytes Student marks in 1st

subject4)- c_marks int 1 bytes Student

marks in 2nd

subject5)- m_marks int 1 bytes Student

marks in 3rd

subject6)- e_marks int 1 bytes Student

marks in 4th

subject7)- cs_marks int 1 byte Student

marks in 5th

subject8)- calculate(

)void 4 bytes For the

Average grade

SHOWDATA.DAT file

S.NO

Field Name Type Width

Field Description

1)- p_marks,c_marks,e_marks,m_marks & cs_marks

int About 5 bytes

Displays the output of the student marks

2)- roll no int 2 bytes

Displays roll no of the student

3)- name char 30 charac-ters

Displays name of the student.

4)- show_tabular int 8 bytes

Displays all the record of the student in tabular form.

Procedure/Function Description

S.NO

Function Name Description

1)- void calculate( ) Function to calculate grade2)- void getdata( ) Function to accept data

from user3)- void showdata( ) Function to show data on

screen4)- void_showtabular( ) Function to display tabular

format marks5)- retrollno( ) Function to return roll no6)- void write_student Writes the record in binary

file7)- void display_all( ) Reads records from binary

file8)- void display_sp(int) accept roll no and read

record from binary file

9)- void modiy_student(int) accept roll no and update record of binary file

10)- void delete_student(int)

accept roll no and delete selected record from binary file

11)- void class_result( ) display all records in tabular format from binary file

12)- void result( ) display result menu

13)- void intro( ) display welcome screen

14)- void entry_menu( ) display entry menu on screen

Program Source Code Report~1.CPP

#include<fstream.h>

#include<iomanip.h>

#include<stdio.h>

#include<conio.h>

//***************************************************************

// CLASS USED IN PROJECT

//****************************************************************

class student

{

int rollno;

char name[50];

int p_marks, c_marks, m_marks, e_marks, cs_marks;

float per;

char grade;

void calculate(); //function to calculate grade

public:

void getdata(); //function to accept data from user

void showdata(); //function to show data on screen

void show_tabular();

int retrollno();

}; //class ends here

void student::calculate()

{

per=(p_marks+c_marks+m_marks+e_marks+cs_marks)/5.0;

if(per>=60)

grade='A';

else if(per>=50)

grade='B';

else if(per>=33)

grade='C';

else

grade='F';

}

void student::getdata()

{

cout<<"\nEnter The roll number of student ";

cin>>rollno;

cout<<"\n\nEnter The Name of student ";

gets(name);

cout<<"\nEnter The marks in physics out of 100 : ";

cin>>p_marks;

cout<<"\nEnter The marks in chemistry out of 100 : ";

cin>>c_marks;

cout<<"\nEnter The marks in maths out of 100 : ";

cin>>m_marks;

cout<<"\nEnter The marks in english out of 100 : ";

cin>>e_marks;

cout<<"\nEnter The marks in computer science out of 100 : ";

cin>>cs_marks;

calculate();

}

void student::showdata()

{

cout<<"\nRoll number of student : "<<rollno;

cout<<"\nName of student : "<<name;

cout<<"\nMarks in Physics : "<<p_marks;

cout<<"\nMarks in Chemistry : "<<c_marks;

cout<<"\nMarks in Maths : "<<m_marks;

cout<<"\nMarks in English : "<<e_marks;

cout<<"\nMarks in Computer Science :"<<cs_marks;

cout<<"\nPercentage of student is :"<<per;

cout<<"\nGrade of student is :"<<grade;

}

void student::show_tabular()

{

cout<<rollno<<setw(6)<<" "<<name<<setw(10)<<p_marks<<setw(4)<<c_marks<<setw(4)<<m_marks<<setw(4)

<<e_marks<<setw(4)<<cs_marks<<setw(6)<<per<<setw(6)<<" "<<grade<<endl;

}

int student::retrollno()

{

return rollno;

}

//***************************************************************

// function declaration

//****************************************************************

void write_student(); //write the record in binary file

void display_all(); //read all records from binary file

void display_sp(int); //accept rollno and read record from binary file

void modify_student(int); //accept rollno and update record of binary file

void delete_student(int); //accept rollno and delete selected records from binary file

void class_result(); //display all records in tabular format from binary file

void result(); //display result menu

void intro(); //display welcome screen

void entry_menu(); //display entry menu on screen

//***************************************************************

// THE MAIN FUNCTION OF PROGRAM

//****************************************************************

int main()

{

char ch;

cout.setf(ios::fixed|ios::showpoint);

cout<<setprecision(2); // program outputs decimal number to two decimal places

clrscr();

intro();

do

{

clrscr();

cout<<"\n\n\n\tMAIN MENU";

cout<<"\n\n\t01. RESULT MENU";

cout<<"\n\n\t02. ENTRY/EDIT MENU";

cout<<"\n\n\t03. EXIT";

cout<<"\n\n\tPlease Select Your Option (1-3) ";

cin>>ch;

clrscr();

switch(ch)

{

case '1': result();

break;

case '2': entry_menu();

break;

case '3':

break;

default :cout<<"\a";

}

}while(ch!='3');

return 0;

}

//***************************************************************

// function to write in file

//****************************************************************

void write_student()

{

student st;

ofstream outFile;

outFile.open("student.dat",ios::binary|ios::app);

st.getdata();

outFile.write((char *) &st, sizeof(student));

outFile.close();

cout<<"\n\nStudent record Has Been Created ";

cin.ignore();

getch();

}

//***************************************************************

// function to read all records from file

//****************************************************************

void display_all()

{

student st;

ifstream inFile;

inFile.open("student.dat",ios::binary);

if(!inFile)

{

cout<<"File could not be open !! Press any Key...";

getch();

return;

}

cout<<"\n\n\n\t\tDISPLAY ALL RECORD !!!\n\n";

while(inFile.read((char *) &st, sizeof(student)))

{

st.showdata();

cout<<"\n\n====================================\n";

}

inFile.close();

getch();

}

//***************************************************************

// function to read specific record from file

//****************************************************************

void display_sp(int n)

{

student st;

ifstream inFile;

inFile.open("student.dat",ios::binary);

if(!inFile)

{

cout<<"File could not be open !! Press any Key...";

getch();

return;

}

int flag=0;

while(inFile.read((char *) &st, sizeof(student)))

{

if(st.retrollno()==n)

{

st.showdata();

flag=1;

}

}

inFile.close();

if(flag==0)

cout<<"\n\nrecord not exist";

getch();

}

//***************************************************************

// function to modify record of file

//****************************************************************

void modify_student(int n)

{

int found=0;

student st;

fstream File;

File.open("student.dat",ios::binary|ios::in|ios::out);

if(!File)

{

cout<<"File could not be open !! Press any Key...";

getch();

return;

}

while(File.read((char *) &st, sizeof(student)) && found==0)

{

if(st.retrollno()==n)

{

st.showdata();

cout<<"\n\nPlease Enter The New Details of student"<<endl;

st.getdata();

int pos=(-1)*sizeof(st);

File.seekp(pos,ios::cur);

File.write((char *) &st, sizeof(student));

cout<<"\n\n\t Record Updated";

found=1;

}

}

File.close();

if(found==0)

cout<<"\n\n Record Not Found ";

getch();

}

//***************************************************************

// function to delete record of file

//****************************************************************

void delete_student(int n)

{

student st;

ifstream inFile;

inFile.open("student.dat",ios::binary);

if(!inFile)

{

cout<<"File could not be open !! Press any Key...";

getch();

return;

}

ofstream outFile;

outFile.open("Temp.dat",ios::out);

inFile.seekg(0,ios::beg);

while(inFile.read((char *) &st, sizeof(student)))

{

if(st.retrollno()!=n)

{

outFile.write((char *) &st, sizeof(student));

}

}

outFile.close();

inFile.close();

remove("student.dat");

rename("Temp.dat","student.dat");

cout<<"\n\n\tRecord Deleted ..";

getch();

}

//***************************************************************

// function to display all students grade report

//****************************************************************

void class_result()

{

student st;

ifstream inFile;

inFile.open("student.dat",ios::binary);

if(!inFile)

{

cout<<"File could not be open !! Press any Key...";

getch();

return;

}

cout<<"\n\n\t\tALL STUDENTS RESULT \n\n";

cout<<"==========================================================\n";

cout<<"R.No Name P C M E CS %age Grade"<<endl;

cout<<"==========================================================\n";

while(inFile.read((char *) &st, sizeof(student)))

{

st.show_tabular();

}

getch();

inFile.close();

}

//***************************************************************

// function to display result menu

//****************************************************************

void result()

{

char ch;

int rno;

cout<<"\n\n\n\tRESULT MENU";

cout<<"\n\n\n\t1. Class Result";

cout<<"\n\n\t2. Student Report Card";

cout<<"\n\n\t3. Back to Main Menu";

cout<<"\n\n\n\tEnter Choice (1/2/3)? ";

cin>>ch;

clrscr();

switch(ch)

{

case '1' :class_result(); break;

case '2' :cout<<"\n\n\tEnter Roll Number Of Student : ";

cin>>rno;

display_sp(rno); break;

case '3' :break;

default :cout<<"\a";

}

}

//***************************************************************

// INTRODUCTION FUNCTION

//****************************************************************

void intro()

{

cout<<"\n\n\n\t\t STUDENT";

cout<<"\n\n\t\tREPORT CARD";

cout<<"\n\n\t\t PROJECT";

cout<<"\n\n\n\tMADE BY : SULABH AGRAWAL";

cout<<"\n\tSCHOOL : CAMBRIDGE SCHOOL";

getch();

}

//***************************************************************

// ENTRY / EDIT MENU FUNCTION

//****************************************************************

void entry_menu()

{

char ch;

int num;

clrscr();

cout<<"\n\n\n\tENTRY MENU";

cout<<"\n\n\t1.CREATE STUDENT RECORD";

cout<<"\n\n\t2.DISPLAY ALL STUDENTS RECORDS";

cout<<"\n\n\t3.SEARCH STUDENT RECORD ";

cout<<"\n\n\t4.MODIFY STUDENT RECORD";

cout<<"\n\n\t5.DELETE STUDENT RECORD";

cout<<"\n\n\t6.BACK TO MAIN MENU";

cout<<"\n\n\tPlease Enter Your Choice (1-6) ";

cin>>ch;

clrscr();

switch(ch)

{

case '1': write_student(); break;

case '2': display_all(); break;

case '3': cout<<"\n\n\tPlease Enter The roll number "; cin>>num;

display_sp(num); break;

case '4': cout<<"\n\n\tPlease Enter The roll number "; cin>>num;

modify_student(num);break;

case '5': cout<<"\n\n\tPlease Enter The roll number "; cin>>num;

delete_student(num);break;

case '6': break;

default: cout<<"\a"; entry_menu();

}

}