首页 > 代码库 > 第十七周项目3 - 胖子伤不起

第十七周项目3 - 胖子伤不起

根据世界卫生组织推荐的体重标准,男性的标准体重=(身高cm-80)×70﹪,女性的标准体重=(身高cm-70)×60﹪。标准体重正负10﹪为正常体重;标准体重正负10﹪~ 20﹪为体重过重或过轻;标准体重正负20﹪以上为肥胖或体重不足,其中超重计算公式为:超重(%)=[(实际体重-标准体重)/(标准体重)]×100%,体重的单位是kg。
请编程序,输入一个人的姓名、性别、身高、体重,用一句人性味浓的话语输出其体重情况(正常、过重、过轻、肥胖或体重不足),这个程序可以用于体重计上为人们实时报告体重情况。

要求使用结构体类型表示人的相关信息。

/*
* Copyright (c) 2014,烟台大学计算机学院
* All right reserved.
* 作者:邵帅
* 文件:demo.cpp
* 完成时间:2014年12月17日
* 版本号:v1.0
*/
#include <iostream>
#include<string>
#include<iomanip>
using namespace std;
struct persion
{
    char name[20];
    char sex;
    int hight;
    double weight;
    string state;
};
double s_weight(int h,char sex);
int main()
{
    persion stu;
    double s1_weight,how;
    cout<<"请依次输入姓名、性别(M or F)、身高、体重:"<<endl;
    cin>>stu.name>>stu.sex>>stu.hight>>stu.weight;
    s1_weight=s_weight(stu.hight,stu.sex);
    if (stu.weight>s1_weight*0.9 && stu.weight<s1_weight*1.1)
        stu.state="正常";
    else if (stu.weight>s1_weight*1.1 && stu.weight<s1_weight*1.2)
        stu.state="过重";
    else if (stu.weight>s1_weight*0.8 && stu.weight<s1_weight*0.9)
        stu.state="过轻";
    else if (stu.weight>s1_weight*1.2)
        stu.state="肥胖,您超重:";
    else if (stu.weight<s1_weight*0.8)
        stu.state="体重不足";
    how=((stu.weight-s1_weight)/(s1_weight))*100;
    cout<<"姓名:"<<stu.name<<" 性别:"<<stu.sex<<" 身高:"<<stu.hight<<" 体重:"<<stu.weight<<"KG 状态:"<<stu.state;
    if (stu.weight>s1_weight*1.2)
    cout<<setprecision(3);
        cout<<how<<"%";
}
double s_weight(int h,char sex)
{
    double weight;
    if (sex=='M')
        weight=(h-80)*0.7;
    else if (sex=='F')
        weight=(h-70)*0.6;
    return weight;
}
运行结果:



@ Mayuko

第十七周项目3 - 胖子伤不起