编码创意编程真题

//不调试,自己调试!它浪费了我几个小时。。。

//学生. hpp

# include & ltiostream & gt

#包含?& lt字符串& gt

#包含?& lt地图& gt

使用?命名空间?std

enum?ESex

{

ESex _男?=?0,

ESex _女性

};

班级?学生

{

公共:

学生():m_number(0),?m_strName(" ",?m_ESex(ESex_female),?m_total(0)

{

}

虚拟的?~学生()

{

//NULL

}

int?获取号码()

{

回归?m _ number

}

字符串?getName()

{

回归?m _ strName

}

虚拟的?作废?changeStudentInfo()?=?0;

虚拟的?双倍?getAverageScores()?=?0;

虚拟的?双倍?getonecoursscores(ECourseB?courseType)?=?0;

虚拟的?作废?showAllinfo()?=?0;

作废?showBaseInfo()

{

printf("编号:%d,名称:%s,性别:%s,?\n\ttotalScores:%f\n\t ",

m_number,?m_strName.c_str(),?(m_ESex)?“女”:“男”,?m _ total);

}

int?m _ number

字符串?m _ strName

ESex?m _ ESex

双倍?m _ total

};

enum?ECourseA

{

ECourseA_english,

ECourseA_math,

ECourseA _中文,

ECourseA _ physics,

化学课程,

ECourseA _生物学,

经济A_Num

};

字符串?strCourseA[ecocoursea _ Num]?=?

{

《英语》,?《数学》,?“中国人”,?《物理》,?《化学》,?“生物学”

};

enum?ECourseB

{

ECourseB _英语,

ECourseB_math,

ECourseB _中文,

ECourseB_Num

};

字符串?strCourseB[ECourseB_Num]?=?

{

《英语》,?《数学》,?“中国人”

};

班级?学生塔:公共的?学生

{

公共:

学生塔()

{

memset(m_scores,?0,?sizeof(m _ scores));

}

~studentA()

{

cout?& lt& lt?“这个?程序?编码?被谁?答?类型?学生:“?& lt& lt?m_strName?& lt& lt?endl

}

作废?changeStudentInfo();

双倍?getAverageScores();

双倍?getonecoursscores(ECourseB?course type);

作废?showall info();

私人:

双倍?m _ scores[ECourseA _ Num];

};

班级?学生乙:公立?学生

{

公共:

学生b()

{

memset(m_scores,?0,?sizeof(m _ scores));

}

~studentB()

{

cout?& lt& lt?“这个?程序?编码?被谁?b?类型?学生:?”?& lt& lt?m_strName?& lt& lt?endl

}

作废?changeStudentInfo();

双倍?getAverageScores();

双倍?getonecoursscores(ECourseB?course type);

作废?showall info();

私人:

双倍?m _ scores[ECourseB _ Num];

};

//student.cpp

#包含?" student.hpp "

作废?studentA::changeStudentInfo()

{

cout?& lt& lt?“输入?学生?编号:“;

cin?& gt& gt?m _ number

cout?& lt& lt?“输入?学生?性(0?是吗?男,?1?是吗?女):“;

cin?& gt& gt?m _ ESex

cout?& lt& lt?“输入?学生?姓名:“;

cin?& gt& gt?m _ strName

为了什么?(int?我?=?0;?我?& lt?ECourseA _ Num?++i)

{

cout?& lt& lt?“输入?学生?”?& lt& lt?strCourseA[i]?& lt& lt?"分数:";

cin?& gt& gt?m _ scores[I];

m_total?+=?m _ scores[I];

}

}

双倍?studentA::getAverageScores()

{

双倍?总分?=?0;

为了什么?(int?我?=?0;?我?& lt?ECourseA _ Num?++i)

{

总分?+=?m _ scores[I];

}

回归?总分?/?ECourseA _ Num

}

双倍?studentA::getonecourseshores(ecocoursea?课程类型)

{

回归?m _ scores[course type];

}

作废?studentA::showAllinfo()

{

show baseinfo();

为了什么?(int?我?=?0;?我?& lt?ECourseA _ Num?++i)

{

printf("%s:%f\n ",?strCourseA[i],?m _ scores[I]);

}

}

作废?studentB::changeStudentInfo()

{

cout?& lt& lt?“输入?学生?编号:“;

cin?& gt& gt?m _ number

cout?& lt& lt?“输入?学生?性(0?是吗?男,?1?是吗?女):“;

cin?& gt& gt?m _ ESex

cout?& lt& lt?“输入?学生?姓名:“;

cin?& gt& gt?m _ strName

为了什么?(int?我?=?0;?我?& lt?ECourseA _ Num?++i)

{

cout?& lt& lt?“输入?学生?”?& lt& lt?strCourseA[i]?& lt& lt?"分数:";

cin?& gt& gt?m _ scores[I];

m_total?+=?m _ scores[I];

}

}

双倍?studentB::getAverageScores()

{

双倍?总分?=?0;

为了什么?(int?我?=?0;?我?& lt?ECourseB _ Num?++i)

{

总分?+=?m _ scores[I];

}

回归?总分?/?ECourseB _ Num

}

双倍?student b::getonecoursestores(ECourseB?课程类型)

{

回归?m _ scores[course type];

}

作废?studentB::showAllinfo()

{

show baseinfo();

为了什么?(int?我?=?0;?我?& lt?ECourseB _ Num?++i)

{

printf("%s:%f\n ",?strCourseB[i],?m _ scores[I]);

}

}

//oneClass.hpp

#包含?" student.hpp "

#定义?一个班的学生人数A2//?a班学生人数

#定义?B3学生人数//班级人数?b班学生人数

班级?一类

{

公共:

OneClass();

~ one class();

作废?calculateerycourseaveragescores();

作废?calculateverystudentaveragescores();

作废?ShowAllStudentInfo();

作废?findStudent(int?num);

作废?findStudent(string?姓名);

私人:

地图& ltint?,?学生* & gt?m _ numberMap

地图& lt搅拌?学生* & gt?m _ nameMap

学生*?m _ studentA[学生人数];

学生*?m _ STUDENT B[学生人数];

};

//oneClass.cpp

#包含?" oneClass.hpp "

OneClass::OneClass()

{

为了什么?(int?AIndex?=?0;?AIndex?& lt?学生人数;?AIndex++)

{

m_studentA[AIndex]?=?新的?studentA();

m _ studentA[ain index]-& gt;changeStudentInfo();

m _ number map[m _ studentA[ain index]。getNumber()]?=?m _ studentA[ain dex];

m_nameMap[m_studentA[AIndex]。getName()]?=?m _ studentA[ain dex];

}

为了什么?(int?BIndex?=?0;?BIndex?& lt?学生人数;?BIndex++)

{?

m_studentB[BIndex]?=?新的?student b();

m _ studentB[BIndex]-& gt;changeStudentInfo();

m_numberMap[m_studentB[BIndex]。getNumber()]?=?m _ studentB[BIndex];

m_nameMap[m_studentB[BIndex]。getName()]?=?m _ studentB[BIndex];

}

}

~OneClass::OneClass()

{

为了什么?(int?AIndex?=?0;?AIndex?& lt?学生人数;?AIndex++)

{?

删除?m _ studentA[ain dex];

}

为了什么?(int?BIndex?=?0;?BIndex?& lt?学生人数;?BIndex++)

{

删除?m _ studentB[BIndex];

}

}

作废?OneClass::calculateerycoursaveragescores()

{

为了什么?(int?我?=?0;?我?& lt?ECourseA _ Num?++i)

{

双倍?总计?=?0.0;

双倍?一般?=?0.0;

双倍?maxScores?=?0;

双倍?minScores?=?100;

为了什么?(int?AIndex?=?0;?AIndex?& lt?学生人数;?AIndex++)

{

双倍?tempScores?=?m _ studentA[ain index]-& gt;getonecoursscores(I);

总计?+=?tempScores

maxScores?=?(tempScores?& gt?maxScores)?temp scores:max scores;

minScores?=?(tempScores?& lt?minScores)?temp scores:minScores;

}

如果?(我?& lt=?ECourseA _中文)

{

为了什么?(int?BIndex?=?0;?BIndex?& lt?学生人数;?BIndex++)

{?

双倍?tempScores?=?m _ studentB[BIndex]-& gt;getone courses scores(I)

总计?+=?tempScores

maxScores?=?(tempScores?& gt?maxScores)?temp scores:max scores;

minScores?=?(tempScores?& lt?minScores)?temp scores:minScores;

}

一般?=?总计/(学生人数?+?学生人数B);

}

其他

{

一般?=?total/(学生人数);

}

cout?& lt& lt?strCourseA[i]?& lt& lt?"?一般?分数?是吗?”?& lt& lt?一般?& lt& lt?endl

cout?& lt& lt?strCourseA[i]?& lt& lt?"?麦克斯。分数?是吗?”?& lt& lt?一般?& lt& lt?endl

cout?& lt& lt?strCourseA[i]?& lt& lt?"?敏?分数?是吗?”?& lt& lt?一般?& lt& lt?endl

}

}

作废?OneClass::calculateverystudentaveragescores()

{

为了什么?(int?AIndex?=?0;?AIndex?& lt?学生人数;?++AIndex)

{

cout?& lt& lt?m _ studentA[ain index]-& gt;getName?& lt& lt?“一般?是吗?”?& lt& lt?()m _ studentA[ain index]-& gt;getAverageScores()?& lt& lt?endl

}

为了什么?(int?BIndex?=?0;?BIndex?& lt?学生人数;?++BIndex)

{

cout?& lt& lt?m _ studentB[BIndex]-& gt;getName?& lt& lt?“一般?是吗?”?& lt& lt?()m _ studentB[BIndex]-& gt;getAverageScores()?& lt& lt?endl

}

}

作废?OneClass::changeOneStudentInfo(int?数字)

{

如果?(m_numberMap.find(num)?==?m_numberMap.end())

{

cout?& lt& lt?“可以吗?不是吗?发现?这个?学生:?”?& lt& lt?num?& lt& lt?endl?

返回;

}

m _ number map[num]-& gt;changeStudentInfo();

}

作废?OneClass::changeOneStudentInfo(int?姓名)

{

如果?(m_nameMap.find(name)?==?m_nameMap.end())

{

cout?& lt& lt?“可以吗?不是吗?发现?这个?学生:?”?& lt& lt?名字?& lt& lt?endl?

返回;

}

m _ name map[name]-& gt;changeStudentInfo()

}

作废?OneClass::ShowAllStudentInfo()

{

为了什么?(int?AIndex?=?0;?AIndex?& lt?学生人数;?++AIndex)

{

m _ studentA[ain index]-& gt;showall info();

}

为了什么?(int?BIndex?=?0;?BIndex?& lt?学生人数;?++BIndex)

{

m _ studentB[BIndex]-& gt;showall info();

}

}

作废?OneClass::findStudent(int?数字)

{

如果?(m_numberMap.find(num)?==?m_numberMap.end())

{

cout?& lt& lt?“可以吗?不是吗?发现?这个?学生:?”?& lt& lt?num?& lt& lt?endl?

返回;

}

m _ number map[num]-& gt;showall info();

}

作废?OneClass::findStudent(string?姓名)

{

如果?(m_nameMap.find(name)?==?m_nameMap.end())

{

cout?& lt& lt?“可以吗?不是吗?发现?这个?学生:?”?& lt& lt?名字?& lt& lt?endl?

返回;

}

m _ name map[name]-& gt;showall info();

}

//main.cpp

#包含?" oneClase.hpp "

int?主()

{

一类?myClass

myClass.changeOneStudentInfo("勾勾");

my class . find student(0);

回归?0;

}