100% found this document useful (1 vote)
3K views

Class XII YEAR Project

This document provides details about a student report card management system project. It includes a description of the system, problem statement, hardware and software requirements, system specifications including design, data dictionary, file structures, functions, and source code. The system allows inputting student marks, calculating percentages and grades, and displaying results in tabular format. It uses separate data files to store student records, display outputs, and perform operations like modification and deletion of records.

Uploaded by

Mahesh Sahu
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
3K views

Class XII YEAR Project

This document provides details about a student report card management system project. It includes a description of the system, problem statement, hardware and software requirements, system specifications including design, data dictionary, file structures, functions, and source code. The system allows inputting student marks, calculating percentages and grades, and displaying results in tabular format. It uses separate data files to store student records, display outputs, and perform operations like modification and deletion of records.

Uploaded by

Mahesh Sahu
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 37

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:-Mrs Sunanda Maam 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 maam 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 students 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 students 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 Behavioural Model

Information Model

Data Design

DESIGN

Architectural Design

Procedural design
Code Programme Integrated & Validated Software T Module

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
MAIN MENU

1) INPUT/REGISTER

ENTER YOUR CHOICE 1) OR 2)

NEW USER

EXISTING USER

11

2) EXIT

ADD NAME

CHOOSE RECORD

DELETE RECORD

Data Dictionary
S.no 1)2)3)4)5)Name Student Record Where used As a key field in Description Integer 4 bytes and char 30 characters 50 characters Integer 2 bytes Integer or float of 2 bytes Integer 4 bytes and char 30 characters

Name of student Attribute of student Record Roll No of the student Marks scored in 5 subjects Class Result Attribute of student Record Attribute of student Record Attribute of student Record

File Design Structure


Master Record Lay-Out- GETDATA.DAT file S.NO 1)2)3)4)5)6)7)8)Field Name name roll no p_marks c_marks m_marks e_marks cs_marks Type char int int int int int int Field Description 30 Student characters name in the record 1 bytes Student roll no in the subject 1 bytes Student marks in 1st subject 1 bytes Student marks in 2nd subject 1 bytes Student marks in 3rd subject 1 bytes Student marks in 4th subject 1 byte Student marks in 5th subject 4 bytes For the Average grade Width

calculate() void

SHOWDATA.DAT file
S.NO Field Name
1)-

Type Width Field Description


About Displays the 5 bytes output of the student marks 2 bytes Displays roll no of the student 30 Displays charac name of the -ters student. 8 bytes Displays all the record of the student in tabular form.

p_marks,c_marks,e_marks, int m_marks & cs_marks roll no name show_tabular int char int

2)3)4)-

Procedure/Function Description
S.NO Function Name 1)void calculate( ) 2)void getdata( ) 3)4)5)6)7)8)9)10)11)12)13)14)Description Function to calculate grade Function to accept data from user void showdata( ) Function to show data on screen void_showtabular( ) Function to display tabular format marks retrollno( ) Function to return roll no void write_student Writes the record in binary file void display_all( ) Reads records from binary file void display_sp(int) accept roll no and read record from binary file void modiy_student(int) accept roll no and update record of binary file void delete_student(int) accept roll no and delete selected record from binary file void class_result( ) display all records in tabular format from binary file void result( ) display result menu void intro( ) void entry_menu( ) display welcome screen 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(); public: //function to calculate grade

void getdata(); user void showdata();

//function to accept data from //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); from binary file //accept rollno and read record //accept rollno and update

void modify_student(int); 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(); void intro(); //display result menu //display welcome screen //display entry menu on screen

void entry_menu();

//*************************************************************** // 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 Grade"<<endl; Name P C M E CS %age

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(); } }

You might also like