|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
%设计一个学生体重指数BMI管理系统,输入年级、性别、身高、体重,输出体重指数及相应评价:正常、低体重、超重、肥胖.2 R( o' E% h ?# Q* E0 i5 |- ~
%所测试年级只能为'一年级','二年级','三年级','四年级','五年级','六年级','初一','初二','初三','高一','高二','高三','大学',其余输入将会提示错误!1 Y0 o1 d6 @. Z
%若需要测试其它人群体重指数,请修改相应代码,具体修改处请见'%%...修改处!'
2 {2 \0 N: {, B! ]" q6 M: B) N h6 Y%本代码运行一次只能测试一个人,若要一次性测试指定人数,请自行修改相应代码!: G. `+ V x m; x- f" R: G
%主要参数说明:4 k a$ O0 J, s6 c0 ]* `
%b 体重指数
0 _% q% C6 p5 z4 K%h 身高: F$ u5 a4 a4 s2 ^
%w 体重8 X* |8 a6 Q( T4 f% _' ~) K9 |
%a 年级
8 C1 g1 r0 W4 }5 Z%g 性别
H" Z4 s5 F4 z2 {# I" F1 \clear* V4 I5 b, t9 i' I+ K: e
g={'一年级','二年级','三年级','四年级','五年级','六年级','初一','初二','初三','高一','高二','高三','大学'};%%年级及所属人群修改处!. k/ n4 G1 s% f1 V K
t=1;
4 b0 ?$ _4 a+ m0 _while(t)+ y% _, B7 q/ l6 n6 G
a=input('请输入所处年级(如一年级):','s');
, X7 d1 T. u, f7 j n=length(g);3 b7 y1 ?; l8 n- U. x: e" v* l2 Y# m, }
for j=1:n
& Q* f; {5 {+ L9 {0 h c(j)=strcmp(g(j),a);%查找并判断所输年级是否存在g中* }8 a! K' e" B/ t( U
d=length(find(c==1));
7 W4 S- W2 @' s. O) G! r. q* d; { end
- P4 ~/ X2 N' i* c if d==0
- E( W' V9 W3 `1 J4 R7 A disp('所输入年级格式有误或不存在,请重新输入年级!');
, J- A; F" N4 H. D else
# ~& f/ x; ~& r, X- w- \ gender=input('请输入学生性别(男或女):','s');
$ f1 R3 C9 w! j9 J8 Q! H7 k if gender=='男'
% e7 F; ]) p- O& N1 s# r5 z x, f 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; ... %%年级及所属人群男体重指数参考表修改处!
' b8 R0 D8 w+ y# ^7 g 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; ...
4 _# `0 L# O' d5 m' C+ s& D 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体重指数参考表
7 ^5 f. c$ _$ U, Y else3 [7 i L4 `; h! G
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; ... %%年级及所属人群女体重指数参考表修改处!
; Z, W# y& t- |2 W& C3 x r: V6 u3 W 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; ...& d3 Q" E+ j) i5 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体重指数参考表
& i$ l9 y3 M$ O1 N end
: V9 [+ ~- Q4 O3 T% u* E8 b h=str2num(input('请输入身高(/m):','s'));
5 h& j( B- V/ m% d w=str2num(input('请输入体重(/kg):','s'));9 c. r* [ w1 O1 t! z% y
b=w/(h^2); %计算体重指数
: ?& `+ C/ j( Q! c4 w b=vpa(b,3); %指数保留一位小数
$ i$ t& G- N9 L- H: f) Z) G for i=1:n %计算体重指数并给出相应评价
" `/ j# E X8 n! a; y cc(i)=strcmp(g(i),a);
9 N+ W# M& K( ~ while(cc(i)==1)
2 R8 o J& b W$ s- l3 s- z& X if b<=bm(1,i)4 a2 ~# T6 w6 Z5 o- c
fprintf('您的体重指数b=%3.1f kg/m^2\n体重指数:低体重\n',double(b));
( R. l, Y! q! D0 w% Y elseif b<=bm(2,i)$ S2 x$ F+ W1 ~& }: _# y7 I. ?' x
fprintf('您的体重指数b=%3.1f kg/m^2\n体重指数:正常\n',double(b));6 o. V3 P/ K4 g( O9 C, T2 M
elseif b<=bm(3,i)
3 j' f; y; b. _7 E" l v fprintf('您的体重指数b=%3.1f kg/m^2\n体重指数:超重\n',double(b));
! R5 A1 Z* D, o, ~/ D else
' `, K5 I+ Z; f- J/ R# _$ C. | fprintf('您的体重指数b=%3.1f kg/m^2\n体重指数:肥胖\n',double(b));" f7 L/ h9 Q7 q& i3 @+ R6 T
end
9 g: }) F: S6 w* K! X break;
% Z& Y! k" }. V7 k9 G/ G end% e- J8 ~0 O- Z% W+ O: w( e& R, W
end
* @, S& n0 x D6 O& ^* S end4 y4 S: e% M4 p
if t==d %如果年级在所属范围之内,跳出循环,否则循环需重新输入年级
) u- @1 j/ [9 V' @1 a5 N/ \( C+ H t=0;5 U8 @* S# P1 t/ }9 P
else$ b R' l" Q1 a: F# I; w
end% G0 E. ^- a, M
end
+ e( A( a( M- {8 C( q* I: V$ s& N. |' B q& n x+ a0 t# K
|
|