Problem Description 某校每位学生都要学习语文、英语、数学三门公共课。会计学专业学生要学习会计学和经济学 2门专业课,化学专业学生要学习有机化学和化学分析2门专业课。 (1)编写ComFinal基类,数据成员有:姓名(字符数组类型)、语文成绩、英语成绩、数学成绩。 成员函数有:构造函数、析构函数、计算公共课总分的函数、计算公共课平均分的函数、 显示姓名、语文成绩、英语成绩、数学成绩、公共课总分、公共课平均分的函数 (2)编写Account派生类,数据成员有:会计学成绩、经济学成绩。 成员函数有:构造函数、析构函数、计算专业课总分的函数、计算专业平均分的函数、 显示姓名、语文成绩、英语成绩、数学成绩、公共课总分、公共课平均分、 会计学成绩、经济学成绩、专业课总分、专业课平均分的函数 (3)编写Chemistry派生类,数据成员有:有机化学成绩、分析化学成绩。 成员函数有:构造函数、析构函数、计算专业课总分的函数、计算专业平均分的函数、 显示姓名、语文成绩、英语成绩、数学成绩、公共课总分、公共课平均分、 有机化学成绩、分析化学成绩、专业课总分、专业课平均分的函数。 请完成下面的程序: //你的代码将被嵌在这里 int main(void) { Account s1(“AAA”, 90, 86, 80, 93, 91); s1.Display(); Chemistry s2(“BBB”, 92, 78, 98, 90, 67); s2.Display(); return 0; }
Input Description 无 Output Description 输出学生全部信息 Sample Output 姓名:AAA 语文:90 英语:86 数学:80 公共课总分:256 公共课平均分:85 会计学:93 经济学:91 专业课总分:184 专业课平均分:92 姓名:BBB 语文:92 英语:78 数学:98 公共课总分:268 公共课平均分:89 有机化学:90 化学分析:67 专业课总分:157 专业课平均分:78
#include <iostream>
using namespace std;
#include <string>
class ComFinal
{
private:
string m_name;
int Cscore;
int Escore;
int Mscore;
public:
ComFinal(string n, int a, int b, int c)
{
m_name = n;
Cscore = a;
Escore = b;
Mscore = c;
}
~ComFinal() {}
void Display()
{
cout << "姓名:" << m_name << endl;
cout << "语文:" << Cscore << endl;
cout << "英语:" << Escore << endl;
cout << "数学:" << Mscore << endl;
sumscore();
average();
}
void sumscore()
{
cout << "公共课总分:" <<Cscore + Escore + Mscore << endl;
}
void average()
{
cout << "公共课平均分:" <<( Cscore + Escore + Mscore) / 3 << endl;
}
};
class Account :public ComFinal
{
private:
int kuaijiscore;
int jingjiscore;
public:
Account(string a, int b, int c, int d, int e, int f) :ComFinal(a, b, c, d)
{
kuaijiscore = e;
jingjiscore = f;
}
void Display()
{
ComFinal::Display();
cout << "会计学:" << kuaijiscore << endl;
cout << "经济学:" << jingjiscore << endl;
cout << "专业课总分:" << kuaijiscore + jingjiscore << endl;
cout << "专业课平均分:" << (kuaijiscore + jingjiscore) / 2 << endl;
}
~Account() {}
};
class Chemistry :public ComFinal
{
private:
int youjiscore;
int fenxiscore;
public:
Chemistry(string a, int b, int c, int d, int e, int f) :ComFinal(a, b, c, d)
{
youjiscore = e;
fenxiscore = f;
}
~Chemistry() {}
void Display()
{
ComFinal::Display();
cout << "有机化学:" << youjiscore << endl;
cout << "化学分析:" << fenxiscore << endl;
cout << "专业课总分:" << youjiscore + fenxiscore << endl;
cout << "专业课平均分:" << (youjiscore + fenxiscore) / 2 << endl;
}
};
int main(void)
{
Account s1("AAA", 90, 86, 80, 93, 91);
s1.Display();
Chemistry s2("BBB", 92, 78, 98, 90, 67);
s2.Display();
return 0;
}
|