|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
%设计一个学生体重指数BMI管理系统,输入年级、性别、身高、体重,输出体重指数及相应评价:正常、低体重、超重、肥胖.
8 i( w3 W( X) i9 \%所测试年级只能为'一年级','二年级','三年级','四年级','五年级','六年级','初一','初二','初三','高一','高二','高三','大学',其余输入将会提示错误!
8 D/ c; h' l/ g2 j% E%若需要测试其它人群体重指数,请修改相应代码,具体修改处请见'%%...修改处!'0 W# k5 |5 y" l7 u) Y
%本代码运行一次只能测试一个人,若要一次性测试指定人数,请自行修改相应代码!
: H6 h* U1 U/ e* u%主要参数说明:
( L) o7 H, n" h9 ]( A9 ?7 g1 w%b 体重指数$ R8 Y7 H" C1 b2 E, p
%h 身高/ N6 q. U1 B/ G# c
%w 体重
4 ~ l0 z! x; x%a 年级! C! x+ l9 {# k* l
%g 性别
' D [+ X: V. U8 j$ I2 aclear
# ?$ m' \( q$ D. Sg={'一年级','二年级','三年级','四年级','五年级','六年级','初一','初二','初三','高一','高二','高三','大学'};%%年级及所属人群修改处!& L1 R9 g X# V0 |/ S
t=1;
4 }. b" l2 j( F$ J0 Hwhile(t)0 i5 o M+ y+ n& S8 O" B
a=input('请输入所处年级(如一年级):','s');6 g/ l# Y7 K! {% X3 r
n=length(g);) L- T* I* Z4 S" R9 j
for j=1:n6 G+ V7 w: U9 d; d& x! f3 J$ r! H
c(j)=strcmp(g(j),a);%查找并判断所输年级是否存在g中& e2 I! V) \6 ^
d=length(find(c==1));
: j3 N( E( d5 z+ G, z end
- M8 d* x5 L+ \; X- C if d==0
( ~" h& N' r. [% z3 @8 F/ ` disp('所输入年级格式有误或不存在,请重新输入年级!');) U6 H4 L- S Y1 _" e& l$ t
else* J( ? k. U. k
gender=input('请输入学生性别(男或女):','s');
8 r8 n/ h8 I3 ?; k" \ if gender=='男'. k1 P/ d2 j! }! i1 `3 _! \
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; ... %%年级及所属人群男体重指数参考表修改处!
0 p% ~/ c& t' J 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; ...
+ Y+ z9 m" d* o+ q 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体重指数参考表
, A' X0 F& g% u/ { else9 R" ^7 m$ \; p c. e& U
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; ... %%年级及所属人群女体重指数参考表修改处!% k5 m+ q2 v7 ?5 c
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; ...
& n& A$ X8 F6 d/ `1 n( d 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体重指数参考表
8 W) o! P- v$ {' Y end
1 S7 C% c% Z% I, Y1 E0 ~ h=str2num(input('请输入身高(/m):','s'));' X( b: Q, Q2 [
w=str2num(input('请输入体重(/kg):','s'));" u3 x9 S: @9 S8 S' G1 E. p
b=w/(h^2); %计算体重指数, G- X- Z. F4 }# B$ N6 E" d: E# ^
b=vpa(b,3); %指数保留一位小数
4 G8 H+ y, }5 g0 }6 w1 A for i=1:n %计算体重指数并给出相应评价8 s; r, G9 u2 u
cc(i)=strcmp(g(i),a);
1 j ?: y2 j$ {/ d* b. n# T* O& Q while(cc(i)==1). g9 i; v8 [# j9 P* P% e* M
if b<=bm(1,i)5 D* ^1 x5 Q. p* L
fprintf('您的体重指数b=%3.1f kg/m^2\n体重指数:低体重\n',double(b));6 l( X% v X7 V ~# i" k% s- q
elseif b<=bm(2,i)8 T3 r3 E/ W, f1 U3 i% ?
fprintf('您的体重指数b=%3.1f kg/m^2\n体重指数:正常\n',double(b));% f* |6 K+ m5 q" Q; D8 T! F9 r0 N
elseif b<=bm(3,i)' y: I7 [( `1 O) y. i1 H6 a/ U
fprintf('您的体重指数b=%3.1f kg/m^2\n体重指数:超重\n',double(b));, _3 A! Y- ?0 H
else
) Q& z9 [2 }3 P$ a fprintf('您的体重指数b=%3.1f kg/m^2\n体重指数:肥胖\n',double(b));
3 t" ]! m& [6 A4 f5 f) A end
. w: s- ^/ ~% U O/ W break;
1 S2 P' a$ B# k$ G% W+ p end
+ I) o7 w* L" r- c2 |: `/ M, F end
# I/ s, t4 T7 b" R end7 }- X: r7 M; h% a. ]) [
if t==d %如果年级在所属范围之内,跳出循环,否则循环需重新输入年级
6 Z5 @0 Y% ?) p t=0;
9 T' ?4 R2 |8 u7 T+ {9 G( f else
9 }4 g3 C) |- f end
1 t0 |$ ?4 x- u: Qend. y, E/ W/ ]$ _: w7 b6 I( \( d
2 x4 R: l* Z2 w( E$ {* G |
|