#include <iostream>
using namespace std;
void Error();
struct Alumnado
{
char sexo, estadoCivil;
int edad;
float nota;
};
int main()
{
int cantidad, mujeresSolterasEntre40y60 = 0, hombresDivorciados = 0, edadPromedioViudos = 0, porcentajeMujeres = 0, casadosMenos30 = 0, porcentajeAlumnosAprobados = 0, porcentajeAlumnosReprobados = 0;
float notaPromedioGrupo = 0;
cout << "A cuantas personas se van a evaluar?\n>>> ";
cin >> cantidad;
Alumnado alumno[cantidad];
for(int i = 0; i < cantidad; i++)
{
cout << "Cual es la edad del alumno " << i+1 << "\n>>> ";
cin >> alumno[i].edad;
cout << "Cual es el sexo del alumno " << i+1 <<" (aprete una tecla para: F = femenino; M = Masculino)\n>>> ";
cin >> alumno[i].sexo;
alumno[i].sexo = (char) toupper(alumno[i].sexo);
if(alumno[i].sexo != 'F' && alumno[i].sexo != 'M') //Para prevenir que el usuario teclee algo diferente
Error();
cout << "Cual es el estado civil del alumno "<< i+1 << " (aprete una tecla para: S = Soltero; C = Casado; D = Divorciado; V = Viudo) \n>>> ";
cin >> alumno[i].estadoCivil;
alumno[i].estadoCivil = (char) toupper(alumno[i].estadoCivil);
if(alumno[i].estadoCivil != 'S' && alumno[i].estadoCivil != 'C' && alumno[i].estadoCivil != 'D' && alumno[i].estadoCivil != 'V')
Error();
cout << "Cual es la nota del alumno "<< i+1 <<" \n>>> ";
cin >> alumno[i].nota;
notaPromedioGrupo += alumno[i].nota; //Nota promedio en el grupo de alumnos.
if (alumno[i].nota >= 80)//sumamos para aprobados y reprobados
porcentajeAlumnosAprobados++;
else
porcentajeAlumnosReprobados++;
if(alumno[i].sexo == 'F' && alumno[i].estadoCivil == 'S' && alumno[i].edad >= 40 && alumno[i].edad <= 60)//Cantidad de personas de sexo femenino, solteras con edad entre 40 y 60 años.
mujeresSolterasEntre40y60++;
else if(alumno[i].sexo == 'M' && alumno[i].estadoCivil == 'D')//Cantidad de personas de sexo masculino que están divorciados.
hombresDivorciados++;
else if(alumno[i].sexo == 'F')//sumamos para despues sacar porcentaje de personas de sexo femenino en el grupo.
porcentajeMujeres++;
if(alumno[i].estadoCivil == 'C' && alumno[i].edad < 30)//Cantidad de personas casadas, menores de 30 años.
casadosMenos30++;
else if(alumno[i].estadoCivil == 'V')//sumamos para despues sacar la edad promedio entre las personas viudas.
edadPromedioViudos += alumno[i].edad;
}
cout << "la edad promedio entre las personas viudas son: " << edadPromedioViudos/cantidad;
cout << "\n-----------------------------------\n";
cout << "Cantidad de personas de sexo femenino, solteras con edad entre 40 y 60 anios son: " << mujeresSolterasEntre40y60;
cout << "\n-----------------------------------\n";
cout << "Cantidad de personas de sexo masculino que estan divorciados son: " << hombresDivorciados;
cout << "\n-----------------------------------\n";
cout << "Cantidad de personas casadas, menores de 30 anios son: " << casadosMenos30;
cout << "\n-----------------------------------\n";
cout << "El porcentaje de personas de sexo femenino en el grupo son: " << (porcentajeMujeres*100)/cantidad; // comprobar [porcentaje de personas de sexo femenino en el grupo.]
cout << "\n-----------------------------------\n";
cout << "La nota promedio en el grupo de alumnos es: " << (float)notaPromedioGrupo/cantidad; //nota promedio del grupo
cout << "\n-----------------------------------\n";
cout << "El porcentaje de alumnos aprobados son: " << (porcentajeAlumnosAprobados*100)/cantidad; //Porcentaje de alumnos aprobados.
cout << "\n-----------------------------------\n";
cout << "El porcentaje de alumnos reprobados son: " << (porcentajeAlumnosReprobados*100)/cantidad; //Porcentaje de alumnos reprobados.
exit(0);
}
void Error() //esta función sirve para prevenir que el usuario ponga datos incorrectos
{
cout << "Ha ingresado un dato no valido, volvamos al inicio...\n";
system("PAUSE && cls");
main();
}