| 
 | 
	
    
 
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册  
 
x
 
%设计一个学生体重指数BMI管理系统,输入年级、性别、身高、体重,输出体重指数及相应评价:正常、低体重、超重、肥胖. 
, j1 S  N% B+ ?9 d%所测试年级只能为'一年级','二年级','三年级','四年级','五年级','六年级','初一','初二','初三','高一','高二','高三','大学',其余输入将会提示错误! 
4 k, r% W. V9 q. U* ?, v%若需要测试其它人群体重指数,请修改相应代码,具体修改处请见'%%...修改处!'/ H' o: p* b9 Z* ?3 j: s" ~ 
%本代码运行一次只能测试一个人,若要一次性测试指定人数,请自行修改相应代码! 
3 e0 d, P' b$ U3 Q3 m, f# P# K%主要参数说明:. d, O7 X  m0 X! u 
%b  体重指数 
8 ^3 R; X/ |3 W6 h%h  身高 
% J( F2 t& d0 h%w  体重 
. j% N4 z# d! M! O( ?9 g6 x5 ]8 |9 R%a  年级 
4 a, ]' H; M4 B- _% V( I%g  性别 
( u" l" }' k8 ]) r/ j( _( }clear, P9 f1 S# V3 s' P 
g={'一年级','二年级','三年级','四年级','五年级','六年级','初一','初二','初三','高一','高二','高三','大学'};%%年级及所属人群修改处! 
, b4 n: ~4 i6 e4 \t=1; 
! n1 w- O, f* j" t7 X+ R( Iwhile(t) 
% s$ b. n/ \  J5 ^1 `* z    a=input('请输入所处年级(如一年级):','s'); 
+ N4 a# F: R8 j    n=length(g);9 y+ i; ^5 `' t$ Q 
    for j=1:n& X" P% v9 n" Z$ ~ 
        c(j)=strcmp(g(j),a);%查找并判断所输年级是否存在g中 
: Y. I% Y* [8 v' g        d=length(find(c==1));  P, \; Y+ M7 d) ^3 k 
    end3 S( F# E3 {$ C5 g 
    if d==0 
! v( _, B0 G  N, g        disp('所输入年级格式有误或不存在,请重新输入年级!'); 
: g! l7 V# J% @2 E. w    else 
8 G; B; C: s( N! S/ V" t        gender=input('请输入学生性别(男或女):','s'); 
" s! d  M1 T, f0 w% U" f9 o$ c) j        if gender=='男'0 Z+ Y- n/ \7 M  _$ v* o# U% V 
            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; ...    %%年级及所属人群男体重指数参考表修改处!  A5 \0 N; f5 z1 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; ... 
: @' p! K; x4 A( D! R                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体重指数参考表 
2 V2 l" {5 [5 N. A) r  n        else& H8 P* z) Z% ?: j( 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; ...  %%年级及所属人群女体重指数参考表修改处! 
. _8 |, e" Y: F2 _            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; ... 
" B/ I. M0 N6 @8 ^4 W- R2 q+ n            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体重指数参考表 
: A7 y2 _: q  u1 v# H5 @& @        end/ h+ |; D4 d5 B7 N 
        h=str2num(input('请输入身高(/m):','s')); 
/ ~6 \" [# A* M- ], ^/ U( P  a        w=str2num(input('请输入体重(/kg):','s')); 
! l: d9 t. j0 A) {        b=w/(h^2);           %计算体重指数 
- F7 t7 C/ M8 W  N/ Q        b=vpa(b,3);        %指数保留一位小数 
: }$ i! K5 U! c+ S        for i=1:n  %计算体重指数并给出相应评价 
5 h* ]" }" K! F8 R6 Y            cc(i)=strcmp(g(i),a);- X4 o0 Z! z/ f- [  f! S6 m! R 
            while(cc(i)==1) 
' x) s9 g, r" o6 ?$ ]! z                if b<=bm(1,i) 
9 M4 b: V) ~" u4 G3 {- F" n$ ^1 F1 `                    fprintf('您的体重指数b=%3.1f kg/m^2\n体重指数:低体重\n',double(b)); 
' D" Z3 `2 v" L, N2 J& j                elseif b<=bm(2,i)% A$ y9 J) r$ U 
                    fprintf('您的体重指数b=%3.1f kg/m^2\n体重指数:正常\n',double(b)); 
# a. H3 W2 m8 ^7 b                elseif b<=bm(3,i)* ^1 c$ j& B3 y. w! k( M; A 
                    fprintf('您的体重指数b=%3.1f kg/m^2\n体重指数:超重\n',double(b)); 
5 Q6 I& N7 `* r. x2 @- `) m: Y  `                else/ r; {* j: r5 n: t# Z 
                    fprintf('您的体重指数b=%3.1f kg/m^2\n体重指数:肥胖\n',double(b));" ?, _: q; o; X+ L, N) I" M# @ 
                end 
; B, x% _1 [8 G5 I) W                break;5 u0 Z  ~- X4 [! d6 [ 
            end1 t! ]8 E& Z5 l: j 
        end 
: k) r4 q: |6 t# ?3 R2 C% W" s    end& A/ n. p$ s! |) f/ N5 p5 n: z6 l 
    if t==d             %如果年级在所属范围之内,跳出循环,否则循环需重新输入年级( D2 P! y  L2 v9 L' V4 z 
        t=0;6 c- l: P  R- s  J 
    else 
! i' G- g1 z9 R/ g! Y3 s    end 
7 M) [% A+ t. Q$ f! ~9 p, jend) V3 a6 D: h* A' I( n 
 
4 Y/ `7 ], x( Q" R! H: Q2 V1 Y |   
 
 
 
 |