0% found this document useful (1 vote)
182 views

Student Report Card

This document describes a student report card management system project in C++. It includes functions to [1] create a new student record, [2] display all student records from a data file, and [3] accept a roll number to read and display a specific student's record. The main menu allows the user to choose between a results menu and an entry/edit menu to view reports or add/update student data.

Uploaded by

RADHA KUMARI
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (1 vote)
182 views

Student Report Card

This document describes a student report card management system project in C++. It includes functions to [1] create a new student record, [2] display all student records from a data file, and [3] accept a roll number to read and display a specific student's record. The main menu allows the user to choose between a results menu and an entry/edit menu to view reports or add/update student data.

Uploaded by

RADHA KUMARI
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 37

R.T.

C INTER COLLEGE
P.H.E.D BUTY RANCHI

SESSION:-2021-2023

PROJECT ON
COMPUTER SCIENCE
C++
STD:-12th ‘B’
ROLL NO:-054

SUBJECT:- Science

Submitted To: Submitted By:


Mr.Prakash Kumar Dinbandhu Tirkey
PROJECT BASED

ON

STUDENT REPORT

CARD

MANAGEMENT

SYSTEM
Page 1 of 36
Certificate

Roll No: 054 Exam No:

This is to certify that Dinbandhu Tirkey student of class


12th has successfully completed the research on the below
mentioned project under the guidance of Mr. Prakesh
Kumar during the year of 2021-2023 in partial
fulfillment of computer science practical examination
conducted by R.T.C Inter College, P.H.E.D Buty Ranchi

SIGNATURE OF EXTERNAL SIGNATURE OF INTERNAL


EXAMINER EXAMINER

Principal

Page 2 of 36
INDEX

Sr.No Content Page


no.
1) Certificate of 02
Excellence
2) Acknowledgement 04

3) Introduction 05

4) Source Code 07

5) Output Window 26

6) Conclusion 35

7) Bibliography 36

Page 3 of 36
Acknowledgement

In the accomplishment of this project successfully,


many people have best owned upon me their
blessings and the heart pledge support, this time I
am utilizing to thank all the people who have been
concerned with this project.
Primarily I would like thank god for being able to
complete this project with success. Then I would like
to thank my principal Mr. Vikas Kr. Mahto and my
Computer science teacher Mr. Prakash Kumar whose
valuable guidance has been the ones that helped me
patch this project and make it full proof success, his
suggestions and instruction has served as the major
contribution towards the completion of this project.
Then I would like to thank my parents who have
helped me with their valuable suggestions and
guidance has been very helpful in various phases of
the completion of the project.

Page 4 of 36
INTRODUCTION
Student report card system project in C++ is a simple console
application built without the use of graphics. This project student
report card system helps in managing the record of students
according to their class roll no. 054 In this project we tried to
enter all details of students like roll no, name, marks in all five
subjects, etc. and tried to maintain all the possibility which
may help the us to enter more record if he/she requires. Some
of the features of the program are:

1)Create student report card record: This feature creates a


new student record containing his marks.
2)Read all students report card record: This features helps us to
read all records of student report card system project
present in the binary file of the in C++program.
3)Read specific student’s report card record: This feature is
same as the one explained above, except it shows the progress
report and relevant data related to a particular student.
4)Modify student’s report card record: In student report
card system project in C++, this feature is used to edit the
report card record of a particular student.
5)Delete student record: This feature deletes the report card
record of a particular student

Page 5 of 36
Header Files Used:
1) #include<iostream>
It is the predefined library function used for input and
output also called as header files. iostream is the header file
which contain sall the functions of program like cout, cin etc.and
#include tells the preprocessor to include these header file in the
program The file iostream is located in
your include path.
2) #include<fstream>
File streams include two member functions specifically
designed to read and write binary data sequentially: write and
read. The first one (write) is a member function of ostream
(inherited by ofstream). And read is a member function of
istream (inherited by ifstream). Objects of class fstream
have both.

3)#include<iomanip>
The header <iomanip> is part of the Input/output library of
the C++ Standard Library. It defines the manipulator functions reset
iosflags(),setiosflags(),setbase(),setfill(), setprecision() , and
setw() . These functions may be conveniently used by C++ programs
to affect the state of iostream objects.

Page 6 of 36
Source code

#include<iostream>

#include<fstream>

#include<iomanip>

using namespace std;

class student

introllno;

char name[50];

intp_marks, c_marks, m_marks, e_marks, cs_marks; double

per;
char grade;

void calculate(); // calculate grade

public:

void getdata(); //accept data void

showdata() const; //show data void

show_tabular() const;

Page 7 of 36
intretrollno() const;

};

void student::calculate()

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

grade='A';

else if(per>=80&&per<90)

grade='B';
else if(per>=70)

grade='C';

else if(per>=60)

grade='B';

else if(per>=50)

grade='D';

else if(per>=40)

grade='E';

else

grade='F';

Page 8 of 36
}

void student::getdata()

cout<<"\nEnter Theroll numberofstudent ";

cin>>rollno;

cout<<"\n\nEnter The Name of student "; cin.ignore();


cin.getline(name,50);

cout<<"\nEnterThemarksinphysicsoutof100:"; cin>>p_marks;

cout<<"\nEnter Themarks inchemistry out of 100:";

cin>>c_marks;

cout<<"\nEnter Themarks inmaths out of 100 :";

cin>>m_marks;

cout<<"\nEnter Themarksinenglishout of 100:"; cin>>e_marks;

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

cin>>cs_marks;
calculate();

Page 9 of 36
}

void student::showdata() const

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() const

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

Page 10 of 36
<<e_marks<<setw(4)<<cs_marks<<setw(8)<<per<<setw(6)<<grad e<<endl;

int student::retrollno() const

return rollno;

