问题及代码:
/*
* Copyright (c) 2014, 烟台大学计算机学院
* All rights reserved.
* 文件名称:Project4.cpp
* 作 者:陈旭
* 完成日期:2014年12月22日
* 版 本 号:v1.0
*
* 问题描述:输入一个人的姓名,性别,身高,体重,输出这个人的相关体重情况
* 输入描述:略
* 程序输出:略
*/
#include <iostream>
using namespace std;
struct person
{
char name[15];
char sex;
double high;
double weight;
} per;
int main()
{
double aveweight,rate;
cout <<"请输入姓名:";
cin>>per.name;
cout<<"输入性别(男士'b'or女士'g'):";
cin >>per.sex;
while(per.sex!='b'&&per.sex!='g')
{
cout <<"对不起,无法判断性别,请重新输入:";
cin >>per.sex;
}
cout <<"输入身高(cm)和体重(kg):";
cin >>per.high>>per.weight;
if(per.sex=='b')
{
aveweight=(per.high-80)*0.7;
if(per.weight<(aveweight*0.8))
cout <<"您的体重严重不足,需要注意了!"<<endl;
if((per.weight>=aveweight*0.8)&&(per.weight<=aveweight*0.9))
cout <<"您的体重过轻,需要多吃点了!"<<endl;
if((per.weight>aveweight*0.9)&&(per.weight<aveweight*1.1))
cout <<"您的身材非常标准,注意保持哦!"<<endl;
if((per.weight>=aveweight*1.1)&&(per.weight<=aveweight*1.2))
{
rate=(per.weight-aveweight)/aveweight;
cout <<"啊哦,你的体重稍微有点重了,超重指数为"<<rate<<"希望多注意点饮食哦!"<<endl;
}
if(per.weight>(aveweight*1.2))
{
rate=(per.weight-aveweight)/aveweight;
cout <<"您是真的超重了,超重指数为"<<rate<<"可能需要多锻炼注意饮食保重身体哦!"<<endl;
}
}
if(per.sex=='g')
{
aveweight=(per.high-70)*0.6;
if(per.weight<(aveweight*0.8))
cout <<"您的体重严重不足,需要注意了!"<<endl;
if((per.weight>=aveweight*0.8)&&(per.weight<=aveweight*0.9))
cout <<"您的体重过轻,需要多吃点了!"<<endl;
if((per.weight>aveweight*0.9)&&(per.weight<aveweight*1.1))
cout <<"您的身材非常标准,注意保持哦!"<<endl;
if((per.weight>=aveweight*1.1)&&(per.weight<=aveweight*1.2))
{
rate=(per.weight-aveweight)/aveweight;
cout <<"啊哦,你的体重稍微有点重了,超重指数为"<<rate<<"希望多注意点饮食哦!"<<endl;
}
if(per.weight>(aveweight*1.2))
{
rate=(per.weight-aveweight)/aveweight;
cout <<"您是真的超重了,超重指数为"<<rate<<"可能需要多锻炼注意饮食保重身体哦!"<<endl;
}
}
return 0;
}
运行结果:
知识点总结:
通过这个程序的编写,让我们对结构体类型表示有了个简单的认识与实践运用。
学习心得:
天啊,这个长长长长的程序编写真的要人命啊,一不注意就有很多错误,不过还好写出来了,有很大的成就感。