Questions:
Student Report Card Project
Explanation:
Below mention code is compiled in Visual Studio 2015 and output snap is attached.. If any problem you feel and want explanation feel free to contact.
Code:
Output:
Related Articles:
Student Report Card Project
Explanation:
Below mention code is compiled in Visual Studio 2015 and output snap is attached.. If any problem you feel and want explanation feel free to contact.
Code:
/**************************************************|
/*************C++ Programs And Projects************|
***************************************************/
//***************************************************************
// HEADER FILE USED IN
PROJECT http://cppexamples.blogspot.com/
//****************************************************************
#include<iostream>
#include<fstream>
#include<iomanip>
using namespace std;
//***************************************************************
// CLASS USED IN PROJECT
http://cppexamples.blogspot.com/
//****************************************************************
class student
{
int rollno;
char name[50];
int p_marks, c_marks, m_marks,
e_marks, cs_marks;
double per;
char grade;
void calculate(); //function to calculate grade
public:
void getdata(); //function to accept data from user
void showdata() const; //function
to show data on screen
void show_tabular() const;
int retrollno() const;
}; //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 ";
cin.ignore();
cin.getline(name,
50);
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() 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) << " " << name << setw(10) << p_marks << setw(4) << c_marks << setw(4) << m_marks << setw(4) << e_marks << setw(4) << cs_marks << setw(8) << per << setw(6) << grade << endl;
}
int student::retrollno() const
{
return rollno;
}
//***************************************************************
//
function declaration http://cppexamples.blogspot.com/
//****************************************************************
void write_student(); //write the record in binary
file
void display_all(); //read all records from
binary file
void display_sp(int); //accept
rollno and read record from binary file
void modify_student(int); //accept
rollno and update 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(); //display result menu
void intro(); //display welcome screen
void entry_menu(); //display entry menu on
screen
//***************************************************************
// THE
MAIN FUNCTION OF PROGRAM
http://cppexamples.blogspot.com/
//****************************************************************
int main()
{
char ch;
cout.setf(ios::fixed | ios::showpoint);
cout
<< setprecision(2); // program outputs decimal
number to two decimal places
intro();
do
{
system("cls");
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;
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 http://cppexamples.blogspot.com/
//****************************************************************
void write_student()
{
student st;
ofstream outFile;
outFile.open("student.dat", ios::binary | ios::app);
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 from file
http://cppexamples.blogspot.com/
//****************************************************************
void display_all()
{
student st;
ifstream inFile;
inFile.open("student.dat", ios::binary);
if (!inFile)
{
cout << "File could
not be open !! Press any Key...";
cin.ignore();
cin.get();
return;
}
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();
}
//***************************************************************
//
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...";
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();
}
//***************************************************************
//
function to modify record of
file http://cppexamples.blogspot.com/
//****************************************************************
void modify_student(int n)
{
bool found = 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)
{
st.showdata();
cout
<< "\n\nPlease Enter The
New Details of student" << endl;
st.getdata();
int pos = (-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();
}
//***************************************************************
//
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...";
cin.ignore();
cin.get();
return;
}
ofstream outFile;
outFile.open("Temp.dat", ios::out);
inFile.seekg(0,
ios::beg);
while (inFile.read(reinterpret_cast<char *> (&st), sizeof(student)))
{
if (st.retrollno() != n)
{
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();
}
//***************************************************************
//
function to display all students
grade report
http://cppexamples.blogspot.com/
//****************************************************************
void class_result()
{
student st;
ifstream inFile;
inFile.open("student.dat", ios::binary);
if (!inFile)
{
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();
}
//***************************************************************
//
function to display result
menu http://cppexamples.blogspot.com/
//****************************************************************
void result()
{
char ch;
int rno;
system("cls");
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;
system("cls");
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 : C++
Solution";
cout
<< "\n\tSCHOOL :
CAMBRIDGE SCHOOL";
cin.get();
}
//***************************************************************
//
ENTRY / EDIT MENU FUNCTION http://cppexamples.blogspot.com/
//****************************************************************
void entry_menu()
{
char ch;
int num;
system("cls");
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;
system("cls");
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();
}
}
//***************************************************************
//
END OF PROJECT http://cppexamples.blogspot.com/
//***************************************************************
Output:
Related Articles:
0 Questions:
Post a Comment