|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
%设计一个学生体重指数BMI管理系统,输入年级、性别、身高、体重,输出体重指数及相应评价:正常、低体重、超重、肥胖.9 m- Y/ [7 K* q1 o" {
%所测试年级只能为'一年级','二年级','三年级','四年级','五年级','六年级','初一','初二','初三','高一','高二','高三','大学',其余输入将会提示错误!
7 C1 j2 d# e5 n3 L6 q0 J) a- d2 q9 l%若需要测试其它人群体重指数,请修改相应代码,具体修改处请见'%%...修改处!'1 W8 b! p" p4 n2 y0 \, u) e
%本代码运行一次只能测试一个人,若要一次性测试指定人数,请自行修改相应代码!
" Q4 }) Y% Z4 a% ~. d%主要参数说明:
$ i+ I/ a6 P- K. Z" i4 O8 R%b 体重指数
1 G' ^6 G2 w5 L%h 身高3 R$ U1 c7 [2 }2 F; w+ T6 `# d% ?7 a
%w 体重0 u0 @7 J1 c6 E. k$ m8 @
%a 年级
* j4 z9 x) W+ k& M, F$ O( p* v%g 性别4 z1 h& g! h' x& c7 [2 A" o
clear# T* \5 a" f+ h
g={'一年级','二年级','三年级','四年级','五年级','六年级','初一','初二','初三','高一','高二','高三','大学'};%%年级及所属人群修改处!' N2 J% j% ` I. S5 l
t=1;
4 v& e, G" \" q3 W4 C0 V% l$ jwhile(t)
/ A" d5 \8 ?8 B" P, @; m a=input('请输入所处年级(如一年级):','s');9 [( w0 K, G8 F- E1 Y
n=length(g);
- S2 R/ K+ }" d for j=1:n
2 C* D( y# b. J9 |! U6 u c(j)=strcmp(g(j),a);%查找并判断所输年级是否存在g中
/ [4 j4 v# x" F( G d=length(find(c==1));7 B9 s# u- k! _7 L
end
& Z: |$ p' W/ c if d==0: }" @) i9 {; J" _2 K u
disp('所输入年级格式有误或不存在,请重新输入年级!');
3 k; i3 O) O9 `6 C, i/ Q else3 r% B, I* e' ]3 e: y
gender=input('请输入学生性别(男或女):','s');, F" q- g0 `2 H
if gender=='男'! \2 O6 A; S0 m3 {
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; ... %%年级及所属人群男体重指数参考表修改处!9 K8 Q3 e9 C- M7 u9 t. x
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; ...
/ ~6 K4 O1 Y; w- d9 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体重指数参考表
. v2 X8 J( L" \$ w) A5 T; ]; c9 y( D else
0 W: \4 P2 L4 H* f) z( z" s" P 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; ... %%年级及所属人群女体重指数参考表修改处!0 u' Y7 C$ u: M7 U7 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; ...; o- Q' t( d) C0 G" n4 h
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体重指数参考表
3 P" K! f$ P B7 L5 I" Q; N' _ end' g- D1 X4 N: M; l
h=str2num(input('请输入身高(/m):','s'));
. Z: R |+ K8 X( w# T/ |( j9 F w=str2num(input('请输入体重(/kg):','s'));" s$ @+ [; y6 b7 A E: ]8 ]8 m
b=w/(h^2); %计算体重指数
# d/ Z$ t& R7 D9 s b=vpa(b,3); %指数保留一位小数0 G% V i# I$ R5 ]
for i=1:n %计算体重指数并给出相应评价 R9 C$ b! w5 @/ B7 P0 b
cc(i)=strcmp(g(i),a);
/ Z. L) b- L+ n! x1 B& Y G, B5 M while(cc(i)==1)
6 s1 a8 Q: U' J( b. m if b<=bm(1,i)9 D) t2 h% Z1 c! z/ N0 k
fprintf('您的体重指数b=%3.1f kg/m^2\n体重指数:低体重\n',double(b));
' r: {1 p1 ^) e: i% F7 I% ~ elseif b<=bm(2,i)4 Y# q' m; B$ S0 T# o
fprintf('您的体重指数b=%3.1f kg/m^2\n体重指数:正常\n',double(b));
7 ^8 h$ r/ o6 ]. w& N a) Q8 A. \ elseif b<=bm(3,i)
4 }7 O7 m8 Z* C8 f0 M9 h4 K0 _) V fprintf('您的体重指数b=%3.1f kg/m^2\n体重指数:超重\n',double(b));
# V! } @% y C3 @9 @( @ else& a; N1 T, }3 @- e
fprintf('您的体重指数b=%3.1f kg/m^2\n体重指数:肥胖\n',double(b));
! {. `6 w, ~$ o. v. Y( }, ?" \% W$ o end' Q* c( M# p8 h# F
break;1 G, h9 a% U/ f8 H6 W
end1 ~) L4 Z( E, l1 s1 I9 O
end+ q* v. f& W! w+ @3 a
end
1 {/ I! C6 `* j* [; m if t==d %如果年级在所属范围之内,跳出循环,否则循环需重新输入年级
5 `' l& v0 R' q1 P; G t=0;) O) ?3 ?3 A/ b6 l# y
else% k4 c1 \% A- b) I1 x7 T* K
end6 b, }2 i; u9 B) M
end
: F7 B% z, m' z a5 ~# O7 w
' {6 B" p. y3 B6 g4 V4 f |
|