Codificación Programación creativa Preguntas reales
//Estudiante. hpp
#incluye ltiostream gt
#¿Incluir? lt string gt
#Contiene? ltmap gt
¿Usar? ¿Espacio de nombres? std
enum? ESex
{
ESex _Masculino? =?0,
ESex_Female
};
¿Clase? Estudiante
{
Público:
Estudiante(): m_number(0),? m_strName(" ",?m_ESex(ESex_female),?m_total(0)
{
}
¿Virtual?~Estudiante()
{
//NULL
}
int? obtener número()
{
Regresar ? m _ número
}
Cadena? getName()
¿Regresar?
}
¿CambiarInformaciónEstudiante()? =?0;
¿Doble? getAverageScores()?
¿Virtual? getonecoursscores(ECourseB?courseType)? =?0;
¿Virtual? )
{
printf("Número: d, nombre: s, género: s,?\n\ttotalScores: f\n\t ",
m_número,? m_strName.c_str(),? (m_ESex)? m_total);
int /p>
Cadena?
¿Doble?
};
enum?ECourseA
{
ECourseA_inglés,
ECourseA_matemáticas,
ECourseA_中文,
ECourseA_physics,
Curso de química,
ECourseA_biología,
Economía A_Num
};
StrCourseA[ecocoursea_Num]?
{
《Inglés》,?《中国人》,? Química",?"Biología" p>
};
enum? ECourseB
{
ECourseB_English,
ECourseB_math,
ECourseB_Chinese,
ECourseB_Num
};
¿Cadena? strCursoB[ECourseB_Num]? =?
{
《Inglés》,? "matemáticas",? "Chino"
};
¿Clase? Torre de estudiantes: ¿Pública? Estudiante
{
Público:
Torre de Estudiantes()
{
mem
set(m_scores,?0,?sizeof(m_scores));
}
~studentA()
{
cout? ¿Eh? "¿Esto? ¿Programa? ¿Codificación? ¿Por quién? ¿Respuesta? ¿Tipo? Estudiante: "? ¿Eh? m_strNombre? ¿Eh? endl
}
¿Anulado? changeStudentInfo();
¿Doble? getAverageScores();
¿Doble? getonecoursscores(ECourseB?tipo de curso);
¿No es válido? showall info();
Privado:
¿Doble? m_scores[ECourseA_Num];
};
¿Clase? Estudiante B: ¿Público? Estudiante
{
Público:
Estudiante b()
{
memset(m_scores,? 0 ,?sizeof(m _ puntuaciones));
}
~studentB()
{
cout? ¿Eh? "¿Esto? ¿Programa? ¿Codificación? ¿Por quién? ¿B? ¿Tipo? ¿Estudiante:?"? ¿Eh? m_strNombre? ¿Eh? endl
}
¿Anulado? changeStudentInfo();
¿Doble? getAverageScores();
¿Doble? getonecoursscores(ECourseB?tipo de curso);
¿No es válido? showall info();
Privado:
¿Doble? m_scores[ECourseB_Num];
};
//student.cpp
#Contiene? " estudiante.hpp "
¿No es válido? estudianteA:: changeStudentInfo()
{
cout? ¿Eh? "¿Entrar? ¿Estudiante? Número: ";
cin? gt gt? m_number
cout? ¿Eh? "¿Entrada? ¿Estudiante? Género (0? ¿Sí? ¿Hombre? ¿1? ¿Sí? Mujer): ";
cin? gt gt? m_ESex
cout? ¿Eh? "¿Entrar? ¿Estudiante? Nombre:";
cin? gt gt? m_strName
¿Para qué? (int?i?=?0;?i?lt?ECourseA_Num?i)
{
cout? ¿Eh? "¿Entrada? ¿Estudiante?" ¿Eh? strCursoA[i]? ¿Eh? "Puntuación:";
cin? gt gt? m_scores[I];
m_total? =?m _ puntuaciones[I];
}
}
¿Doble? estudianteA::getAverageScores()
{
¿Doble? ¿Puntuación total? =?0;
¿Para qué? (int?i?=?0;?i?lt?ECourseA_Num?i)
{
¿Puntuación total? =?m _ puntuaciones[I];
}
¿Regresión? ¿Puntuación total? /?MI
CursoA_Num
}
¿Doble? estudianteA::getonecourseshores(ecocursoa? Tipo de curso)
{
¿Volver? m_scores[tipo de curso];
}
¿No es válido? StudentA::showAllinfo()
{
mostrar baseinfo();
¿Para qué? (int?i?=?0;?i?lt?ECourseA_Num?i)
{
printf("s:f\n ",?strCourseA[i] ,? m_scores[I]);
}
}
¿No es válido? estudianteB::cambiarStudentInfo()
{
cout? ¿Eh? "¿Entrar? ¿Estudiante? Número: ";
cin? gt gt? m_number
cout? ¿Eh? "¿Entrada? ¿Estudiante? Género (0? ¿Sí? ¿Hombre? ¿1? ¿Sí? Mujer): ";
cin? gt gt? m_ESex
cout? ¿Eh? "¿Entrar? ¿Estudiante? Nombre:";
cin? gt gt? m_strName
¿Para qué? (int?i?=?0;?i?lt?ECourseA_Num?i)
{
cout? ¿Eh? "¿Entrada? ¿Estudiante?" ¿Eh? strCursoA[i]? ¿Eh? "Puntuación:";
cin? gt gt? m_scores[I];
m_total? =?m _ puntuaciones[I];
}
}
¿Doble? estudianteB::getAverageScores()
{
¿Doble? ¿Puntuación total? =?0;
¿Para qué? (int?i?=?0;?i?lt?ECourseB_Num?i)
{
¿Puntuación total? =?m _ puntuaciones[I];
}
¿Regresión? ¿Puntuación total? /?ECourseB _ Num
}
¿Doble? estudiante b::getonecoursestores(ECourseB? Tipo de curso)
{
¿Volver? m_scores[tipo de curso];
}
¿No es válido? StudentB::showAllinfo()
{
mostrar baseinfo();
¿Para qué? (int?i?=?0;?i?lt?ECourseB_Num?i)
{
printf("s:f\n ",?strCourseB[i] ,? m_scores[I]);
}
}
//oneClass.hpp
#Contiene? " estudiante.hpp "
#¿Definición? El número de estudiantes en una clase es A2//? Número de estudiantes en la clase a
¿#Definición? ¿Número de estudiantes B3//tamaño de la clase? ¿Número de estudiantes en la Clase B
¿Clase? Una Clase
{
Pública:
OneClass();
~ una clase();
¿No es válido? calcular puntuaciones promedio del curso();
¿No es válido? calcularmuyestudiantepromediopuntuaciones();
¿No es válido? ShowAllStudentInfo();
¿No es válido? encontrarEstudiante(int?num);
¿No es válido? findStudent(string?name);
Privado:
Mapa ltint? ,?Estudiante*gt? m _ numberMap
Mapa ¿está agitado? estudiante*gt? m _ nombreMapa
Estudiante*? m_studentA[número de estudiantes];
¿Estudiantes*? m_STUDENT B[Número de estudiantes];
};
//oneClass.cpp
#Contiene? " oneClass.hpp "
OneClass::OneClass()
{
¿Para qué? (int?AIndex?=?0;?AIndex?lt?Número de estudiantes;?AIndex)
{
m_studentA[AIndex]? =?¿Nuevo? estudianteA();
m _ estudianteA[índice principal] - gt; changeStudentInfo();
m _ mapa de números[m _ estudianteA[índice principal]. obtenerNúmero()]? =?m _ estudianteA[ain dex];
m_nameMap[m_studentA[AIndex]. getName()]? =?m _ estudianteA[ain dex];
}
¿Para qué? (int?BIndex?=?0;?BIndex?lt?Número de estudiantes;?BIndex)
{?
m_studentB[BIndex]? =?¿Nuevo? estudiante b();
m_studentB[BIndex]- gt; changeStudentInfo();
m_numberMap[m_studentB[BIndex]. obtenerNúmero()]? =?m _ estudianteB[BIndex];
m_nameMap[m_studentB[BIndex].
getName()]? =?m _ estudianteB[BIndex];
}
}
~OneClass::OneClass()
{
¿Para qué? (int?AIndex?=?0;?AIndex?lt?Número de estudiantes;?AIndex)
{?
¿Eliminar? m_studentA[ain dex];
}
¿Para qué? (int?BIndex?=?0;?BIndex?lt?Número de estudiantes;?BIndex)
{
¿Eliminar? m _ estudianteB[BIndex];
}
}
¿No es válido? OneClass::calculateerycoursaveragescores()
{
¿Para qué? (int?i?=?0;?i?lt?ECourseA_Num?i)
{
¿Doble? ¿total? =?0.0;
¿Doble? ¿generalmente? =?0.0;
¿Doble? puntuaciones máximas? =?0;
¿Doble? minPuntuaciones? =?100;
¿Para qué? (int?AIndex?=?0;?AIndex?lt?Número de estudiantes;?AIndex)
{
¿Doble? ¿Puntuaciones temporales? =?m _ estudianteA[ain index]- gt;getonecoursscores(I);
¿Total? =?tempScores
maxScores? =?(tempScores? gt?maxScores)? puntuaciones temporales: puntuaciones máximas;
minScores? =?(tempScores?lt?minScores)? puntuaciones temporales: minScores;
}
¿Si? (¿Yo? lt=?ECourseA _中文)
{
¿Para qué? (int?BIndex?=?0;?BIndex?lt?Número de estudiantes;?BIndex)
{?
¿Doble? ¿Puntuaciones temporales? =?m _ estudianteB[BIndex]- gt;puntuaciones de los cursos getone(I)
¿Total? =?tempScores
maxScores? =?(tempScores? gt?maxScores)? puntuaciones temporales: puntuaciones máximas;
minScores? =?(tempScores?lt?minScores)? puntuaciones temporales: minScores;
}
¿Promedio? =?Total/(Número de alumnos? ?Número de alumnos B);
}
Otros
{
¿General? =?total/(número de alumnos);
}
cout? ¿Eh? strCursoA[i]? ¿Eh? "¿Promedio? ¿Puntuación? ¿En serio?" ¿Eh? ¿generalmente? ¿Eh? endl
cout? ¿Eh? strCursoA[i]? ¿Eh? "?Máximo."
¿Fracción? ¿Sí? "? lt lt? ¿General? lt lt? endl
cout? lt lt? strCourseA[i]? lt lt? "? ¿Fracción? ¿Sí? "? lt lt? General? lt lt? endl
}
}
¿No válido? OneClass::calculateverystudentaveragescores()
{
¿Para qué? (int?AIndex?=?0;?AIndex?lt?Número de estudiantes;?AIndex)
{
cout? índice principal]- gt;getName?lt lt? ¿Sí? "? lt lt? ()m _ estudianteA[ain index]- gt; getAverageScores()? lt lt? endl
}
¿Para qué? (int? BIndex?=? 0;? BÍndice? BÍndice) ? ¿Sí? "? lt lt? ()m _ estudianteB[BIndex]- gt; getAverageScores()? lt lt? endl
}
}
¿No válido? OneClass ::changeOneStudentInfo(int?number)
{
Si? (m_numberMap.find(num)?==?m_numberMap.end())
{
cout? lt lt? "¿Puedes?" ¿No es así? ¿Descubrir? ¿este? alumno:? "? lt lt? num? lt lt? endl?
Return;
}
m_number map[num]- gt; changeStudentInfo(); p>
}
¿No es válido? OneClass::changeOneStudentInfo(int?name)
{
If (m_nameMap.find(name) ? == ?m_nameMap.end())
{
cout? ¿No es así? ¿Descubrir? ¿este? alumno:? "? lt lt? ¿Nombre? lt lt? endl?
Regresar;
}
m _ nombre mapa[nombre]- gt; changeStudentInfo()
}
¿No es válido? OneClass::ShowAllStudentInfo()
{
¿Para qué (int?AIndex?=?0;? AIndex?lt?AIndex)
{
m _ estudianteA[ain index]- gt; showall info();
} p>
¿Para qué? (int?BIndex?=?0;?BIndex?lt?Número de estudiantes;?BIndex)
{
m _ estudianteB[BIndex]- gt;showall información();
}
p>
}
¿No es válido? OneClass::findStudent(int?number)
{
¿Si? (m_numberMap.find(num)?==?m_numberMap.end())
{
cout? ¿Eh? "¿Es posible? ¿No es así? ¿Encontrado? ¿Esto? Estudiante:?" ¿Eh? número? ¿Eh? final?
Regresar;
}
m_number map[num]- gt; showall info();
}
¿Anulado? OneClass::findStudent(cadena?nombre)
{
¿Si? (m_nameMap.find(nombre)?==?m_nameMap.end())
{
cout? ¿Eh? "¿Es posible? ¿No es así? ¿Encontrado? ¿Esto? Estudiante:?" ¿Eh? ¿nombre? ¿Eh? final?
Regresar;
}
m_name mapa[nombre]- gt; showall info();
}
//main.cpp
#¿Contiene? " oneClase.hpp "
int? Main()
{
¿Una categoría? myClass
myClass.changeOneStudentInfo("ticker");
mi clase encuentra estudiante(0);
¿Regresión? 0;
}