Red de conocimiento informático - Conocimiento del nombre de dominio - ¡Urgente! ! ! Preguntas de programación C, ¡puedes aumentar la recompensa si es necesario! ! !

¡Urgente! ! ! Preguntas de programación C, ¡puedes aumentar la recompensa si es necesario! ! !

//Sin depuración, ¡depuralo tú mismo! Perdí horas. . .

//student.hpp

#includelt;iostreamgt;

#include?lt;stringgt;

#include?lt; mapgt;

usando?namespace?std;

enum?ESex

{

ESex_male?=?0,

ESex_female

};

clase?estudiante

{

público:

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

{

}

virtual?~ estudiante()

{

//NULL

}

int?getNumber()

{ retorno ?m_number;

}

cadena?getName()

{ return?m_strName;

}

virtual?void?changeStudentInfo()?=?0;

virtual?double?getAverageScores()?=?0;

virtual?double?getOneCourseScores(ECourseB?courseType)?= ?0;

virtual?void?showAllinfo()?=?0;

void?showBaseInfo()

{ printf("num: d,? nombre: s,?sexo:s,?\n\ttotalScores:f\n\t", m_number,?m_strName.c_str(),?(m_ESex)??"female":"male",?m_total);

}

int?m_number;

cadena?m_strName;

ESex?m_ESex;

doble?m_total;

};

enum?ECourseA

{ ECourseA_english, ECourseA_math, ECourseA_chinese, ECourseA_physics, ECourseA_chemistry, ECourseA_biology, ECourseA_Num

};

string?strCourseA[ECourseA_Num]?=?

{ "inglés",?"matemáticas",?"chino",?"física",?"química",?"biología "

};

enum?ECourseB

{ ECourseB_english, ECourseB_math, ECourseB_chinese, ECourseB_Num

};

string?strCourseB[ECourseB_Num]?=?

{ "e

inglés",?"matemáticas",?"chino"

};

clase?estudianteA: público?estudiante

{

público: estudianteA() {

memset(m_scores,?0,?sizeof(m_scores)); } ~studentA() {

cout?lt;lt;?"Esto? procedimiento?codificación?por?Un?tipo?estudiante: "?lt;lt;?m_strName?lt;lt;?endl; } void?changeStudentInfo(); double?getAverageScores(); double?getOneCourseScores(ECourseB?courseType); void?showAllinfo(); privado:

doble?m_scores[ECourseA_Num];

};

clase?estudianteB: público?estudiante