void write_student(); //write

void display_all(); //read


void display_sp(int); //accept rolno and read record

void modify_student(int); //accept rolno and update record OF FILE

voiddelete_student(int); //accept rolno and delete selected records void

class_result(); //display all records

void result(); //display result

void entry_menu(); //entry

Page 11 of 36
// 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

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: AKSHAT & VIREN";

cout<<"\n\tSCHOOL : N.G International SCHOOL";

do
{

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): ";

Page 12 of 36
cin>>ch;

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;

ofstreamoutFile;

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

Page 13 of 36
st.getdata();

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

outFile.close();

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

cin.ignore();

cin.get();

// FUNCTION TO READ ALL RECORDS FROMM FILE


void display_all()

student st;

ifstreaminFile;

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

inFile)
{

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

cin.ignore();

cin.get();

return;

Page 14 of 36
cout<<"\n\n\n\t\tDISPLAY ALL RECORD !!!\n\n";

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


{

st.showdata();

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

inFile.close();

cin.ignore();
cin.get();

// FILES TO READ SPECIFIC RECORDS FROM FILES


void display_sp(int n)

student st;

ifstreaminFile;

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

inFile)
{

Page 15 of 36
cout<<"File could not be open !! Press any Key...";

cin.ignore();

cin.get();

return;
}

bool flag=false;

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

if(st.retrollno()==n)

st.showdata();

flag=true;
}

inFile.close();

if(flag==false)

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

cin.ignore();
cin.get();

Page 16 of 36
// FUNCTION TO MODIFY RECORDS OF FILE
void modify_student(int n)

boolfound=false;

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...";

cin.ignore();

cin.get();

return;
}

while(!File.eof() && found==false)

File.read(reinterpret_cast<char *>(&st), sizeof(student));

if(st.retrollno()==n)

Page 17 of 36
{

st.showdata();

cout<<"\n\nPlease Enter The New Details of


student"<<endl;

st.getdata();

intpos=(-1)*static_cast<int>(sizeof(st));

File.seekp(pos,ios::cur); File.write(reinterpret_cast<char
*> (&st),
sizeof(student));

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

found=true;

File.close();

if(found==false)

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

cin.ignore();

cin.get();

Page 18 of 36
// FUNCTION TO DELETE RECORD OF FILE
voiddelete_student(int n)

studentst;

ifstreaminFile;

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

inFile)

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

cin.ignore();

cin.get();

return;
}

ofstreamoutFile;

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

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

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

if(st.retrollno()!=n)

Page 19 of 36
outFile.write(reinterpret_cast<char *> (&st),
sizeof(student));

outFile.close();

inFile.close();

remove("student.dat");

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

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

cin.ignore();

//cin.get();

// FUNTION TO DISPLAY ALL STUDENT GRADE REPORT


voidclass_result()

studentst;

ifstreaminFile;

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

inFile)
{

Page 20 of 36
cout<<"File could not be open !! Press any Key...";

cin.ignore();

cin.get();

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(reinterpret_cast<char *> (&st), sizeof(student)))

st.show_tabular();

cin.ignore();

//cin.get();

inFile.close();
}

void result()

Page 21 of 36
{

charch;

intrno;

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;

switch(ch)

case '1' : class_result();

break;
case '2' : class_result();

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

cout<<"\nChoose from the above list: "<<endl; cout<<"\n\n\

tEnter Roll Number Of Student : "; cin>>rno;

Page 22 of 36
display_sp(rno);

break;

case '3' : break;

default: cout<<"\a";
}

// ENTRY / EDIT MENU FUNCTION


voidentry_menu()

charch; intnum;

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): ";

Page 23 of 36
cin>>ch;

switch(ch)
{

case'1': write_student();

break;

case'2': display_all();

break;

case'3': class_result();

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

cout<<"\nChoose from the above list: "<<endl; cout<<"\n\n\tPlease

Enter The roll number "; cin>>num;

display_sp(num);

break;

case'4': class_result();

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

cout<<"\nChoose from the above list: "<<endl; cout<<"\n\n\tPlease

Enter The roll number "; cin>>num;


modify_student(num);

Page 24 of 36
break;

case'5': class_result();

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

cout<<"\nChoose from the above list: "<<endl; cout<<"\n\n\tPlease

Enter The roll number "; cin>>num;

delete_student(num);

break;
case'6': break;

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

Page 25 of 36
OUTPUT WINDOWS
OF THE
ABOVE PROGRAM

FROM THE MAIN MENU

Page 26 of 36
RESULT MENU

SELECTING THE OPTION CLASS RESULT (1.)

Page 27 of 36
SELECTING THE OPTION STUDENTREPORT
CARD(2.)

Page 28 of 36
IF YOUPRESS 3 THENTHEPROGRAMSWILL
RETURN TO MAIN MENU
From The Main Menu Again

Page 29 of 36
SELECTING THE CREATE OPTION

Page 30 of 36
SELECTING THE DIPSPLAY OPTION

Page 31 of 36
SELECTING THE SEARCH OPTION

Page 32 of 36
SELECTING THE MODIFY OPTION

Page 33 of 36
SELECTING THE DELETE OPTION

Aftert his if you press 3 then the programs


gets exit

Page 34 of 36
CONCLUSION
This software has its advantages and disadvantages but it
can surely help with the record storage system. We don't
have to worry about them is placing of record which
is a great clash while storing the record on separate
files.

Limitations

1) Does not support mouse.


2) If some string is gives as input i.e. in place where
integer should have been input, he program crash send
data file gets spoiled.
3) This project can only work in particular software
(CODEBLOCKS).

Page 35 of 36
Bibliography

Sumita Arora class 12


Website:
http://www.google.co.in

http://www.wikipedia.com

Thank
you
Page 36 of 36

You might also like