编码创意编程真题
//学生. 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;
}