#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#define COL 6
#define FIL 5
void IMC(float peso[FIL][COL],float estatura[FIL][COL],float IMC[FIL][COL])
{
int a,r,i=0;
printf("Persona\tIMC\n");
for(a=0;a<FIL;a++)
{
for(r=0;r<COL;r++)
{
i++;
IMC[a][r]=(peso[a][r]/pow(estatura[a][r],2));
printf("%d\t%f\n",i,IMC[a][r]);
}
}
}
//a)
void dato_peso(float peso[FIL][COL],int persona[FIL][COL])
{
int a,r;
for(a=0;a<FIL;a++)
{
for(r=0;r<COL;r++)
{
printf("Ingrese el peso de la persona %d\n",persona[a][r]);
scanf("%f",&peso[a][r]);
system("cls");
}
}
}
//b)
void dato_estatura(float estatura[FIL][COL],int persona[FIL][COL])
{
int a,r;
for(a=0;a<FIL;a++)
{
for(r=0;r<COL;r++)
{
printf("Ingresa la estatura de la persona %d\n",persona[a][r]);
scanf("%f",&estatura[a][r]);
system("cls");
}
}
}
//c)
void despliegue(float estatura[FIL][COL],float peso[FIL][COL],int persona[FIL][COL])
{
int a,r;
printf("\t\tTabla\nPersona\tPeso\t\tEstatura\n");
for(a=0;a<FIL;a++)
{
for(r=0;r<COL;r++)
{
printf("%d\t%f\t%f\n",persona[a][r],peso[a][r],estatura[a][r]);
}
}
}
//d)
void indi_IMC(float IMC[FIL][COL],int persona[FIL][COL])
{
int a,r;
printf("\t\tTabla 1\nPersona\t\tIMC\t\tEstado\n");
for(a=0;a<FIL;a++)
{
for(r=0;r<COL;r++)
{
printf("%d\t%f\t",persona[a][r],IMC[a][r]);
if(IMC[a][r]<18.5)
printf("Bajo Peso\n");
if(IMC[a][r]>18.5&&IMC[a][r]<25)
printf("Peso normal\n");
if(IMC[a][r]>25&&IMC[a][r]<30)
printf("Sobre peso\n");
if(IMC[a][r]>30&&IMC[a][r]<40)
printf("Obesidad\n");
if(IMC[a][r]>40)
printf("Obesidad morbida\n");
}
}
}
//e)
void max_min(float IMC[FIL][COL],int per[FIL][COL])
{
int a,r,max1=per[0][0],min1=per[0][0];
float max=IMC[0][0],min=IMC[0][0];
for(a=0;a<FIL;a++)
{
for(r=0;r<COL;r++)
{
if(IMC[a][r]>max)
{
max=IMC[a][r];
max1=per[a][r];
}
if(IMC[a][r]<min)
{
min=IMC[a][r];
min1=per[a][r];
}
}
}printf("El IMC mas alto es de la persona %d y es=%f\nEl IMC mas bajo es de la persona %d y es=%f",max1,max,min1,min);
}
//f)
void promedio(float IMC[FIL][COL])
{
int a,r;
float suma=0;
for(a=0;a<FIL;a++)
{
for(r=0;r<COL;r++)
{
suma+=IMC[a][r];
}
}printf("EL promedio del IMC es=%f",suma/(FIL*COL));
}
void persona(int persona[FIL][COL])
{
int a,r,i=0;
for(a=0;a<FIL;a++)
{
for(r=0;r<COL;r++)
{
i++;
persona[a][r]=i;
}
}
}
void menu()
{
int per[FIL][COL],x;
float IMc[FIL][COL],peso[FIL][COL],estatura[FIL][COL];
persona(per);
for(;;)
{
system("cls");
printf("\tMenu:\n1-Ingresar peso\n2-Ingresar estatura\n3-Calcular IMC\n4-Desplegar datos\n5-Tabla de indicadores\n6-Maximo y Minimo\n7-Promedio\n8-Salir\n");
scanf("%d",&x);
system("cls");
switch(x)
{
case 1:dato_peso(peso,per);
system("pause>null");
break;
case 2:dato_estatura(estatura,per);
system("pause>null");
break;
case 3:IMC(peso,estatura,IMc);
system("pause>null");
break;
case 4:despliegue(estatura,peso,per);
system("pause>null");
break;
case 5:indi_IMC(IMc,per);
system("pause>null");
break;
case 6:max_min(IMc,per);
system("pause>null");
break;
case 7:promedio(IMc);
system("pause>null");
break;
case 8:exit(0);
system("pause>null");
break;
default:printf("Ese numero no existe");
break;
}
}
}
int main()
{
menu();
}