|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
%设计一个学生体重指数BMI管理系统,输入年级、性别、身高、体重,输出体重指数及相应评价:正常、低体重、超重、肥胖.: E, {! }$ y3 ^" v5 _
%所测试年级只能为'一年级','二年级','三年级','四年级','五年级','六年级','初一','初二','初三','高一','高二','高三','大学',其余输入将会提示错误!
; l0 e" {' A# M2 v4 s" v9 W0 `%若需要测试其它人群体重指数,请修改相应代码,具体修改处请见'%%...修改处!'+ i) _7 U+ u! p# X/ K
%本代码运行一次只能测试一个人,若要一次性测试指定人数,请自行修改相应代码!5 ~, b5 }! W- C! a3 I
%主要参数说明:
' u8 P* Z5 G. A: @$ E' I%b 体重指数
# s# |7 o( l0 ]- ~9 S. [%h 身高
5 C( O6 I( q$ w% Y9 B7 g) O%w 体重
* ?6 U1 x! z; R$ X! J%a 年级$ e' a9 h( B6 H: k0 Z7 w, K
%g 性别
1 Y9 u: u' x9 Fclear
: }! a P3 k" x# x1 Gg={'一年级','二年级','三年级','四年级','五年级','六年级','初一','初二','初三','高一','高二','高三','大学'};%%年级及所属人群修改处!3 X- {! n' K2 Z: R9 Q
t=1;
; N4 [1 Z7 c+ z' rwhile(t)) C; }$ R1 z) \ @$ I
a=input('请输入所处年级(如一年级):','s');' O4 f- B. Y; v4 U
n=length(g);! `! m" s: c/ q8 G7 t
for j=1:n
) b) b2 w' x, r) D# ^+ } c(j)=strcmp(g(j),a);%查找并判断所输年级是否存在g中
; k+ x. ^8 }7 q( k3 q* H; t d=length(find(c==1));
; Z u* q' U S end# t7 h9 c. B8 J( _1 K
if d==0
2 w1 T% c6 z' a7 ?# f/ d disp('所输入年级格式有误或不存在,请重新输入年级!');" g5 T- \! M' k4 l
else" Q; N# x. W; R% l4 l% x N
gender=input('请输入学生性别(男或女):','s');
6 T1 z2 R# p6 L0 Q. u if gender=='男'
1 F( f8 s1 h/ L" w8 C* e9 g; N. K 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; ... %%年级及所属人群男体重指数参考表修改处!
" }/ j7 n; R% 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; ...2 r( z8 m) s' ]$ p
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体重指数参考表
# c, z/ C8 \& \ else3 T! p2 ?4 d% 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; ... %%年级及所属人群女体重指数参考表修改处!
( w+ [3 _3 T H 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; ...
) N6 {% C- U* G1 i$ w" t 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体重指数参考表
2 q: K+ ?6 V6 N: K end
; H1 l+ V% h- U _# h! R h=str2num(input('请输入身高(/m):','s'));
: X* D" W/ _# W& Q! ^ w=str2num(input('请输入体重(/kg):','s'));
. [8 i/ T1 X' u% A, k b=w/(h^2); %计算体重指数
8 k/ H/ Z1 H5 A) a; | b=vpa(b,3); %指数保留一位小数
5 E8 H# l% A2 K1 x for i=1:n %计算体重指数并给出相应评价
, j5 c) H' @9 |2 \: S0 r' } cc(i)=strcmp(g(i),a);
( J3 s% }5 Q# }, C while(cc(i)==1)
+ ?8 a9 S1 N. i) c) L0 l7 O: [ if b<=bm(1,i)
% W5 y* w8 l9 s) u fprintf('您的体重指数b=%3.1f kg/m^2\n体重指数:低体重\n',double(b));- V/ ^; ? P" |6 s; n1 ~/ u
elseif b<=bm(2,i)+ I+ v0 M4 t* r0 {( f
fprintf('您的体重指数b=%3.1f kg/m^2\n体重指数:正常\n',double(b));
+ J& w! {. ], c# H2 N S5 H" w elseif b<=bm(3,i)5 U0 _2 p" K0 |! ?0 S
fprintf('您的体重指数b=%3.1f kg/m^2\n体重指数:超重\n',double(b));
& i& T1 O1 _% R4 Z% ]2 ^0 } else; J7 X5 P: ~6 e8 r8 L
fprintf('您的体重指数b=%3.1f kg/m^2\n体重指数:肥胖\n',double(b));
5 h/ X' R4 o& ^6 L- t, F end0 k8 V5 T- G" W _7 ?
break;, P% ?# O: W6 E) F7 h" K
end- |! b& g5 T+ l7 V8 G' i/ N; H9 J7 I
end
- l9 c7 ~. p7 e8 s Z& ? end
( _- S8 k' l u3 R9 |* B5 m if t==d %如果年级在所属范围之内,跳出循环,否则循环需重新输入年级
0 A; T* j. Q: i7 {6 ~1 r# C; D3 Q. P/ e t=0;
: Y% p( T9 q1 D: O4 u else: i& [" M% H. X2 O$ \6 w
end
7 x" i/ P* g( ?- F! Eend0 ?( B7 p6 N" Q6 A
* B1 l; |' N/ f+ S
|
|