el ej. es el siguiente: utilice la definicion typedef struct{char ape_nom[40]; int edad; float altura,peso}paciente; para diseñar una funcion llamada masacorp55 que obtenga los datos del paciente mayor a 55 años de mayor valor de masa corporal. la funcion debe recibir entre sus parametros un arreglo con los datos de N pacientes. masa corporal= peso/altura^2. escriba un prog. cliente. que ingrese los datos de n pacientes y muestre los dtos de la persona de mayor masa corporal.
hasta ahora este es el algoritmo que pude programar:
Código
#include <iostream> #include <string> using namespace std; typedef struct{ char ape_nom[40]; int edad; float altura, peso;} paciente; paciente masacorp55(paciente x[], int n){ float masa; float maxmas=1; for (int i=0; i<n; i++){ if (x[i].edad>55){ masa=x[i].peso/(x[i].altura*x[i].altura); if(masa>maxmas){ maxmas=masa; x[i]=maxmas; } } } return x[i]; } int main(int argc, char *argv[]) { paciente A[1000]; int n; cout<<"ingrese num. de pacientes"; cin>>n; int i; for (int i=0; i<n; i++){ cout<<"nombre del paciente"; cin.getline (A[i].ape_nom,40); cout<<"edad"; cin>>A[i].edad; cout<<"altura"; cin>>A[i].altura; cout<<"peso"; cin>>A[i].peso; } masacorp55(A[i],n); cout<<masacorp55; return 0; }
pero me tira un error. no puedo asignar a A, maxmas ya que uno es un struct y el otro tipo float. Que sugerencias y correcciones pueden aportarme?. gracias por su tiempo