博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
采集人的身高体重,计算体脂率,判断健康情况
阅读量:4117 次
发布时间:2019-05-25

本文共 6452 字,大约阅读时间需要 21 分钟。

#include"BFR.h"#include"stdio.h"#include
double BfrFemaleLimits18_39[] = { 5.0, 20.5, 34.5, 39.5, 45.01 };double BfrFemaleLimits40_59[] = { 5.0, 21.5, 35.5, 40.5, 45.01 };double BfrFemaleLimits60[] = { 5.0, 22.5, 36.5, 41.5, 45.01 };double BfrMaleLimits18_39[] = { 5.0, 10.5, 21.5, 26.5, 45.01 };double BfrMaleLimits40_59[] = { 5.0, 11.5, 22.5, 27.5, 45.01 };double BfrMaleLimits60[] = { 5.0, 13.5, 24.5, 29.5, 45.01 };char *Result[] = { "Thin", "Normal", "Overweight", "Fat", "Illegal" }; int AgeLimits[] = { 18, 40, 60, 81 };float Get_height(void){ float Height = 0.0; printf("Enter a people's Height:"); scanf_s("%f", &Height); if ((HEIGHT_MIN >= Height) && (Height >= HEIGHT_MAX)) { printf("Error within height\n"); } else { printf("Height=%.2f m\n", Height); } return Height;}float Get_weight(void){ float Weight = 0.0; printf("Enter a people's Weight:"); scanf_s("%f", &Weight); if ((WEIGHT_MIN >= Weight) && (WEIGHT_MAX >= Weight)) { printf("Error within weight\n"); } else { printf("weight=%.3f kg\n", Weight); } return Weight;}int Get_age(void){ int Age = 0; printf("Enter a people's Age:"); scanf_s("%d", &Age); if ((AGE_MIN >= Age) && (AGE_MAX <= Age)) { printf("Error within Age\n"); } else { printf("age=%d\n", Age); } return Age;}int Judge_sex(void){ //0表示女,1表示男 int Sex=0; printf("Enter a people's Sex:"); scanf_s("%d", &Sex); if ((0 == Sex) || (1 == Sex)) ; else { printf("Error in sex,please input again\n"); } return Sex;}void JudgeFemaleBfr(double Bfr, int Age){ int AgeIndex = 0; int BfrIndex = 0; int ResultFlag = 0; if (Age < AgeLimits[0]) { ResultFlag = 4; } if ((Age >= AgeLimits[0]) && (Age < AgeLimits[1])) { if (Bfr < BfrFemaleLimits18_39[0]) { ResultFlag = 4; } if ((Bfr >= BfrFemaleLimits18_39[0]) && (Bfr < BfrFemaleLimits18_39[1])) { ResultFlag = 0; } if ((Bfr >= BfrFemaleLimits18_39[1]) && (Bfr < BfrFemaleLimits18_39[2])) { ResultFlag = 1; } if ((Bfr >= BfrFemaleLimits18_39[2]) && (Bfr < BfrFemaleLimits18_39[3])) { ResultFlag = 2; } if ((Bfr >= BfrFemaleLimits18_39[3]) && (Bfr < BfrFemaleLimits18_39[4])) { ResultFlag = 3; } if ((Bfr >= BfrFemaleLimits18_39[4])) { ResultFlag = 4; } } if ((Age >= AgeLimits[1]) && (Age < AgeLimits[2])) { if (Bfr < BfrFemaleLimits40_59[0]) { ResultFlag = 4; } else if ((BfrFemaleLimits40_59[0] <= Bfr) && (Bfr < BfrFemaleLimits40_59[1])) { ResultFlag = 0; } else if ((BfrFemaleLimits40_59[1] <= Bfr) && (Bfr < BfrFemaleLimits40_59[2])) { ResultFlag = 1; } else if ((BfrFemaleLimits40_59[2] <= Bfr) && (Bfr < BfrFemaleLimits40_59[3])) { ResultFlag = 2; } else if ((BfrFemaleLimits40_59[3] <= Bfr) && (Bfr < BfrFemaleLimits40_59[4])) { ResultFlag = 3; } else { ResultFlag = 4; } return; } if ((Age >= AgeLimits[2]) && (Age < AgeLimits[3])) { if (Bfr < BfrFemaleLimits60[0]) { ResultFlag = 4; } else if ((BfrFemaleLimits60[0] <= Bfr) && (Bfr < BfrFemaleLimits60[1])) { ResultFlag = 0; } else if ((BfrFemaleLimits60[1] <= Bfr) && (Bfr < BfrFemaleLimits60[2])) { ResultFlag = 1; } else if ((BfrFemaleLimits60[2] <= Bfr) && (Bfr < BfrFemaleLimits60[3])) { ResultFlag = 2; } else if ((BfrFemaleLimits60[3] <= Bfr) && (Bfr < BfrFemaleLimits60[4])) { ResultFlag = 3; } else { ResultFlag = 4; } switch (ResultFlag) { case 0: printf("result = %s \n", Result[ResultFlag]); break; case 1: printf("result = %s \n", Result[ResultFlag]); break; case 2: printf("result = %s \n", Result[ResultFlag]); break; case 3: printf("result = %s \n",Result[ResultFlag]); break; default: printf("ERROR!result = %s\n", Result[4]); } return; } if (Age >= AgeLimits[3]) { ResultFlag = 4; } return;}void JudgeMaleBfr(double Bfr, int Age){ int AgeIndex = 0; int BfrIndex = 0; int ResultFlag = 0; if (Age < AgeLimits[0]) { ResultFlag = 4; } if ((Age >= AgeLimits[0]) && (Age < AgeLimits[1])) { if (Bfr < BfrMaleLimits18_39[0]) { ResultFlag = 4; } if ((Bfr >= BfrMaleLimits18_39[0]) && (Bfr < BfrMaleLimits18_39[1])) { ResultFlag = 0; } if ((Bfr >= BfrMaleLimits18_39[1]) && (Bfr < BfrMaleLimits18_39[2])) { ResultFlag = 1; } if ((Bfr >= BfrMaleLimits18_39[2]) && (Bfr < BfrMaleLimits18_39[3])) { ResultFlag = 2; } if ((Bfr >= BfrMaleLimits18_39[3]) && (Bfr < BfrMaleLimits18_39[4])) { ResultFlag = 3; } if ((Bfr >= BfrMaleLimits18_39[4])) { ResultFlag = 4; } } if ((Age >= AgeLimits[1]) && (Age < AgeLimits[2])) { if (Bfr < BfrMaleLimits40_59[0]) { ResultFlag = 4; } else if ((BfrMaleLimits40_59[0] <= Bfr) && (Bfr < BfrMaleLimits40_59[1])) { ResultFlag = 0; } else if ((BfrMaleLimits40_59[1] <= Bfr) && (Bfr < BfrMaleLimits40_59[2])) { ResultFlag = 1; } else if ((BfrMaleLimits40_59[2] <= Bfr) && (Bfr < BfrMaleLimits40_59[3])) { ResultFlag = 2; } else if ((BfrMaleLimits40_59[3] <= Bfr) && (Bfr < BfrMaleLimits40_59[4])) { ResultFlag = 3; } else { ResultFlag = 4; } return; } if ((Age >= AgeLimits[2]) && (Age < AgeLimits[3])) { if (Bfr < BfrMaleLimits60[0]) { ResultFlag = 4; } else if ((BfrMaleLimits60[0] <= Bfr) && (Bfr < BfrMaleLimits60[1])) { ResultFlag = 0; } else if ((BfrMaleLimits60[1] <= Bfr) && (Bfr < BfrMaleLimits60[2])) { ResultFlag = 1; } else if ((BfrMaleLimits60[2] <= Bfr) && (Bfr
= AgeLimits[3]) { ResultFlag = 4; } return;}
#ifndef _BFR_H_ #define _BFR_H_ #include
#define BMI(Weight,Height) ((Weight) / ((Height)*(Height)))#define BFR(Bmi,Age,Sex) (1.2*(Bmi)+0.23*(Age)-5.4-10.8*(Sex))#define HEIGHT_MAX (2.8)#define HEIGHT_MIN (0.56)#define WEIGHT_MAX (330.0)#define WEIGHT_MIN (2.12)#define AGE_MAX (80)#define AGE_MIN (18)float Get_height(void);float Get_weight(void);int Get_age(void);int Judge_sex(void);void JudgeFemaleBfr(double Bfr, int Age);void JudgeMaleBfr(double Bfr, int Age);#endif
#include"BFR.h"#include
#include"windows.h"int main(){ //采集信息:身高,体重,年龄和性别 float Height = 0.0; float Weight = 0.0; int Age = 0; int Sex = 0; double Bmi = 0.0; double Bfr = 0.0; Height = Get_height(); Weight = Get_weight(); Age = Get_age(); Sex = Judge_sex(); /*printf("Height=%.2f m\n", Height); printf("weight=%.3f kg\n", Weight); printf("age=%d\n", Age);*/ printf("Sex=%s\n", Sex == 0 ? "famale" : "male"); //计算Bmi Bmi = BMI(Weight,Height); //计算Bfr Bfr = BFR(Bmi, Age, Sex); printf("Bmi=%.2f \n", Bmi); printf("Bfr=%.2f \n", Bfr); //判断Bfr if (Sex == 0) { JudgeFemaleBfr(Bfr, Age); } else { JudgeMaleBfr(Bfr, Age); } system("pause"); return 0;}

 

转载地址:http://rqypi.baihongyu.com/

你可能感兴趣的文章
层在页面中的定位
查看>>
[转]C语言printf
查看>>
C 语言 学习---获取文本框内容及字符串拼接
查看>>
C 语言学习 --设置文本框内容及进制转换
查看>>
C 语言 学习---判断文本框取得的数是否是整数
查看>>
C 语言 学习---ComboBox相关、简单计算器
查看>>
C 语言 学习---ComboBox相关、简易“假”管理系统
查看>>
C 语言 学习---回调、时间定时更新程序
查看>>
C 语言 学习---复选框及列表框的使用
查看>>
第四章 - 程序计数器
查看>>
第七章 - 本地方法栈
查看>>
第十一章 - 直接内存
查看>>
JDBC核心技术 - 上篇
查看>>
JDBC核心技术 - 下篇
查看>>
一篇搞懂Java反射机制
查看>>
【2021-MOOC-浙江大学-陈越、何钦铭-数据结构】树
查看>>
MySQL主从复制不一致的原因以及解决方法
查看>>
RedisTemplate的key默认序列化器问题
查看>>
序列化与自定义序列化
查看>>
ThreadLocal
查看>>