#include <iostream>
using namespace std;
//class gradedactivity (page 900)
class GradedActivity
{
protected:
double score;
public:
//default constructor
GradedActivity()
{
score = 0.0;
}
//parameterized constructor
GradedActivity(double s)
{
score = s;
}
void setScore(double s)
{
score = s;
}
double getScore() const
{
return score;
}
char getLetterGrade() const;
};
class Essay : public GradedActivity
{
private:
float grammar;
float spelling;
float length;
float content;
public:
Essay() {}
Essay(float g, float s, float l, float c)
{
setGrammar(g);
setSpelling(s);
setLength(l);
setContent(c);
}
void setGrammar(float);
float getGrammar();
void setSpelling(float);
float getSpelling();
void setLength(float);
float getLength();
void setContent(float);
float getContent();
};
void Essay::setGrammar(float g)
{
grammar = g;
}
float Essay::getGrammar() {return grammar;}
void Essay::setSpelling(float s)
{
spelling = s;
}
float Essay::getSpelling() {return spelling;}
void Essay::setLength(float l)
{
length = l;
}
float Essay::getLength() {return length;}
void Essay::setContent(float c)
{
content = c;
}
float Essay::getContent() {return content;}
int main()
{
float grammarPts;
cout << "How many points, out of 30, did the student get for grammar?";
cin >> grammarPts;
Essay object;
object.setGrammar(grammarPts);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCgovL2NsYXNzIGdyYWRlZGFjdGl2aXR5IChwYWdlIDkwMCkKY2xhc3MgR3JhZGVkQWN0aXZpdHkKewpwcm90ZWN0ZWQ6IAoKZG91YmxlIHNjb3JlOwoKcHVibGljOiAKLy9kZWZhdWx0IGNvbnN0cnVjdG9yCkdyYWRlZEFjdGl2aXR5KCkKewpzY29yZSA9IDAuMDsKfQovL3BhcmFtZXRlcml6ZWQgY29uc3RydWN0b3IKR3JhZGVkQWN0aXZpdHkoZG91YmxlIHMpCnsKc2NvcmUgPSBzOwp9Cgp2b2lkIHNldFNjb3JlKGRvdWJsZSBzKQp7CnNjb3JlID0gczsKfQoKZG91YmxlIGdldFNjb3JlKCkgY29uc3QKewpyZXR1cm4gc2NvcmU7Cn0KCmNoYXIgZ2V0TGV0dGVyR3JhZGUoKSBjb25zdDsKfTsKCmNsYXNzIEVzc2F5IDogcHVibGljIEdyYWRlZEFjdGl2aXR5CnsKcHJpdmF0ZToKCmZsb2F0IGdyYW1tYXI7CmZsb2F0IHNwZWxsaW5nOwpmbG9hdCBsZW5ndGg7CmZsb2F0IGNvbnRlbnQ7CgpwdWJsaWM6CkVzc2F5KCkge30KRXNzYXkoZmxvYXQgZywgZmxvYXQgcywgZmxvYXQgbCwgZmxvYXQgYykKewpzZXRHcmFtbWFyKGcpOwpzZXRTcGVsbGluZyhzKTsKc2V0TGVuZ3RoKGwpOwpzZXRDb250ZW50KGMpOwp9Cgp2b2lkICBzZXRHcmFtbWFyKGZsb2F0KTsKZmxvYXQgZ2V0R3JhbW1hcigpOwp2b2lkICBzZXRTcGVsbGluZyhmbG9hdCk7CmZsb2F0IGdldFNwZWxsaW5nKCk7CnZvaWQgIHNldExlbmd0aChmbG9hdCk7CmZsb2F0IGdldExlbmd0aCgpOwp2b2lkICBzZXRDb250ZW50KGZsb2F0KTsKZmxvYXQgZ2V0Q29udGVudCgpOwp9OwoKdm9pZCBFc3NheTo6c2V0R3JhbW1hcihmbG9hdCBnKQp7CmdyYW1tYXIgPSBnOwp9CmZsb2F0IEVzc2F5OjpnZXRHcmFtbWFyKCkge3JldHVybiBncmFtbWFyO30KCnZvaWQgIEVzc2F5OjpzZXRTcGVsbGluZyhmbG9hdCBzKQp7CnNwZWxsaW5nID0gczsKfQpmbG9hdCBFc3NheTo6Z2V0U3BlbGxpbmcoKSB7cmV0dXJuIHNwZWxsaW5nO30KCnZvaWQgIEVzc2F5OjpzZXRMZW5ndGgoZmxvYXQgbCkKewpsZW5ndGggPSBsOwp9CmZsb2F0IEVzc2F5OjpnZXRMZW5ndGgoKSB7cmV0dXJuIGxlbmd0aDt9Cgp2b2lkICBFc3NheTo6c2V0Q29udGVudChmbG9hdCBjKQp7CmNvbnRlbnQgPSBjOwp9CmZsb2F0IEVzc2F5OjpnZXRDb250ZW50KCkge3JldHVybiBjb250ZW50O30KCmludCBtYWluKCkKeyAKZmxvYXQgZ3JhbW1hclB0czsKCmNvdXQgPDwgIkhvdyBtYW55IHBvaW50cywgb3V0IG9mIDMwLCBkaWQgdGhlIHN0dWRlbnQgZ2V0IGZvciBncmFtbWFyPyI7CmNpbiAgPj4gZ3JhbW1hclB0czsKCkVzc2F5IG9iamVjdDsKb2JqZWN0LnNldEdyYW1tYXIoZ3JhbW1hclB0cyk7CgpyZXR1cm4gMDsKfQ==