Promedio
Posted on July 17th, 2005 in C++, Código | No Comments »
Programa en c++ que trata de creación de grupos de estudiantes, con alta de alumnos, calificaciones, promedios, alumnos reprobados, aprobados y totales
C++:
-
#include<iostream>
-
#include<vector>
-
#include<string>
-
#include<cstdlib>
-
-
using namespace std;
-
-
class Grupo
-
{
-
private:
-
vector<string> alumnos;
-
vector<int> calificaciones;
-
string nombre;
-
-
static const int REPROBATORIA = 5;
-
public:
-
int size;
-
Grupo(): nombre(""), size(0)
-
{
-
-
}
-
Grupo(string nombre) : nombre(nombre), size(0)
-
{
-
-
}
-
-
void insertaAlumno(string alumno, int calificacion)
-
{
-
alumnos.push_back(alumno);
-
calificaciones.push_back(calificacion);
-
size++;
-
}
-
-
double promedioGrupo()
-
{
-
int total = 0;
-
if(calificaciones.size() == 0) return 0;
-
try
-
{
-
for(int i = 0; i <calificaciones.size(); i++)
-
total += calificaciones[i];
-
-
return total / calificaciones.size();
-
}
-
catch(char * str){return 0;}
-
}
-
-
int reprobados()
-
{
-
int total = 0;
-
for(int i = 0; i <calificaciones.size(); i++)
-
total = (calificaciones[i]> REPROBATORIA)? total : total + 1;
-
-
-
return total;
-
}
-
-
friend ostream& operator <<(ostream& out, Grupo &rsh)
-
{
-
out <<"Grupo: " <<rsh.nombre <<endl;
-
for(int i = 0; i <rsh.alumnos.size(); i++)
-
out <<"Alumno: " <<rsh.alumnos[i] <<" calificacion: " <<rsh.calificaciones[i] <<endl;
-
out <<" Alumnos reprobados: " <<rsh.reprobados() <<endl;
-
out <<" Alumnos aprobados: " <<rsh.alumnos.size() - rsh.reprobados() <<endl;
-
out <<" Promedio del grupo: " <<rsh.promedioGrupo();
-
out <<" Alumnos en total: " <<rsh.size;
-
-
return out;
-
}
-
};
-
-
int main()
-
{
-
int choice;
-
Grupo grupo("Matematicas");
-
inicio:
-
while (choice != 3)
-
{
-
cout <<"Bienvenido al sistema de alumnos" <<endl;
-
cout <<"Que desea hacer? " <<endl;
-
cout <<"1 .- Agregar un alumno" <<endl;
-
cout <<"2 .- Ver estadisticas del grupo" <<endl;
-
cout <<"3 .- Salir" <<endl;
-
cin>> choice;
-
-
-
switch(choice)
-
{
-
case(2):
-
if(grupo.size == 0)
-
{
-
cout <<"El grupo no tiene alumnos registrados " <<endl;
-
break;
-
}
-
cout <<grupo <<endl;
-
goto inicio;
-
break;
-
case(1):
-
char* nombre;
-
int calif;
-
cout <<"Nombre: " <<endl;
-
cin>> nombre;
-
cout <<"Calificacion:" <<endl;
-
cin>> calif;
-
grupo.insertaAlumno(nombre,calif);
-
goto inicio;
-
break;
-
case(3):
-
return EXIT_SUCCESS;
-
break;
-
}// case switch
-
cin>> choice;
-
}
-
-
-
return EXIT_SUCCESS;
-
}// main


