Sri Chaitanya Techno School: Computer Science
Sri Chaitanya Techno School: Computer Science
SCHOOL
COMPUTER
SCIENCE
PROJECT
TOPIC:STUDENT REPORT CARD
SUBMITTED BY : Ananya karanth
12th std
1
ACKNOWLEDGEMENT
2
CERTIFICATE
3
INDEX
Front page 1
Acknowledgement 2
Certificate 3
Index Sheet 4
Introduction 5
File handling 6-10
Header Files used 11
Working of program 12
Program Coding 13-28
Output 29-36
Bibliography 37
4
INTRODUCTION
C++ has also been found useful in many other contexts , with
key statements being software infrastructure and resource-constrained
applications including desktop applications, servers (e.g: e-commerce,
web search or sql servers), and performance-critical applications(e.g:
telephone switches or space probes).C++ is a compiled language,with
implementations of it available on many platforms and provided by
various organizations, including the software foundations , LLVM,
Microsoft, Intel and IBM.
C++ is standardized by the International Organization for
Standardization, with latest standard version ratified and published by
ISO in December 2014 as ISO\IEC , before the initial standardization
for program organization.
Many other programming languages has been influenced by
C++, including C#, Java, and newer versions of C (after 1998).
5
FILE HANDLING
File handling concept in C++ language is used for store a data
permanently in computer. Using file handling we can store our data in
Secondary memory (Hard disk).
Datatype : Description
Ofstream : This is used to create a file and write data on files .
Ifstream : This is used to read data from files.
Fstream : This is used to both read and write data from/to files.
1. Naming a file.
2. Opening a file.
3. Reading data from file.
6
4. Writing data into file.
5. Closing a file.
Function Operation
open( ) To create a file.
close( ) To close an existing file.
get( ) Read a single character from a file.
put( ) Write a single character in file.
read( ) Read data from file
write( ) Write data into file.
Syntax:
file-stream-class stream-object;
stream-object.open("filename");
Example:
7
ofstreamoutfile; // create stream
outfile .open ("data1"); // connect stream to data1
Syntax
outfile.close( );
Both ios :: app and ios :: ate take us to the end of the file
when it is opened. The difference between the two
parameters is that the ios :: app allows us to add data to
the end of file only, while ios :: ate mode permits us to
add data or to modify the existing data any where in the
file.
8
The mode can combine two or more parameters using the
bitwise OR operator (symbol |).
Example
fstream file;
file.Open("data . txt", ios :: out | ios :: in);
File pointer
Each file have two associated pointers known as the file pointers. One
of them is called the input pointer (or get pointer) and the other is
called the output pointer (or put pointer). The input pointer is used for
reading the contents of a given file location and the output pointer is
used for writing to a given file location.
Function Operation
seekg ( ) moves get pointer (input) to a specified location.
9
seekp( ) moves put pointer (output) to a specified location.
tellg( ) gives the current position of the get pointer.
tellp( ) gives the current position of the put pointer.
fout .seekg(0, ios :: beg) go to start.
fout .seekg(0, ios :: cur) stay at current position.
fout .seekg(0, ios :: end) go to the end of file.
fout .seekg(m, ios :: beg) move to m+1 byte in the file.
fout .seekg(m, ios :: cur) go forward by m bytes from the current
position.
fout .seekg(-m, ios :: cur) go backward by m bytes from the current
position.
fout .seekg(-m, ios :: end) go backward by m bytes from the end.
10
HEADER FILES USED
#include<iostream.h>
#include<conio.h>
#include<iomanip.h>
#include<stdio.h>
#include<fstream.h>
conio.h
This header file declares several useful library functions for
performing console input and output from a program.Some
of the function defined in it are clrscr , getch , cprintf etc.
iomanip.h
This files declares the C++ I\O manipulators and contains
macros for creating parameterised manipulators.Some of its
Functions are endl , setprecision , dec etc.
stdio.h
This file also defines the standard I\O predefined streams e.g.,
Stdin,stdout etc.When you add iostrem.h file in your program
this file is automatically included.
11
WORKING OF THE PROGRAM
12
PROGRAM CODING
#include<iostream.h>
#include<conio.h>
#include<stdio.h>
#include<fstream.h>
#include<iomanip.h>
class student
{
int rollno;
char name [50]
intp_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)
13
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()
14
{
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_m
arks<<setw(6)<<setprecision(3)<<per<<" "<<grade<<endl;
}
int setrollno()
{
return rollno()
}
}; //class ends here
15
//*******************************************************
********
// 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
16
//*******************************************************
*********
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;
17
fp.open("student.dat",ios::in);
while(fp.read((char*)&st,sizeof(student)))
{
if(st.setrollno()==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;
18
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.setrollno()==no)
{
st.showdata()
cout<<"\nPlease Enter The New Details of student"<<endl;
st.getdata();
intpos=-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( );
19
}
//*******************************************************
********
// 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.setrollno()!=no)
{
fp2.write((char*)&st,sizeof(student));
20
}
}
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 ....";
21
getch( );
exit(0);
}
cout<<"\n\n\t\tALL STUDENTS RESULT \n\n";
cout<<"============================================
========\n";
cout<<"Roll No. NameP 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;
22
char ch;
clrscr();
cout<<"\n\n\nRESULT MENU";
cout<<"\n\n\n1. Class Result\n\n2. StudentReport 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;
23
}
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);
24
cout<<"PROJECT";
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)
{
25
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;
26
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=getch( );
27
switch(ch)
{
case '1':
clrscr( );
result( );
break;
case '2':
entry_menu( );
break;
case '3':
exit(0);
default :
cout<<"\a";
}
}
while(ch!='3');
}
//*******************************************************
********end of the program coding*************//
28
OUTPUT
29
OPTION 1:RESULT MENU
CHOICE 1:
30
CHOICE 2:
31
CHOICE 1:CREATE STUDENT RECORD
32
33
CHOICE 3:SEARCH STUDENT RECORD
34
CHOICE 5:DELETE STUDENT RECORD
35
OPTION 3:EXIT
36
BIBLIOGRAPHY
37