2016年12月 23日 课程设计 学生医疗信息系统

烟台大学计算机与控制工程学院:

计163-1:王朝

程序设计:学生信息医疗系统

功能描述:统计学生信息,计算BMI值并统计不达标人数,并为其提出其需要要做出的改变,计算标准体重。

输入:n 学生个数及学生信息
返回值:无
其他说明:无
#include <stdio.h>
#include <stdlib.h>
#include<string.h>
struct date//定义结构体类型日期
{
    int year;
    int month;
    int day;
};
struct date birthday;
struct student//定义学生类型
{
    char num[20];
   char name[20];
   char sex;
    struct date birthday;
    float height;
    float weight;
    char body;
    int hip;
    int lop;
    char BMI[80];

};
int main()
{
    struct student stu[100],A[100],B[100];//定义学生结构体,stu[]输入信息,A[]和B[]是后面用来储存表示一定信息
    int i,n;//i来表示循环,n表示学生数
   float s;
  int count1=0,count2=0,count3=0;//来统计某个信息的学生人数
   printf("请输入学生人数:\n");
    scanf("%d",&n);//输入学生人数
    printf("学号 姓名 性别 出生年份 出生月份 出生时间 身高 体重 过敏体质 高压 低压 BMI\n");
    for(i=0; i<n; i++)//输入每个学生信息
        scanf("%s    %s    %c    %d    %d   %d   %f    %f   %c   %d    %d",stu[i].num,stu[i].name,&stu[i].sex,&stu[i].birthday.year,&stu[i].birthday.month,&stu[i].birthday.day,&stu[i].height,&stu[i].weight,&stu[i].body,&stu[i].hip,&stu[i].lop);
    for(i=0; i<n; i++)//计算学生的健康指数
    {
        s=stu[i].weight/(stu[i].height*stu[i].height);
        if(s>18.5&&s<23.9)
            strcpy(stu[i].BMI,"Medium");
        if(s<18.5)
            strcpy(stu[i].BMI,"Low");
        if(s>23.9)
            strcpy(stu[i].BMI,"High");
    }
    printf("学号 姓名 性别 出生年份 出生月份 出生时间 身高 体重 过敏体质 高压 低压 BMI\n");
    for(i=0; i<n; i++)//输出所有学生信息
        printf("%s    %s    %c    %d    %d    %d   %.2f   %.1f    %c   %d   %d     %s\n",stu[i].num,stu[i].name,stu[i].sex, stu[i].birthday.year,stu[i].birthday.month,stu[i].birthday.day,stu[i].height,stu[i].weight,stu[i].body,stu[i].hip,stu[i].lop,stu[i].BMI);
    printf("输出BIM不正常的学生:\n");//输出健康指数不达标的学生
   printf("院系专业 姓名\n");
   for(i=0; i<n; i++)//输出院系专业
    {
       if(s<18.5||s>23.9)
       {
            printf("%c%c%c%c%c   %s\n",stu[i].num[4],stu[i].num[5],stu[i].num[6],stu[i].num[7],stu[i].num[8],stu[i].name);
        }
   }
    for(i=0; i<n; i++)//统计不健康人数
    {
        s=stu[i].weight/(stu[i].height*stu[i].height);
        if(s>18.5&&s<23.9)
            count1++;
        if(s<18.5)
           count2++;
        if(s>23.9)
           count3++;
    }
   printf("正常 过低 过高\n");
    printf("%d %d %d\n",count1,count2,count3);
   for(i=0; i<n; i++)//对不健康的人数进行改正,减肥。
    {

        s=stu[i].weight/(stu[i].height*stu[i].height);
        if(s<18.5)
        {
           A[i].weight=(stu[i].height*stu[i].height)*18.5;
            B[i].weight=(stu[i].height*stu[i].height)*23.8;
       }
        if(s>23.9)
        {
            A[i].weight=(stu[i].height*stu[i].height)*18.5;
            B[i].weight=(stu[i].height*stu[i].height)*23.8;
        }
    }
   for(i=0; i<n; i++)
    {
        s=stu[i].weight/(stu[i].height*stu[i].height);

        if(s<18.5)
       {
            printf("你的体重低于标注体重%.2f\n",A[i].weight-stu[i].weight);
            printf("你应该保持标准体重:\n");
            printf("最小:%.2f 最大:%.2f\n",A[i].weight,B[i].weight);

        }
        if(s>23.9)         {
            printf("你的体重高于于标注体重%.2f\n",stu[i].weight-B[i].weight);
           printf("你应该保持标准体重\n:");
          printf("最小:%.2f 最大:%.2f\n",A[i].weight,B[i].weight);
       }

  }
   return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值