|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
%设计一个学生体重指数BMI管理系统,输入年级、性别、身高、体重,输出体重指数及相应评价:正常、低体重、超重、肥胖.
$ b5 V. R1 B+ t%所测试年级只能为'一年级','二年级','三年级','四年级','五年级','六年级','初一','初二','初三','高一','高二','高三','大学',其余输入将会提示错误!3 r- A9 f. }9 g" U0 e$ G6 a
%若需要测试其它人群体重指数,请修改相应代码,具体修改处请见'%%...修改处!'; Y4 i0 B+ V7 \# k
%本代码运行一次只能测试一个人,若要一次性测试指定人数,请自行修改相应代码!
' |) v+ K T) V/ T6 u%主要参数说明:
9 c2 k M6 Y/ U1 J) x) f+ j2 X) R%b 体重指数
9 P% v) e' E. _4 U6 S%h 身高5 ?0 s h! V' B' b4 t* q' U
%w 体重, h5 b1 c' N! u# `
%a 年级
! K& Z& w! A) S( e% M! R: |%g 性别 F: g' Z+ u$ J8 V
clear
5 g0 M6 n/ x% a/ z5 B/ H" ?g={'一年级','二年级','三年级','四年级','五年级','六年级','初一','初二','初三','高一','高二','高三','大学'};%%年级及所属人群修改处!8 r7 K8 V' y1 K1 ^ c0 H
t=1;- z' h/ [; G5 m: F
while(t)
3 ?' x5 \- {9 W. E a=input('请输入所处年级(如一年级):','s');+ ^( i7 O" d% V; Z# M' r8 j
n=length(g);
9 m! C' v' p( d E; K4 w- U+ x for j=1:n" G& ~& X( @( P2 y2 D( p
c(j)=strcmp(g(j),a);%查找并判断所输年级是否存在g中/ P$ G( @3 p: S+ P5 f( j
d=length(find(c==1));
, m8 `; Z( g0 \2 E6 H7 ?- [4 O end; S' Y1 ]4 _& w
if d==0- G/ v( Z/ x) E4 O" q; o
disp('所输入年级格式有误或不存在,请重新输入年级!');7 _' H/ m6 E. ?2 d) R& U
else* A- U, l* ?' ~: b K* l
gender=input('请输入学生性别(男或女):','s');
x9 @1 K8 }8 E2 l$ u# M if gender=='男'
v+ d! P) Y& t 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; ... %%年级及所属人群男体重指数参考表修改处!
2 ~$ W# t% |, G7 v7 u 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 {+ ?5 k' N% |6 h0 Z' f/ J 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体重指数参考表
& W: }% r" n: y. Y else
. v! M- `! y+ T* X 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 T7 W) Q% g( {4 p
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; ...
' z" p: D$ p8 {7 U; q4 L+ q6 a: w 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体重指数参考表
+ `" Q8 D: w2 y% E5 h end
- K5 }: A! i+ I) ~; C h=str2num(input('请输入身高(/m):','s'));* t9 b8 D0 [7 X5 g" Z
w=str2num(input('请输入体重(/kg):','s'));3 o9 v$ ^$ p- c! `* e. R# Z% }
b=w/(h^2); %计算体重指数
4 a: J& R* a) u& K8 A# D8 O b=vpa(b,3); %指数保留一位小数
2 \! t, Q5 A: N0 x( o for i=1:n %计算体重指数并给出相应评价 z/ `: ~+ e, n6 N3 k0 }' a, @
cc(i)=strcmp(g(i),a);
+ y: n/ ^# {. `. x) {( N% {( ` while(cc(i)==1)
- r8 J, Q' f6 X8 t4 j4 B x D if b<=bm(1,i)" d% J9 } m5 v! C4 _, q- I
fprintf('您的体重指数b=%3.1f kg/m^2\n体重指数:低体重\n',double(b));
! S; U3 H2 q- t+ [3 \ elseif b<=bm(2,i)
) c0 _! f: f2 ~" O. B" a/ v l7 [ fprintf('您的体重指数b=%3.1f kg/m^2\n体重指数:正常\n',double(b));
6 G; P3 E9 o! x elseif b<=bm(3,i)2 A" g* o% o* a( a
fprintf('您的体重指数b=%3.1f kg/m^2\n体重指数:超重\n',double(b));
: g' j/ X: `5 U( P7 ? else( h3 K2 ^; h/ S! A3 }4 c8 f- \
fprintf('您的体重指数b=%3.1f kg/m^2\n体重指数:肥胖\n',double(b));
m0 {' `) p2 E5 A8 J! I end0 I# _. \# d3 s, M, h
break;
. x, `' P3 c" l Z: x( T q end! B: \7 P1 g. S. W4 s5 `9 ?( `
end
6 o7 C- `* @, s" q( u- x end0 A3 ]1 \1 S, ]0 P: W# }$ \( o
if t==d %如果年级在所属范围之内,跳出循环,否则循环需重新输入年级
+ H" T4 T0 g1 _& |' u N1 b t=0;
+ i/ B" a7 H7 T% B( Q else
. p& }) ]/ w' i* ]: [$ Y end d; G) L. h& l2 t
end, C G' I/ L# K( ^3 ^. f2 b
* P5 V5 C, M1 g+ X% O+ y- D |
|