/*
* 程序的版权和版本声明部分
* Copyright (c)2013, 在校学生
* All rightsreserved.
* 文件名称: 项目2.cpp
* 作 者:刘旺
* 完成日期:2014年3月14日
* 版本号: v1.0
*
* 输入描述:
* 问题描述:根据世界卫生组织推荐的体重标准,男性的标准体重=(身高cm-80)×70﹪,
* 女性的标准体重=(身高cm-70)×60﹪。标准体重正负10﹪为正常体重;标准体重正负10﹪~ 20﹪为体重过重或过轻;
* 标准体重正负20﹪以上为肥胖或体重不足,其中超重计算公式为:超重%=[(实际体重-标准体重)/(标准体重)]×100%,体重的单位是kg。
* 请编制一个程序,输入一个人的姓名、性别、身高、体重,用一句人性味浓的话语输出其体重情况(正常、过重、过轻、肥胖或体重不足),
* 这个程序可以用于体重计上为人们实时报告体重情况。要求使用结构体类型表示人的相关信息。
* 程序输出:
* 问题分析:
*/
#include <iostream>
#include <cstring>
using namespace std ;
void fun() ; //申明用来判断体重状态的函数
struct people{
char name[20] ;
char sex[2] ;
double height ;
double weight ;
};
void fun (people *p)
{
if(!strcmp(p->sex,"男"))
{
double w ;//男性的标准体重=(身高cm-80)×70﹪
w = (p->height - 80)*0.7 ;
if(p->weight <= (w+0.1*w)&&p->weight >= (w-0.1*w))
{
cout << "帅哥您的体重很正常" << endl ;
}
else if(p->weight > (w+0.2*w))
{
cout << "帅哥您的体重过重" << endl ;
cout << "超重" << (p->weight-w)/w*100 << '%' << endl ;//超重%=[(实际体重-标准体重)/(标准体重)]×100%,体重的单位是kg。
}
else if(p->weight < (w-0.2*w))
{
cout << "帅哥您的体重过轻" << endl ;
}
}
else
{
double s ;//男性的标准体重=(身高cm-80)×70﹪
s = (p->height - 70)*0.6 ;
if(p->weight <= (s+0.1*s)&&p->weight >= (s-0.1*s))
{
cout << "美女您的体重很正常" << endl ;
}
else if(p->weight > (s+0.2*s))
{
cout << "美女您的体重过重" << endl ;
cout << "超重" << (p->weight-s)/s*100 << '%' << endl ;
}
else if(p->weight < (s-0.2*s))
{
cout << "美女您的体重过轻" << endl ;
}
}
}
int main()
{
people *p = new people ; //为成员开辟空间
cout << "请输入您的姓名:" ;
cin >> p->name ;
cout << "请输入您的性别:" ;
cin >> p->sex ;
cout << "请输入您的身高(cm):" ;
cin >> p->height ;
cout << "请输入您的体重(kg):" ;
cin >> p->weight ;
cout << "结果:" << endl ;
fun(p) ;
delete p ;
return 0 ;
}
嘿嘿其实编程真的很有趣。