注意:本篇文章有点长耐心看完

案例描述:
2014年秋季起,我国执行学生体质健康测试的新标准,大学生体测成绩低于50分将不能毕  业,按结业或肄业处理。此项标准的执行引起了学校以及诸多在校大学生的密切关注,学校建议  各级学生参与晨练,部分学生也自觉开始进行适量运动,以提高身体素质。看表一

案例分析
表4-1中“单项指标”一栏分为7项,前五项为男生女生都需要测试的项目,后两项根据
性别决定需要测试的具体项目,这里可将项目简单分为这两类。
该系统的目的在于模拟体测成绩的判定机制,因此不要求实现所有项目成绩的判定,根据以
上分类,结合案例,对将要设计的程序,作如下要求:
(1)根据表4-2中给出的评分表,分别实现体重指数、肺活量、引体向上、仰卧起坐这四
项指标的计算功能;
(2)可以根据用户的选择,进行单项指标的成绩换算;
(3)实现总成绩的计算功能,并根据表4-3对总成绩进行判定(优秀、良好、及格、不
及格);
(4)以菜单的形式向用户展示所有功能。

总成绩的计算方式为:各项成绩与其所占比重相乘,将相乘后的成绩相加,具体公式如下。  (1)男生:体重指数x25%+肺活量x35%+引体向上x40%;
(2)女生:体重指数x25%+肺活量x35%+仰卧起坐x40%。
案例实现
1.案例设计
案例要求实现体重指数、肺活量、引体向上、仰卧起坐这四项指标的计算功能,在案例分析  中我们将7个指标粗略划分为两类,根据划分结果可知,其中体重指数和肺活量为一类,引体向  上和仰卧起坐为一类。
按其分类,体重指数和肺活量可设置为同一类函数,这类函数可根据性别,执行不同的代码  段,完成针对某条记录的计算;引体向上和仰卧起坐可设置为同一类函数,即只针对性别为男的同学的引体向上成绩的计算,或只针对性别为女的同学的仰卧起坐成绩的计算。  若要实现上述四项指标的计算功能,需要实现四个功能函数。
案例要求程序可以菜单的形式向用户展示所有的功能,为了使程序模块化,可将菜单功能实  现为一个函数。菜单函数应能向用户展示所有功能,并获取用户的选择。
同时案例要求程序可实现对某位同学各项总成绩的计算功能,该功能同样可模块化为一个  函数。
综上,本案例的所有功能可由如下几个函数实现:
(1)求体重指数成绩的函数;
(2)求肺活量成绩的函数;
(3)求引体向上成绩的函数;
(4)求仰卧起坐成绩的函数;
(5)求总成绩的函数;
(6)菜单函数。
当然必不可少的还有主函数,主函数中可根据菜单函数返回的选项,选择需要实现的功能

Sleep函数是<windows.h>里等待函数

