程序设计作业_函数实验_体测成绩判定系统(C语言)

ae13479e338a4ee18915947e9eedc26d.jpg

890dc62152a24571b0c983abe3ecdd82.jpg

#include<stdio.h>

double count_BMI(double BMI,int sex)//函数1:求体重指数成绩,形参为体重指数BMI和性别sex

{

    int score;

    if(sex==0)//判断男生的体重指数成绩

    {

        if(BMI>=17.9&&BMI<=23.9) score=100;

        else if(BMI>=0&&BMI<=17.8||BMI>=24.0&&BMI<=27.9) score=80;

        else score=60;

    }

    else if(sex==1)//判断女生的体重指数成绩

    {

        if(BMI>=17.2&&BMI<=23.9) score=100;

        else if(BMI>=0&&BMI<=17.1||BMI>=24.0&&BMI<=27.9) score=80;

        else score=60;

    }

    return score;//返回对应的成绩

}



int count_FVC(int FVC,int sex)//函数2:计算肺活量成绩,形参为肺活量大小FVC和性别sex

{

    int score;

    if(sex==0)//判断男生的肺活量成绩

    {

        if(FVC>4800) score=100;

        else if(4181<=FVC&&FVC<=4800) score=80;

        else if(3101<=FVC&&FVC<=4180) score=60;

        else score=30;

    }

    else if(sex==1)//判断女生的肺活量成绩

    {

        if(FVC>3400) score=100;

        else if(3001<=FVC&&FVC<=3400) score=80;

        else if(2051<=FVC&&FVC<=3000) score=60;

        else score=30;

    }

    return score;//返回对应的成绩

}



int count_up(int up)//函数3:计算男生引体向上的成绩,形参为引体向上的个数up
{
    int score;
    if(up>19) score=100;
    else if(up<=19&&up>=16) score=80;
    else if(up<=15&&up>=10) score=60;
    else score=30;
    return score;//返回对应的成绩
}

int count_sit(int sit)//函数4:计算女生仰卧起坐的成绩,形参为仰卧起坐的个数
{
    int score;
    if(sit>56) score=100;
    else if(sit>=53&&sit<=56) score=80;
    else if(sit>=25&&sit<=52) score=60;
    else score=30;
    return score;//返回对应的成绩
}

int total(int score)//函数5:判断总成绩的优秀程度,形参为总成绩score
{
    if(95<=score&&score<=100) printf("总成绩为%d,优秀",score);
    else if(80<=score&&score<=94) printf("总成绩为%d,良好",score);
    else if(60<=score&&score<=79) printf("总成绩为%d,及格",score);
    else printf("总成绩为%d,不及格",score);
    return score;
}



int menu()//函数6:完成菜单的选择

{

    int sec;

    printf("功能菜单\n");

    printf("=============\n");

    printf("1.体重指数BMI\n");

    printf("2.肺活量FVC\n");

    printf("3.引体向上\n");

    printf("4.仰卧起坐\n");

    printf("5.总成绩\n");

    printf("0.退出\n");

    printf("=============\n");

    printf("请输入选择的功能:");

    scanf("%d",&sec);

    while(sec<0||sec>5)//当输入的数据不在范围内时重新输入

    {

        printf("请重新输入\n");

        scanf("%d",&sec);

    }

    return sec;//返回选择的菜单

}



int main()

{

    int sec,sex;//定义菜单选择和性别

    double weight,height,BMI;//定义体重、身高、体重指数

    int FVC,sit,up;//定义肺活量大小、引体向上个数、仰卧起坐个数

    int score,score1,score2,score3,score4;

    sec=menu();//调用menu返回选择

    if(sec==0)printf("");//菜单选择0时退出

    else

    {

        printf("请输入性别(男:0/女:1):");//输入性别

        scanf("%d",&sex);

        while(sex!=0&&sex!=1)//当输入除0和1以外的数字时重新输入

        {

            printf("请重新输入\n");

            scanf("%d",&sex);

        }

        switch(sec)//选择菜单

        {

        case 1:printf("请输入体重(kg)和身高(m),例如80 1.8:");

                    scanf("%lf%lf",&weight,&height);

                    BMI=weight/(height*height);

                    score=count_BMI(BMI,sex);//调用函数1,实参为体重指数BMI和性别sex

                    printf("BMI=%.2f,成绩为%d\n",BMI,score);

                    break;//计算体重指数的成绩

        case 2: printf("请输入肺活量:");

                     scanf("%d",&FVC);

                     score=count_FVC(FVC,sex);//调用函数2,实参为肺活量大小FVC和性别sex

                     printf("肺活量为%d,成绩为%d\n",FVC,score);

                     break;//计算肺活量的成绩

        case 3: if(sex==1)printf("男生项目\n");//若为女生,则不需要引体向上

                     else//当为男生时

                     {

                          printf("请输入引体向上数量:");

                          scanf("%d",&up);

                          score=count_up(up);//调用函数3,实参为引体向上个数up

                          printf("引体向上个数为%d,成绩为%d\n",up,score);

                     }

                     break;//计算引体向上的成绩

        case 4:if(sex==0)printf("女生项目\n");//若为男生时,则不需要仰卧起坐

                    else//当为女生时

                    {

                        printf("请输入仰卧起坐数量:");

                        scanf("%d",&sit);

                        score=count_sit(sit);//调用函数4,实参为仰卧起坐个数sit

                        printf("仰卧起坐的数量为%d,成绩为%d\n",sit,score);

                    }

                     break;//计算仰卧起坐的成绩

         case 5:if(sex==0)//为男生时

                    {

                          printf("请输入体重(kg)和身高(m),例如80 1.8:");

                          scanf("%lf%lf",&weight,&height);

                          BMI=weight/(height*height);

                          score1=count_BMI(BMI,sex);//调用函数1

                          printf("请输入肺活量:");

                          scanf("%d",&FVC);

                          score2=count_FVC(FVC,sex);//调用函数2

                          printf("请输入引体向上数量:");

                          scanf("%d",&up);

                          score3=count_up(up);//调用函数3

                          score=0.25*score1+0.35*score2+0.4*score3;//计算男生总成绩

                    }

                    if(sex==1)

                    {

                        printf("请输入体重(kg)和身高(m),例如80 1.8:");

                scanf("%lf%lf",&weight,&height);

                        BMI=weight/(height*height);

                        score1=count_BMI(BMI,sex);//调用函数1

                        printf("请输入肺活量:");

                   scanf("%d",&FVC);

                          score2=count_FVC(FVC,sex);//调用函数2

                          printf("请输入引体向上数量:");

                          scanf("%d",&up);

                          score3=count_up(up);//调用函数3

                          score=0.25*score1+0.35*score2+0.4*score3;//计算男生总成绩

                    }

                    if(sex==1)

                    {

                        printf("请输入体重(kg)和身高(m),例如80 1.8:");

                        scanf("%lf%lf",&weight,&height);

                        BMI=weight/(height*height);

                        score1=count_BMI(BMI,sex);//调用函数1

                        printf("请输入肺活量:");

                        scanf("%d",&FVC);

                        score2=count_FVC(FVC,sex);//调用函数2

                        printf("请输入仰卧起坐数量:");

                        scanf("%d",&sit);

                        score4=count_sit(sit);//调用函数4

                        score=0.25*score1+0.35*score2+0.4*score4;//计算女生总成绩

                    }

                total(score);//调用函数5,判断优秀程度,实参为总成绩score

                    break;//计算总成绩

        }

    }

    return 0;

}

                 

  • 1
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值