Hola a todos. soy estudiante de informatica y nuevo en esto de programar, y estoy necesitando ayuda con la resolucion de un ejercicio.
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:
#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