Define a class Student with data members as rollno and name. Derive a class Fees from student
that has a data member fees and functions to submit fees and generate receipt. Derive another class
Result from Student that displays the marks and grade obtained by the student. Write a program that
extends the class Result so that the final result of the Student is evaluated based on the marks obtained
in tests, activities and sports.
#include <iostream>
#include <string>
using namespace std;
class Student
{
protected:
int rollno;
string name;
public:
void setData(int rn,string n){
this->rollno = rn;
this->name = n;
}
};
class Fees: public Student
{
protected:
int fees;
public:
void submitFees(int f){
this->fees = f;
}
void generateReceipt()
{
cout<<"Fee Receipt:\n";
cout<<"Roll No: "<<this->rollno<<"\n";
cout<<"Name: "<<this->name<<"\n";
cout<<"Fee: "<<this->fees<<"\n";
}
};
class Result: public Fees
{
private:
int tests;
int activities;
int sports;
public:
void setMarks(int tests, int activities, int sports)
{
this->tests=tests;
this->activities = activities;
this->sports = sports;
}
void generateReceipt(void)
{
float sum = tests + activities + sports;
float average=sum/3.0;
char grade;
if(average>=90)
{
grade = 'A';
}
else if(average>=80 && average<90)
{
grade = 'B';
}
else if(average>=70 && average<80)
{
grade = 'C';
}
else if(average>=60 && average<70)
{
grade = 'D';
}
else{
grade = 'F';
}
Fees::generateReceipt();
cout<<"\nMarks Receipt:\n";
cout<<"Marks in Tests: "<<this->tests<<"\n";
cout<<"Marks in Activities: "<<this->activities<<"\n";
cout<<"Marks in Sports: "<<this->sports<<"\n";
cout<<"Grade: "<<grade<<"\n\n";
}
};
int main()
{
Result result;
result.setData(055462256,"Mary Clark");
result.submitFees(90);
result.setMarks(50,75,95);
result.generateReceipt();
int pause;
cin>>pause;
return 0;
}
Comments
Leave a comment