Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
232 views

Computer Science Project

This C++ program generates student report cards. It uses classes to store student data like roll number, marks, calculate grade. Functions allow entering data, displaying full or tabular reports, modifying records, and deleting. The main menu offers result viewing or data entry/editing options. Choosing result displays all students or an individual report. Entry menu creates, displays, searches, modifies or deletes student data stored in a file. The program demonstrates OOP concepts like data hiding and uses classes and functions to efficiently manage student records and reports.

Uploaded by

ashash19
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
232 views

Computer Science Project

This C++ program generates student report cards. It uses classes to store student data like roll number, marks, calculate grade. Functions allow entering data, displaying full or tabular reports, modifying records, and deleting. The main menu offers result viewing or data entry/editing options. Choosing result displays all students or an individual report. Entry menu creates, displays, searches, modifies or deletes student data stored in a file. The program demonstrates OOP concepts like data hiding and uses classes and functions to efficiently manage student records and reports.

Uploaded by

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

COMPUTER SCIENCE

PROJECT
C++ program to generate the report card of
a student

Ashwin Misra
Roll no. 9

Class XII C

Delhi Public School Noida

CONTENTS
1.
2.
3.
4.
5.
6.
7.

Certificate
Introduction
OOPs concept
Power of C++
Source code
Output
Acknowledgement

Certificate
This is to certify that the original and genuine work has been
carried out by ASHWIN MISRA of class XII-C, school DPS NOIDA.
In the computer lab regarding his project titled C++ program
for student report card generation.

Teachers name
Monica Dewan

Teachers signature

Introduction
I have made this project on Report card generation program. Ive used
the immense power of C++ to enhance my project in every way I could.
This program can be used to enter several student records and generate
their report cards. It also provides for modifying wrong records and
deleting old records.
While making this project I had the pleasure to experience powerful
programming using C++.

Source code
// HEADER FILES
//****************************************************************

#include<conio.h>
#include<stdio.h>
#include<process.h>
#include<fstream.h>
#include<iomanip.h>

//***************************************************************
// CLASS USED
//****************************************************************

class student
{
int rollno;
char name[50];
int p_marks,c_marks,m_marks,e_marks,cs_marks;
float per;
char grade;
int std;
void calculate()
{
per=(p_marks+c_marks+m_marks+e_marks+cs_marks)/5.0;
if(per>=60)
grade=A;
else if(per>=50 && per<60)
grade=B;
else if(per>=33 && per<50)

grade=C;
else
grade=F;
}
public:
void 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 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 :<<setprecision(2)<<per;
cout<<\nGrade of student is :<<grade;
}

void show_tabular()
{
cout<<rollno<<setw(12)<<name<<setw(10)<<p_marks<<setw(3)<<c_marks<<setw(3)<
<m_marks<<setw(3)<<
e_marks<<setw(3)<<cs_marks<<setw(6)<<setprecision(3)<<per<< <<grade<<endl;
}

int retrollno()
{ return rollno; }

}; //class ends here

//***************************************************************
// global declaration for stream object, object
//****************************************************************

fstream fp;
student st;

//***************************************************************
// function to write in file
//****************************************************************

void write_student()
{

fp.open(student.dat,ios::out|ios::app);
st.getdata();
fp.write((char*)&st,sizeof(student));
fp.close();
cout<<\n\nstudent record Has Been Created ;
getch();
}

//***************************************************************
// function to read all records from file
//****************************************************************

void display_all()
{
clrscr();
cout<<\n\n\n\t\tDISPLAY ALL RECORD !!!\n\n;
fp.open(student.dat,ios::in);
while(fp.read((char*)&st,sizeof(student)))
{
st.showdata();
cout<<\n\n====================================\n;
getch();
}
fp.close();
getch();
}

//***************************************************************
// function to read specific record from file
//****************************************************************

void display_sp(int n)
{
int flag=0;
fp.open(student.dat,ios::in);
while(fp.read((char*)&st,sizeof(student)))
{
if(st.retrollno()==n)
{
clrscr();
st.showdata();
flag=1;
}
}
fp.close();
if(flag==0)
cout<<\n\nrecord not exist;
getch();
}

//***************************************************************
// function to modify record of file
//****************************************************************

void modify_student()
{
int no,found=0;
clrscr();
cout<<\n\n\tTo Modify ;
cout<<\n\n\tPlease Enter The roll number of student;
cin>>no;
fp.open(student.dat,ios::in|ios::out);

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


{
if(st.retrollno()==no)
{
st.showdata();
cout<<\nPlease Enter The New Details of student<<endl;
st.getdata();
int pos=-1*sizeof(st);
fp.seekp(pos,ios::cur);
fp.write((char*)&st,sizeof(student));
cout<<\n\n\t Record Updated;
found=1;
}
}
fp.close();
if(found==0)
cout<<\n\n Record Not Found ;
getch();
}

//***************************************************************
// function to delete record of file
//****************************************************************

void delete_student()
{
int no;
clrscr();
cout<<\n\n\n\tDelete Record;
cout<<\n\nPlease Enter The roll number of student You Want To Delete;
cin>>no;

fp.open(student.dat,ios::in|ios::out);
fstream fp2;
fp2.open(Temp.dat,ios::out);
fp.seekg(0,ios::beg);
while(fp.read((char*)&st,sizeof(student)))
{
if(st.retrollno()!=no)
{
fp2.write((char*)&st,sizeof(student));
}
}
fp2.close();
fp.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()
{
clrscr();
fp.open(student.dat,ios::in);
if(!fp)
{
cout<<ERROR!!! FILE COULD NOT BE OPEN\n\n\n Go To Entry Menu to create File;
cout<<\n\n\n Program is closing .;
getch();
exit(0);

}
cout<<\n\n\t\tALL STUDENTS RESULT \n\n;
cout<<===================================================
=\n;
cout<<Roll No. Name P C M E CS %age Grade\n;
cout<<===================================================
=\n;
while(fp.read((char*)&st,sizeof(student)))
{
st.show_tabular();
}
fp.close();
getch();
}

//***************************************************************
// function to display result menu
//****************************************************************

void result()
{
int ans,rno;
char ch;
clrscr();
cout<<\n\n\nRESULT MENU;
cout<<\n\n\n1. Class Result\n\n2. Student Report Card\n\n3.Back to Main Menu;
cout<<\n\n\nEnter Choice (1/2)? ;
cin>>ans;
switch(ans)
{
case 1 : class_result();break;
case 2 : {

do{
clrscr();
char ans;
cout<<\n\nEnter Roll Number Of Student : ;
cin>>rno;
display_sp(rno);
cout<<\n\nDo you want to See More Result (y/n)?;
cin>>ans;
}while(ans==y||ans==Y);
break;
}
case 3: break;
default: cout<<\a;
}
}

//***************************************************************
// INTRODUCTION FUNCTION
//****************************************************************

void intro()
{
clrscr();
gotoxy(35,11);
cout<<STUDENT;
gotoxy(33,14);
cout<<REPORT CARD;
gotoxy(35,17);
cout<<PROJECT;
cout<<\n\nMADE BY : Ashwin Misra;
cout<<\n\nSCHOOL : DELHI PUBLIC SCHOOL, NOIDA;

getch();
}

//***************************************************************
// ENTRY / EDIT MENU FUNCTION
//****************************************************************
void entry_menu()
{
clrscr();
char ch2;
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) ;
ch2=getche();
switch(ch2)
{
case 1: clrscr();
write_student();
break;
case 2: display_all();break;
case 3:
int num;
clrscr();
cout<<\n\n\tPlease Enter The roll number ;
cin>>num;
display_sp(num);

break;
case 4: modify_student();break;
case 5: delete_student();break;
case 6: break;
default:cout<<\a;entry_menu();
}
}

//***************************************************************
// THE MAIN FUNCTION OF PROGRAM
//****************************************************************

void main()
{
char ch;
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) ;
ch=getche();
switch(ch)
{
case 1: clrscr();
result();
break;
case 2: entry_menu();

break;
case 3:exit(0);
default :cout<<\a;
}
}while(ch!=3');
}

//***************************************************************
// END OF PROJECT
//***************************************************************

Outputs:

ALGORITHM
1. Start
2. Declare class student with members, roll no. And marks for each
subject
3. Declare claculate func. to calculate grade
4. per = sum(marks of all sub.)/5
5.
If per>60; grade A
6.
if per>50; grade B
7.
if per>33; grade C
8.
if per<33; grade F
9. Declare getdata func. to enter all details
10.
Declare showdata func. to show all details
11.
Declare tabular func. to show result in table format
12.
Declare student func. to write result file, "student.dat"
13.
Declare modify func. to modify details and marks
14.
Declare delete func. to delete certain record
15.
Declare class_result func. to display class result
16.
Declare result func. to ask if user wants to see class or student
result
17.
Declare intro func. to display programmer name
18.
Declare entry_menu to ask what operation user want to do
19.
Start main func.
20.
Declare ch
21.
If ch=1;result()
22.
if ch=2;entry/edit()
23.
if ch=3;end loop
24.
end of main

OOPs CONCEPTS
Object oriented approach: It focuses on data rather than the procedure of
the program, it faster and easier than procedural programming.
Data Hiding: The ability to hide data from external functions, thus
protecting data from corruption is data hiding.
Polymorphism: The ability to represent data in several forms is
polymorphism.
Inheritance: The ability to derive new class from pre existing classes is
called inheritance.
Data abstraction: The ability to show only the important parts of data to
the user and thus reducing complexity of the program.
Class: It is a collection of data and the functions which access that data.
Class in itself is abstract, it is just a template to hold functions and data.
Object: it is an instance of a class.

Power of C++
Bjarne Stroustoup, a Danish computer scientist is credited for making the
language C++. It is a middle level language. It is based on OOP rather
than procedural languages like C and COBOL. It gives us immense
advantage of data security through use of data hiding. C++ is a language
which aids real world situations. It provides for use of classes and objects
which is not there in c.
It is thus the most widely spread programming language, it enhances
programmer productivity. Saves time through features like inheritance. It
is hence used to make several famous and successful programs.
It was designed with a bias toward system programming and embedded,
resource-constrained and large systems, with performance, efficiency and
flexibility of use as its design highlights. C++ has also been found useful
in many other contexts, with key strengths being software infrastructure
and resource-constrained applications including desktop applications,
servers.
Thus, many other programming languages have been influenced by C++,
including C#, Java, and newer versions of C (after 1998).

ACKNOWLEDGEMENT
It would be my utmost pleasure to express my sincere thanks to my
computer teacher Mrs. Monica Dewan for her guidance, support and
supervision throughout this project which helped it to attain its present
form.
I would also like to thank my parents for their unwavering support in this
endeavour.

You might also like