{

público: estudianteB() {

memset(m_scores,?0,?sizeof(m_scores) } ~studentB() {

cout?lt;lt;?"Este?procedimiento?codificación?por?B?tipo?estudiante:?"?lt;lt;?m_strName?lt;lt;?endl; } void?changeStudentInfo(); ); /student.cpp

#include?"student.hpp"

void?studentA::changeStudentInfo()

{ cout?lt;lt;?" entrada?estudiante?número: "; cin?gt;gt;?m_número; cout?lt;lt;?" entrada?estudiante?sexo(0?es?masculino,?1?es?femenino): "; cin?gt ;gt;?m_ESex; cout?lt;lt;?"input?student?name:"; cin?gt;gt;?m_strName; para?(int?i?=?0;?i?lt;?ECourseA_Num; ? i) {

cout?lt;lt;?"entrada?estudiante?"?lt;lt;?strCourseA[i]?lt;lt;?"puntuaciones:";

cin?gt;gt;?m_scores[i];

m_total? =?m_scores[i]; }

}

doble?estudianteA: : obtener puntuaciones promedio

()

{ double?totalScores?=?0; for?(int?i?=?0;?i?lt;?ECourseA_Num;? i) {

totalScores? =?m_scores[i]; } return?totalScores?/?ECourseA_Num;

}

doble?studentA::getOneCourseScores(ECourseA?courseType)

{ return?m_scores[tipo de curso];

}

void?studentA::showAllinfo()

{ showBaseInfo() for?(int?i?= ?0;?i?lt;?ECourseA_Num;? i) {

printf("s: f\n",?strCourseA[i],?m_scores[i]); >

}

void?studentB::changeStudentInfo()

{ cout?lt;lt;?"input?student?number:"; ?m_number; cout?lt;lt;?"entrada?estudiante?sexo(0?es?masculino,?1?es?femenino): "; cin?gt;gt;?m_ESex; input?estudiante?nombre: "; cin?gt;gt;?m_strName; for?(int?i?=?0;?i?lt;?ECourseA_Num;? i) {

cout?lt ;lt;?"entrada?estudiante?"?lt;lt;?strCursoA[i]?lt;lt;?"scores:";

cin?gt;gt;?m_scores[i];

m_total? =?m_scores[i]; }

}

doble?studentB::getAverageScores()

{ doble? puntuaciones totales?=?0; para?(int?i?=?0;?i?lt;?ECourseB_Num;? i) {

puntuaciones totales? =?m_scores[i]; /?ECourseB_Num;

}

doble?studentB::getOneCourseScores(ECourseB?courseType)

{ return?m_scores[courseType];

}

void?studentB::showAllinfo()

{ showBaseInfo(); para?(int?i?=?0;?i?lt;?ECourseB_Num;? i) {

printf("s:f\n",?strCourseB[i],?m_scores[i] }?

}

); //oneClass.hpp

#include?"estudiante.h

pp"

#define?NUM_OF_STUDENT_A?2?//El número de estudiantes A en una clase

#define?NUM_OF_STUDENT_B?3?//El número de estudiantes B en una clase Número de estudiantes en la clase

clase?OneClass

{

público: OneClass(); ~OneClass(); void?CalculateEveryCourseAverageScores(); ( ); void?ShowAllStudentInfo(); void?findStudent(int?num); void?findStudent(cadena?nombre);

privado: maplt?, ?student*gt; ; agitando,?estudiante*gt;?m_nameMap; estudiante*?m_studentA[NUM_OF_STUDENT_A]; estudiante*?m_studentB[NUM_OF_STUDENT_B];

};

//oneClass.cpp

#include?"oneClass.hpp"

OneClass::OneClass()

{ for?(int?AIndex?=?0;?AIndex?lt; ? NUM_OF_STUDENT_A;?AIndex ) {?

m_studentA[AIndex]?=?new?studentA();

m_studentA[AIndex]-gt;

m_numberMap[m_studentA[AIndex].getNumber()]?=?m_studentA[AIndex];

m_nameMap[m_studentA[AIndex].getName()]?=?m_studentA[AIndex] }; ? (int?BIndex?=?0;?BIndex?lt;?NUM_OF_STUDENT_B;?BIndex) {

m_studentB[BIndex]?=?new?studentB();

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()

{ para?(int?AIndex? = ?0;?AIndex?lt;?NUM_OF_STUDENT_A;?AIndex ) {?

eliminar?m_studentA[AIndex] } para?(int?BIndex?=?0;?BIndex?lt;?NUM_OF_STUDE;

NT_B;?BIndex) {

eliminar?m_studentB[BIndex] }

}

void?OneClass::CalculateEveryCourseAverageScores()

{ para?(int?i?=?0;?i?lt;?ECourseA_Num;? i) {

doble?total?=?0.0;

doble?promedio ?=?0.0;

doble?maxScores?=?0;

doble?minScores?=?100;

para?(int?AIndex?= ?0;?AIndex?lt;?NUM_OF_STUDENT_A;?AIndex )

{ double?tempScores?=?m_studentA[AIndex]-gt; getOneCourseScores(i); total? (tempScores?gt;?maxScores)?tempScores:maxScores; minScores?=?(tempScores?lt;?minScores)?tempScores:minScores;

}

if?(i? lt;=?ECourseA_chinese)

{ for?(int?BIndex?=?0;?BIndex?lt;?NUM_OF_STUDENT_B;?BIndex ) {?

doble?tempScores?= ?m_studentB[BIndex]-gt;getOneCourseScores(i)

total? =?tempScores;

maxScores?=?(tempScores?gt;?maxScores)?tempScores: maxScores;

minScores?=?(tempScores?lt;?minScores)?tempScores:minScores; } promedio?=?total/(NUM_OF_STUDENT_A? ?NUM_OF_STUDENT_B);

}

else

{ promedio?=?total/(NUM_OF_STUDENT_A);

}

cout?lt;lt;?strCourseA[i]?lt; lt;?"?¿puntajes?promedio?es?"?lt;lt;?promedio?lt;lt;?endl;

cout?lt;lt;?strCourseA[i]?lt;lt; ?"?max?puntuaciones?es?"?lt;lt;?promedio?lt;lt;?endl;

cout?lt;lt;?strCourseA[i]?lt;lt;?" ?min?scores?is?"?lt;lt;?average?lt;lt;?endl; }

}

void?OneClass::calculateEveryStudentAverageScores()

{ para?(int?AInde

x?=?0;?AIndex?lt;?NUM_OF_STUDENT_A;?AIndex) {

cout?lt;lt;?m_studentA[AIndex]-gt;getName?lt;lt;?"average?is ?"?lt;lt;?()m_studentA[AIndex]-gt;getAverageScores()?lt;lt;?endl; } para?(int?BIndex?=?0;?BIndex?lt;?NUM_OF_STUDENT_B;? BIndex ) {

cout?lt;lt;?m_studentB[BIndex]-gt;getName?lt;lt;?"promedio?es?"?lt;lt;?()m_studentB[BIndex]-gt ;getAverageScores()?lt;lt;?endl; }

}

void?OneClass::changeOneStudentInfo(int?num)

{ si?( m_numberMap.find(num)?==?m_numberMap.end()) {

cout?lt;lt;?"¿no?puede?encontrar?este?estudiante:?"?lt;lt;? num?lt;lt;?endl;?

return; } m_numberMap[num]-gt;changeStudentInfo();

}

void?OneClass: :changeOneStudentInfo(int?name)

{ if?(m_nameMap.find(name)?==?m_nameMap.end()) {

cout?lt;lt;?" ¿no?puedes?encontrar?este?estudiante:?"?lt;lt;?name?lt;lt;?endl;?

return; } m_nameMap[name]-gt;changeStudentInfo() p>

}

void?OneClass::ShowAllStudentInfo()

{ for?(int?AIndex?=?0;?AIndex?lt;?NUM_OF_STUDENT_A; ?AIndex ) {

m_studentA[AIndex]-gt;showAllinfo(); } para?(int?BIndex?=?0;?BIndex?lt;?NUM_OF_STUDENT_B;?BIndex) {

m_studentB[BIndex]-gt; showAllinfo(); }

}

void?OneClass::findStudent(int?num)

{ si ?( m_numberMap.find(num)?==?m_numberMap.end()) {

cout?lt;lt;?"¿no?puede?encontrar?este?estudiante:?"?lt;lt ;? num?lt;lt;?endl;?

return; } m_numberMap[num]-gt;showA

llinfo();

}

void?OneClass::findStudent(string?nombre)

{ if?(m_nameMap.find(nombre)?== ?m_nameMap.end()) {

cout?lt;lt;?"¿no?puede?encontrar?este?estudiante:?"?lt;lt;?nombre?lt;lt;?endl; ?

return; } m_nameMap[nombre]-gt; showAllinfo();

}

//main.cpp

# incluir?"oneClase.hpp"

int?main()

{ OneClass?myClass; myClass.changeOneStudentInfo("gougou"); ;

}