/* Copyright (c) 2013, 烟台大学计算机学院
* All rights reserved.
* 作 者: 沈远宏
* 完成日期:2014 年 2月 27日
* 版 本 号:v1.0
* 问题描述:编制一个程序,输入一个人的姓名,性别,身高,体重,要求使用结构体类型表示人的相关信息。用一句人性味浓的话语输出其体重情况(过重,过轻,肥胖或体重不足,正常,),这个程序可用于体重计上为人们实时报告体重情况。
【世界卫生组织推荐的体重标准】:
男性的标准体重=(身高cm-80)*70%
女性的体重标准=(身高cm-70)*60%
标准体重正负10%为正常体重,正负10%~20%为体重过重或过轻,正负20%以上为肥胖或体重不足。
超重%=[(实际体重-标准体重)/标准体重]*100%;
* 输出:该人的体重情况
*/#include <iostream>
using namespace std;
struct Someone//声明一个结构体类型Someone
{
char sex;//包括一个性别字符变量,女性用W,男性用M;
char name[20];//包括一个字符数组name,可以容纳20个字符;
double height;//包括一个身高浮点变量;
double weight;//包括一个体重浮点变量;
};
void count(char,double,double);
int main()
{
Someone sb;
cout << "请输入您的性别(男生请输入M,女生请输入W):" << endl;
cin>>sb.sex;
while(sb.sex!='M'&&sb.sex!='W')
{
cout<<"请重新输入:\n";
cin>>sb.sex;
}
cout<<"请输入您的姓名:\n";
cin>>sb.name;
cout<<"请输入您的身高(厘米)与体重(千克):\n";
cin>>sb.height>>sb.weight;
count(sb.sex,sb.height,sb.weight);
return 0;
}
void count(char s,double h,double w)
{
double standad_weight;
switch(s)
{
case 'M':
standad_weight=(h-80)*0.70;
break;
case 'W':
standad_weight=(h-70)*0.60;
break;
}
if(standad_weight*0.90<=w&&w<=standad_weight*1.10)cout<<"哦!!模特身材,人家羡慕嫉妒恨!!!\n";//体重正常
else if(standad_weight*1.10<w&&w<=standad_weight*1.20)cout<<"亲爱的其实你稍显丰满,小减一下回头率会更高哦\n";//体重过重
else if(standad_weight*0.80<=w&&w<standad_weight*0.90)cout<<"吃不胖的都有恃无恐!!!亲,你太瘦了!!\n";//体重过轻
else if(standad_weight*1.20<w)cout<<"我们需要减肥了哦,加油!相信我你本来就很美,木马\n";//肥胖
else if(w<standad_weight*0.80)cout<<"再这么瘦抱着就咯人了,多吃点肉吧!\n";//体重不足
}
运行结果:
心得体会:
我没用那个超重公式= =因为编完了才发现有这么个东西= = 这几个程序都带着回顾以前的知识的,做的时候很有感悟,不难但是细小的部分要注意,编程语言!!