Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- const int APROBADO = 70;
- const int MAX_ALUMNOS = 100;
- const int CONTAR_APROBADOS = 0;
- const int CONTAR_REPROBADOS = 1;
- void alocar_memoria(double *estudiantes[],int nro_estudiantes,int nro_calificaciones){
- for(int estudiante = 0; estudiante < nro_estudiantes; ++estudiante)
- estudiantes[estudiante] = new double[nro_calificaciones];
- }
- void de_alocar_memoria(double *estudiantes[], int nro_estudiantes){
- for(int estudiante = 0; estudiante < nro_estudiantes; ++estudiante)
- delete estudiantes[estudiante];
- }
- void registrar_calificaciones_de_estudiante(double * calificaciones,int estudiante,int nro_calificaciones){
- for(int calificacion = 0; calificacion < nro_calificaciones; ++calificacion){
- std::cout <<"ingrese calificacion nro "<< calificacion + 1 <<" para estudiante nro " << estudiante + 1 << ":";
- std::cin >> calificaciones[calificacion];
- std::cout << std::endl;
- }
- }
- void registrar_calificaciones(double *estudiantes[],int nro_estudiantes,int nro_calificaciones){
- for(int estudiante = 0; estudiante < nro_estudiantes; ++estudiante){
- registrar_calificaciones_de_estudiante(estudiantes[estudiante],estudiante,nro_calificaciones);
- std::cout << std::endl;
- }
- }
- bool estudiante_aprobo(double promedio) {
- return promedio >= APROBADO;
- }
- double calc_promedio_estudiante(double calificaciones[],int nro_calificaciones){
- double suma = 0;
- for(int c = 0; c < nro_calificaciones; ++c)
- suma += calificaciones[c];
- return suma / nro_calificaciones;
- }
- int contar_estudiante(double *estudiantes[],int nro_estudiantes,int nro_calificaciones, int opcion){
- int conteo = 0;
- switch(opcion){
- case CONTAR_APROBADOS:
- for(int e = 0; e < nro_estudiantes; ++e)
- if(estudiante_aprobo(calc_promedio_estudiante(estudiantes[e],nro_calificaciones)))
- ++conteo;
- break;
- case CONTAR_REPROBADOS:
- for(int e = 0; e < nro_estudiantes; ++e)
- if(!estudiante_aprobo(calc_promedio_estudiante(estudiantes[e],nro_calificaciones)))
- ++conteo;
- break;
- }
- return conteo;
- }
- void mostrar_resultados(double *estudiantes[], int nro_estudiantes, int nro_calificaciones){
- for(int operacion = 0; operacion < 2; ++operacion){
- switch(operacion){
- case CONTAR_APROBADOS :
- std::cout <<"nro de aprobados = " << contar_estudiante(estudiantes,nro_estudiantes,nro_calificaciones,CONTAR_APROBADOS);
- std::cout << std::endl;
- break;
- case CONTAR_REPROBADOS :
- std::cout <<"nro de reprobados = " << contar_estudiante(estudiantes,nro_estudiantes,nro_calificaciones,CONTAR_REPROBADOS);
- std::cout << std::endl;
- break;
- }
- }
- }
- int main()
- {
- double *estudiantes[MAX_ALUMNOS];
- int nro_calificaciones,nro_estudiantes;
- std::cout << "nro de estudiantes? : ";
- std::cin >> nro_estudiantes;
- std::cout << std::endl;
- std::cout << "nro de calificaciones? : ";
- std::cin >> nro_calificaciones;
- std::cout << std::endl;
- alocar_memoria(estudiantes,nro_estudiantes, nro_calificaciones);
- registrar_calificaciones(estudiantes,nro_estudiantes,nro_calificaciones);
- mostrar_resultados(estudiantes,nro_estudiantes,nro_calificaciones);
- de_alocar_memoria(estudiantes,nro_estudiantes);
- std::cin.ignore();
- std::cin.get();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement