|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
%设计一个学生体重指数BMI管理系统,输入年级、性别、身高、体重,输出体重指数及相应评价:正常、低体重、超重、肥胖.* ]4 c. Q; I# q! j# a2 c, P
%所测试年级只能为'一年级','二年级','三年级','四年级','五年级','六年级','初一','初二','初三','高一','高二','高三','大学',其余输入将会提示错误!
( e8 b* J2 p: L, l%若需要测试其它人群体重指数,请修改相应代码,具体修改处请见'%%...修改处!') E4 o- ]" U: K2 s! ~2 K, ?
%本代码运行一次只能测试一个人,若要一次性测试指定人数,请自行修改相应代码!& _1 x+ P! S4 `' q
%主要参数说明:& a+ {8 d+ n* {! {. W; M
%b 体重指数3 j4 c4 L, }5 p4 [1 `/ A; p
%h 身高
( u$ ~& j, @2 C%w 体重6 B3 z" }0 n& }0 {
%a 年级' ~4 A5 Z. P) A8 [
%g 性别4 k5 g) D( U, ^. S
clear* K+ U$ b7 |' x7 H: N3 G; I
g={'一年级','二年级','三年级','四年级','五年级','六年级','初一','初二','初三','高一','高二','高三','大学'};%%年级及所属人群修改处!1 C$ R# k9 f8 I( A4 ~& i6 F
t=1;! l! Z/ I* n' e5 t$ m, ^4 Z
while(t)
" F: j. q7 y* u- Q. B! s x a=input('请输入所处年级(如一年级):','s');- m4 J! \ M7 [+ U, A2 E- O; y
n=length(g);1 w( K* b" A6 f# s6 P0 Z8 T3 g
for j=1:n
/ O0 \7 ]' K9 D$ t! y c(j)=strcmp(g(j),a);%查找并判断所输年级是否存在g中
6 v3 `, D% m6 Z# N7 e' K d=length(find(c==1));" U+ r5 ?" r2 l$ v/ g9 o( p: w
end
# a4 D- P. D O) m" r+ q1 h$ \ i# e if d==0
% S9 u) b' s/ h7 N disp('所输入年级格式有误或不存在,请重新输入年级!');
$ t5 F9 [6 {) H- J& U3 } else/ l6 t/ Z' `- I! W" U C \! w
gender=input('请输入学生性别(男或女):','s');
: x0 Z9 r ~6 B4 g7 E" [1 V if gender=='男'7 R6 b; Y) E3 g# K- f: F7 \
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; ... %%年级及所属人群男体重指数参考表修改处!
6 D) b) @3 G2 P/ P( ? 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; ...
$ Q9 d5 w7 u8 V/ z* j. V, D8 q+ r# i 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体重指数参考表0 Y6 Z, g0 G0 _
else
$ A* m# e( M A+ p5 D; _( | 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; ... %%年级及所属人群女体重指数参考表修改处!1 Z8 y0 o e R g" |6 s0 F, a+ H6 ?
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; ...
$ |" O6 t9 F0 n& l 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体重指数参考表
( ^+ e/ p8 P `! u end
: {0 q, r: }$ R; T$ i h=str2num(input('请输入身高(/m):','s'));5 c5 V g" i. t8 q- ?. z8 @
w=str2num(input('请输入体重(/kg):','s'));0 Q1 f) |2 f4 J$ I7 V( ^) t/ R
b=w/(h^2); %计算体重指数0 |5 `# A4 C: z. x
b=vpa(b,3); %指数保留一位小数+ Y, a- I. ~; F6 o0 t
for i=1:n %计算体重指数并给出相应评价
7 A( R. j/ \# j A0 }1 p# R cc(i)=strcmp(g(i),a);
8 @3 ]+ F0 y$ c9 y while(cc(i)==1)
# x, W+ l- L' c/ E, T if b<=bm(1,i)
! M+ x4 J# |& ] i6 o7 Q8 B fprintf('您的体重指数b=%3.1f kg/m^2\n体重指数:低体重\n',double(b));% r& ]+ W1 B6 K
elseif b<=bm(2,i)9 r* ~6 f! A* y+ m; U! }
fprintf('您的体重指数b=%3.1f kg/m^2\n体重指数:正常\n',double(b));
1 l# w1 C$ `/ M9 v2 L0 S elseif b<=bm(3,i)
$ k0 ~; U- ~. s, b) f& ^: {+ n% ] fprintf('您的体重指数b=%3.1f kg/m^2\n体重指数:超重\n',double(b));
) p' w+ W$ ?4 Q s* L8 L7 w. J else
9 H- N* J8 S# F( J$ A3 O fprintf('您的体重指数b=%3.1f kg/m^2\n体重指数:肥胖\n',double(b));
7 O9 b J# o2 r( E end
5 e+ T4 L6 L" H# _ break;
' I% v8 ~& K8 O4 e end' N6 G( R K6 o' t
end7 G" Q% \# I- h6 O9 ?+ T/ F
end
/ S' ]9 u/ G! y2 y if t==d %如果年级在所属范围之内,跳出循环,否则循环需重新输入年级3 q! W) ]6 C2 ~. Q
t=0;1 ]( G$ h3 Z4 d- I$ v$ M$ Z
else: B( v& w& J, K% E' _7 {
end
6 ?& G7 j6 F/ P Q+ z- Wend) @0 v" t- |. P6 \+ G9 S( o
* t& V" h L0 d2 b- L9 Q3 q
|
|