#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
int sex=0;//性别由外部转入,计算时避免性别的出现
int conutBMI(int sex)//体重指数
{float weight,height;printf("请输入体重(kg),身高(m):");scanf("%f%f",&weight,&height);float BMI=weight/(height*height);int seo=0;switch(sex){case 0://男生if(BMI>17.9&&BMI<23.9)seo=100;else if(BMI>17.8||(BMI>24.0&&BMI<27.9))seo=80;elseseo=30;break;case 1://女生if(BMI>17.2&&BMI<23.9)seo=100;else if(BMI>17.1||(BMI>24.0&&BMI<27.9))seo=80;elseseo=30;break;default:seo=0;break;}printf("体重指数为:%.2f,成绩为%d\n",BMI,seo);return seo;
}
int conutFVC()//肺活量
{int FVC,seo;printf("请输入肺活量(ml):");scanf("%d",&FVC);switch(sex){case 0:if(FVC>4800)seo=100;else if(FVC>4180&&FVC<=4800)seo=80;else if(FVC>3100&&FVC<=4180)seo=60;elseseo=30;break;case 1:if(FVC>3400)seo=100;else if(FVC>3000&&FVC<=3400)seo=80;else if(FVC>2050&&FVC<=3000)seo=60;elseseo=30;break;default:break;}return seo;
}
int conutChinups()//引体向上
{if(sex==1){printf("引体向上是男生特有项目!\n");Sleep(2000);exit(0);}int Ups,seo;printf("引体向上计数为:");scanf("%d",&Ups);if(Ups>19)seo=100;else if(Ups>15&&Ups<=19)seo=80;else if(Ups>10&&Ups<=15)seo=60;elseseo=30;return seo;
}
int conutSitup()//仰卧起坐
{if(sex==0){printf("仰卧起坐为女生特有项目!\n");Sleep(2000);exit(0);}int Ups,seo;printf("仰卧起坐计数为:");scanf("%d",&Ups);if(Ups>56)seo=100;else if(Ups>52&&Ups<=56)seo=80;else if(Ups>26&&Ups<=52)seo=60;elseseo=30;return seo;
}
void getNum()//总成绩
{int BMI,FVC,Cups,Sups;double num;BMI=conutBMI(sex);FVC=conutFVC(sex);if(sex==0){Cups=conutChinups();num=BMI*0.25+FVC*0.35+Cups*0.4;}else{Sups=conutSitup();num=BMI*0.25+FVC*0.35+Sups*0.4;}if(num>95)printf("综合成绩为%.2f,优秀\n",num);else if(num>80&&num<95)printf("综合成绩为%.2f,良好\n",num);elseprintf("综合成绩为%.2f,及格\n",num);
}
int menu()//菜单
{int sec;printf("功能菜单:\n");printf("========\n");printf("1.体重指数\n");printf("2.肺活量\n");printf("3.引体向上\n");printf("4.仰卧起坐\n");printf("5.总成绩\n");printf("6.退出\n");printf("========\n");printf("请输入性别(男:0,女:1):");scanf("%d",&sex);while(sex!=1&&sex!=0){printf("选择有误!\n请重新输入:");scanf("%d",&sex);}printf("请输入想要的功能:");scanf("%d",&sec);while(sec>5||sec<0){printf("选择有误!\n请重新输入:");scanf("%d",&sec);}return sec;
}
int main()
{int sec=menu();switch(sec){case 0:exit(0);break;case 1:conutBMI(sex);break;case 2:conutFVC(sex);break;case 3:conutChinups();break;case 4:conutSitup();break;case 5:getNum();default:break;}return 0;
}

这里给出两种例子:

下期见

16.体测成绩判定(c函数调用)相关推荐

  1. 函数(2)——4.兔子数列5.汉诺塔6.综合案例-RSA算法7.综合案例-体测成绩判定2021.11.16

    4.兔子数列(斐波那契数列) 一对兔子在出生两个月后,每个月能生出一对小兔子.现有一对刚出生的兔子,如果所有兔子都不死,那么一年后共有多少对兔子? 分析 n=1,兔子=1对: n=2,兔子=1对: n ...

  2. c语言体测成绩判定,体测成绩纳入学生毕业成绩评定,你对它了解多少?

    体育一直是家校都非常重视的课程,学生的体测标准及考核成绩家长们也一直都很关心.今天,就来给大家介绍下有关小学生体测的相关知识. 一 体测成绩纳入学生毕业成绩评定 学生从小学一年级至大学四年级期间,每学 ...

  3. 程序设计作业_函数实验_体测成绩判定系统

    #include<stdio.h> double count_BMI(double BMI,int sex)//函数1:求体重指数成绩,形参为体重指数BMI和性别sex { int sco ...

  4. C语言程序设计--体测成绩信息管理系统

    #include<stdio.h> #include<stdlib.h> #include<string.h> #define MAX(x,y) (x>y?x ...

  5. 大学生体测成绩判断c语言_体育改革瞄准高校,体测不过关可能真的毕不了业了...

    「ECO氪体」体育圈人www.ecosports.cn 文/ 圈哥 回忆上学期间,体育最令你头疼的时刻是什么?是不是在体育中考将要到来之前,还没日没夜枯燥的训练和近乎苛刻的饮食控制?而现在,体育似乎不 ...

  6. python体测成绩数据分析统计服_体测成绩数据分析

    import numpy as np import pandas as pd from pandas import Series,DataFrame import matplotlib.pyplot ...

  7. 关于我对体测成绩进行分析这件事

    朋友你好,作为一个刚刚入门计算机专业的普通大学生,很高兴认识你,作为本次大创项目的主题,我们对体测成绩进行了数据分析,这篇文章就是对本次分析的一个概括与总结,如果可以给你一些启发,就最好不过了! 那么 ...

  8. 大学生体测成绩计算工具【npm包】

    fast-sports 项目简介 这是一个针对中国大学生体测成绩的计算工具 安装方式 npm install fast-sports api sprint(gender, garde, result) ...

  9. 烟台大学体测成绩查询程序

    先介绍下背景吧,我们学校每年都有一次体育测试,这个很重要,四年如果没有一次及格(达到60分,总分100)的话,那就拿不到毕业证,如果及格了成绩达不到75,一切一切奖学金都拿不到,连参评的资格都没有,不 ...

最新文章

  1. Hadoop 集群启动与停止
  2. nginx apache 服务器配置
  3. 视频PPT互动问答丨数据库智能运维专题
  4. 如何从云桌面(远程桌面)拷贝文件
  5. TextCNN模型原理
  6. flink 时间语义、水位线(Watermark)、生成水位线、水位线的传递
  7. 如何在word中的图片上画圈标注_word图片上画圈 如何在word图片中进行画圈标示...
  8. 1. 2020年《DeepMind&UCL深度学习讲座》第1讲:机器学习和AI入门【中文字幕】
  9. RecyclerView侧滑删除
  10. 怎么查看笔记本内存条型号_内存条,详细教您怎么查看内存条的型号
  11. ubuntu / linuxmint 搜狗输入法安装后 fcitx configure找不到的解决办法
  12. LateX使用笔记(持续更新)
  13. pygame 中的图形绘制函数、帧速率和文字相关知识,简单的的不得了
  14. 动态规划(3):最长非递减子序列
  15. 不得不看的五个堪称神器的在线网站工具
  16. 中国老婆和韩国老公的故事
  17. 如何使用Xshell连接阿里云服务器
  18. hrbust 1584 青蛙过河(二分)
  19. Tomcat三种部署方式
  20. this.show() java_C# - ShowDialog(this)内存泄漏

热门文章

  1. 用好Clear功能 让你感官不疲劳——rzxt.com
  2. 【第三趴】uni-app页面搭建与路由配置(了解工程目录结构、学会搭建页面、配置路由并成功运行)
  3. 【渝粤教育】国家开放大学2019年春季 1192高层建筑施工 参考试题
  4. 《PHP 7+MySQL 8动态网站开发从入门到精通(视频教学版)》示例源码课件教学视频免费下载
  5. 送书来了|Python数据分析必备工具书
  6. javaWeb(七)ajax远程调用
  7. 普希金-假如生活欺骗了你
  8. 基于微信图书商城小程序系统设计与实现 开题报告
  9. RHadoop培训 之 Java基础课
  10. oracle sql查询字段中以“;”分割的字符串,转化成对应的,以“;”分割的文字串