|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
%设计一个学生体重指数BMI管理系统,输入年级、性别、身高、体重,输出体重指数及相应评价:正常、低体重、超重、肥胖.
" T! H4 _) ~/ A/ q' j- _+ S%所测试年级只能为'一年级','二年级','三年级','四年级','五年级','六年级','初一','初二','初三','高一','高二','高三','大学',其余输入将会提示错误!" e! O4 z' Y8 {5 o5 V% Q8 q9 M
%若需要测试其它人群体重指数,请修改相应代码,具体修改处请见'%%...修改处!'( F% m2 ]* d1 u- _; v& J% ~
%本代码运行一次只能测试一个人,若要一次性测试指定人数,请自行修改相应代码!
% V8 o! J# t+ E* h5 ?2 D: p' r7 J%主要参数说明:
) s' e+ q: a6 R$ a f2 j% }%b 体重指数* w5 Q2 U7 J+ N# x7 s/ l* B( E$ X
%h 身高
, N( ~' \# G2 A%w 体重
/ y7 C4 O3 M% _$ @( a+ |. h%a 年级
" M$ @: Y) F( B%g 性别$ G2 O* o5 s& d
clear
( H8 {3 y5 {2 ~- Q9 ?g={'一年级','二年级','三年级','四年级','五年级','六年级','初一','初二','初三','高一','高二','高三','大学'};%%年级及所属人群修改处!. u# Q G* c1 |. A
t=1;* u( G& G; V& E: q0 y# h
while(t)2 y9 |: p1 Y5 Z4 A7 o! a( ]
a=input('请输入所处年级(如一年级):','s');$ f- V* t' u; ~$ k H: z0 o6 R
n=length(g);
]: F/ @2 \1 h; i6 |9 h% W for j=1:n. F& @, W1 x1 L6 M, L2 D
c(j)=strcmp(g(j),a);%查找并判断所输年级是否存在g中
* j9 }& E0 ]1 X$ T8 a1 M, S2 J) @ d=length(find(c==1));9 o2 K: ?; k' @; c! ?' Y4 l
end
0 D7 {3 w( A: {8 w7 n+ T6 { if d==0
5 f1 u7 K. f4 T* ~4 h2 D disp('所输入年级格式有误或不存在,请重新输入年级!');
) U: Q1 A- } s3 j6 L else
. I/ B+ e. t1 x# q8 Y' K gender=input('请输入学生性别(男或女):','s');+ x7 {2 ?+ P$ e2 l: B+ j; T
if gender=='男'
2 |( e a# t" i5 z: ~ bm=[13.4 13.6 13.8 14.1 14.3 14.6 15.4 15.6 15.7 16.4 16.7 17.2 17.8; ... %%年级及所属人群男体重指数参考表修改处!
7 V8 a) x6 P, e 18.1 18.1 19.4 20.1 21.4 21.8 22.1 22.5 22.8 23.2 23.7 23.8 23.9; ...9 \8 X4 ` e5 Z% W* G7 R2 u6 F
20.3 20.4 22.1 22.6 24.1 24.5 24.9 25.2 26.0 26.3 26.5 27.3 27.9]; ... %男学生BMI体重指数参考表3 Z' B, I' a3 [6 g2 t8 ~7 l
else
1 K, I' \9 U& O/ I- l bm=[13.2 13.4 13.5 13.6 13.7 14.1 14.7 15.2 15.9 16.4 16.8 17.0 17.1; ... %%年级及所属人群女体重指数参考表修改处!
' g+ C. E8 Y/ ?# P5 e' o* t' ~( ~ 17.4 17.9 18.7 19.5 20.6 20.9 21.8 22.3 22.7 22.8 23.3 23.4 24.0; ...5 H* J( v4 S, ~5 |! T& o, T2 k% i) j9 E
19.3 20.3 21.2 22.1 23.0 23.7 24.5 24.9 25.2 25.3 25.5 25.8 28.0]; %女学生BMI体重指数参考表
; W+ f9 y. u0 U: v end; \, [7 o% l% q! p( Z: A
h=str2num(input('请输入身高(/m):','s'));4 Z k% x7 g7 z, U9 Z8 E5 T2 O
w=str2num(input('请输入体重(/kg):','s'));# w9 V/ a% x6 k7 X. T7 x
b=w/(h^2); %计算体重指数
3 G9 ^5 ?4 |, z) F b=vpa(b,3); %指数保留一位小数
0 O# t% S) ]: X/ p for i=1:n %计算体重指数并给出相应评价
y+ W3 ?, K$ D cc(i)=strcmp(g(i),a);1 h+ D! }. [, {2 [
while(cc(i)==1)
' r \8 u4 S6 _8 ]! w if b<=bm(1,i)
7 g+ {0 o- l; b fprintf('您的体重指数b=%3.1f kg/m^2\n体重指数:低体重\n',double(b));
# B3 p8 k" J- p elseif b<=bm(2,i)
) y$ |1 Q% [" P* R$ P fprintf('您的体重指数b=%3.1f kg/m^2\n体重指数:正常\n',double(b));
1 x1 Z: T$ P: P$ _ X' \ elseif b<=bm(3,i)+ M' c& B2 z' W1 Z1 {7 V% S$ \
fprintf('您的体重指数b=%3.1f kg/m^2\n体重指数:超重\n',double(b));- C' Q4 n1 o; j3 |: u
else
4 ~+ Z, @+ s; E5 @6 j fprintf('您的体重指数b=%3.1f kg/m^2\n体重指数:肥胖\n',double(b));
. D$ }( v8 W- S! I" J Q% v. Q end, ^6 i5 Q7 H. M6 [8 g
break;
$ T4 w! \# \0 \) K8 d end
" Y# E; H8 _- ]+ H0 I5 D: K8 M4 ^+ G end
0 L2 c: G) Y' b! D" `: i end8 \" K- k" K" P
if t==d %如果年级在所属范围之内,跳出循环,否则循环需重新输入年级: |( b b3 v! n; F( q
t=0;, B( ~' P: o7 E0 N6 p
else
6 A; y+ I( @! b$ N3 d3 O& C end
( @& z8 `! u9 Yend
/ a9 j+ W g5 ~& X! m) h" |$ z' k1 l
|
|