struct estudiante {
string apellidos ;
string nombres ;
int anioIngreso ;
int anioActual ;
float promedio ;
} ;
struct recibido {
string apellidos ;
string nombres ;
int anioEgreso ;
float promedio ;
} ;
bool continuar () ;
bool tipoIngreso () ;
estudiante ingresoEstudiante () ;
recibido ingresoRecibido () ;
estudiante mayorPromedioE (estudiante mayorPromE , estudiante ingresoE) ;
recibido mayorPromedioR (recibido mayorPromR , recibido ingresoR) ;
void display (int cantidad , float sumaPromedios , estudiante mayorPromE , recibido mayorPromR) ;
int main () {
int cantidad = 0 ;
bool cont , tipo;
float sumaPromedios ;
estudiante ingresoE , mayorPromE = {"" , "" , 0 , 0 , 0};
recibido ingresoR , mayorPromR = {"" , "" , 0 , 0};
do {
cantidad++ ;
tipo = tipoIngreso () ;
if (tipo = true) {
ingresoE = ingresoEstudiante () ;
mayorPromE = mayorPromedioE (mayorPromE , ingresoE) ;
sumaPromedios += ingresoEstudiante.promedio ;
}
else {
ingresoR = ingresoRecibido () ;
mayorPromR = mayorPromedioR (mayorPromR , ingresoR) ;
sumaPromedios += ingresoRecibido.promedio ;
}
cont = continuar () ;
} while (cont == true) ;
display(cantidad , sumaPromedios , mayorPromE , mayorPromR) ;
return 0 ;
}
estudiante ingresoEstudiante () {
estudiante ingreso ;
cin.ignore() ;
cout << "Ingrese los datos del estudiante" << endl ;
do {
cout << "Apellido: " ; getline(cin , estudiante.apellidos) ;
} while (estudiante.apellidos == "") ;
do {
cout << "Nombre: " ; getline(cin , estudiante.nombres) ;
} while (estudiante.nombres == "") ;
do {
cout << "Año de ingreso (posterior a 2011): " ; cin >> estudiante.anioIngreso ;
} while (estudiante.anioIngreso <= 2011) ;
do {
cout << "Año actual (entre 1 y 5): " ; cin >> estudiante.anioActual ;
} while (estudiante.anioActual < 1 and estudiante.anioActual > 5) ;
do {
cout << "Promedio: " ; cin >> estudiante.promedio ;
} while (estudiante.promedio > 10) ;
return ingreso ;
}
The line that's giving me a problem right now is this one:
sumaPromedios += ingresoEstudiante.promedio ;
What I'm not sure is if you can't pick up a number from a struct (in this case the float promedio) and add it to a variable in main (sumaPromedios). Did i do something wrong or do i have to find a way around this?
The error the compiler is giving me is this one:
"[Error] request for member 'promedio' in 'ingresoEstudiante', which is of non-class type 'estudiante()'"