STUDENT REPORT CARD PROJECT


STUDENT REPORT CARD PROJECT

C++ Project for Class 12
 
Description: This C++ mini project on STUDENT REPORT CARD has student class with data members like roll no, name, marks and grade. Member functions in this class are used for accept / display details of students and a function to calculate grade based on marks obtained by student. Student Records are stored in binary file.
//***************************************************************
//                   HEADER FILE USED IN PROJECT
//****************************************************************

#include<conio.h>
#include<stdio.h>
#include<process.h>
#include<fstream.h>
#include<iomanip.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;
	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 : SULABH AGRAWAL";
 	cout<<"\n\nSCHOOL : CAMBRIDGE SCHOOL";
 	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
//***************************************************************

No comments:

Post a Comment