欢迎光临散文网 会员登陆 & 注册

学生成绩管理系统的程序编写

2023-07-24 20:24 作者:三日习  | 我要投稿

#include <stdio.h>

#include<stdlib.h>

#include"1.h"

int main(int argc, char const *argv[])

{

  printf("************************************\n");

  printf(" *  学生成绩管理系统————帮助菜单   \n");

  printf("************************************\n");

  printf(" *   H = 显示帮助菜单       \n");

  printf(" *   T = 成绩录入        \n");

  printf(" *   A = 计算学生平均分      \n");

  printf(" *   L = 列出成绩表        \n");

  printf(" *   P = 按平均成绩由高到低排序   \n");

  printf(" *   S = 按学号查询学生成绩     \n");

  printf(" *   B = 按学号删除学生成绩     \n");

  printf(" *   D = 按学号修改学生成绩     \n");

  printf(" *   C = 请屏          \n");

  printf(" *   Q = 退出系统         \n");

  printf("************************************\n");

  printf(" * Copyright <c> 2011.06.12 By 姓名 \n");

  printf("************************************\n");

  while (1)

  {

    printf("请输入命令= ");

    char zhl;

    scanf(" %c", &zhl);

    if (zhl != 'T')

      printf("成绩表为空!请先使用命令T 录入学生成绩。\n");

    else

    {

      while (1)

      {


        switch (zhl)

        {

        case 'H':jia_H();break;

        case 'T':jia_T();break;

        case 'A':jia_A();break;

        case 'L':jia_L();break;

        case 'P':jia_P();break;

        case 'S':jia_S();break;

        case 'B':jia_B();break;

        case 'D':jia_D();break;

        case 'C':system("clear");break;

        case 'Q':exit(0);break;

        }

        printf("请输入命令= ");

        scanf(" %c", &zhl);

        while (getchar() != '\n')

          ;

      }

    }

  }

  return 0;

}



#include <stdio.h>

typedef struct a

{

  int id;

  float chinese;

  float math;

  float english;

  float pingjun;

} stu;

stu a[99];

void jia_T() //成绩录入  

{

  int n;

  printf("请输入学生人数:");

  scanf("%d", &n);

  printf("请输入%d名学生的三门课成绩\n", n);

  printf("学号 语文 数学 英语\n");

  for (int i = 0; i < n; i++)

  {

    a[i].id = i + 1;

    printf("%d ", a[i].id);

    scanf("%f %f %f", &a[i].chinese, &a[i].math, &a[i].english);

  }

}

void jia_L() //列出成绩表

{

  int n = 0;

  for (int i = 0; i < 99; i++)

    if (a[i].chinese != '\0')

      n++;

  printf("学生成绩如下:\n");

  printf("学号  语文  数学  外语  平均分\n");

  for (int i = 0; i < n; i++)

  {

    printf("%d\t%0.1f\t%0.1f\t%0.1f\t%0.1f\t\n", a[i].id, a[i].chinese, a[i].math, a[i].english, a[i].pingjun);

  }

}

void jia_A() //计算学生平均分

{

   int n = 0;

  for (int i = 0; i < 99; i++)

    if (a[i].chinese != '\0')

      n++;

  for (int i = 0; i < n; i++)

  {

    a[i].pingjun = (a[i].chinese + a[i].math + a[i].english) / 3.0;

  }

  printf("平均分已计算。请使用命令L查看\n");

}

void jia_P() //按平均成绩由高到低排序

{

int n = 0;

  for (int i = 0; i < 99; i++)

    if (a[i].chinese != '\0')

      n++;

  stu temp;

  for (int i = 0; i < n - 1; i++)

  {

    for (int j = 0; j < n - 1 - i; j++)

    {

      if (a[j].pingjun < a[j + 1].pingjun)

      {

        temp = a[j];

        a[j] = a[j + 1];

        a[j + 1] = temp;

      }

    }

  }

  printf("完成排序。请使用命令L查看。\n");

}

void jia_S() //按学号查询学生成绩

{

  int n = 0;

  for (int i = 0; i < 99; i++)

    if (a[i].chinese != '\0')

      n++;

  int j=0;

  printf("请输入要查询学生的学号:");

  scanf("%d", &j);

  for (int i = 0; i < n; i++)

  {

    if (a[i].id == j)

    {

      printf("学号  语文  数学  外语  平均分\n");

      printf("%d\t%0.1f\t%0.1f\t%0.1f\t%0.1f\t\n", a[i].id, a[i].chinese, a[i].math, a[i].english, a[i].pingjun);

    }

  }

}

void jia_H() //显示帮助菜单

{

  printf("************************************\n");

  printf(" *  学生成绩管理系统————帮助菜单   \n");

  printf("************************************\n");

  printf(" *   H = 显示帮助菜单       \n");

  printf(" *   T = 成绩录入        \n");

  printf(" *   A = 计算学生平均分      \n");

  printf(" *   L = 列出成绩表        \n");

  printf(" *   P = 按平均成绩由高到低排序   \n");

  printf(" *   S = 按学号查询学生成绩     \n");

  printf(" *   B = 按学号删除学生成绩     \n");

  printf(" *   D = 按学号修改学生成绩     \n");

  printf(" *   C = 请屏          \n");

  printf(" *   Q = 退出系统         \n");

  printf("************************************\n");

  printf(" * Copyright <c> 2011.06.12 By 姓名 \n");

  printf("************************************\n");

}

void jia_B() //按学号删除学生成绩

{

  int n = 0;

  for (int i = 0; i < 99; i++)

    if (a[i].chinese != '\0')

      n++;

  int j;

  printf("请输入要删除学生的学号:");

  scanf("%d", &j);

  for (int i = 0; i < n; i++)

  {

    if (a[i].id == n)

    {

      a[i].chinese=a[i].math=a[i].english=a[i].pingjun=0;

      printf("学号  语文  数学  外语  平均分\n");

      printf("%d\t%0.1f\t%0.1f\t%0.1f\t%0.1f\t\n", a[i].id, a[i].chinese, a[i].math, a[i].english, a[i].pingjun);

    }

  }

}

void jia_D() //按学号修改学生成绩

{

  int n = 0;

  for (int i = 0; i < 99; i++)

    if (a[i].chinese != '\0')

      n++;

  int j;

  printf("请输入要修改学生的学号:");

  scanf("%d", &j);

  for (int i = 0; i < n; i++)

  {

    if (a[i].id == n)

    {

      printf(" 语文 数学 英语\n");

      scanf("%f %f %f", &a[i].chinese, &a[i].math, &a[i].english);

      printf("学号  语文  数学  外语 \n");

      printf("%d\t%0.1f\t%0.1f\t%0.1f\t\n", a[i].id, a[i].chinese, a[i].math, a[i].english);

    }

  }

}



void jia_H();

void jia_T();

void jia_A();

void jia_L();

void jia_P();

void jia_S();

void jia_B();

void jia_D();



CC=gcc

#CC=arm-linux-none-gnueabi-gcc

OBJS=1.o t.o 

CFLAGS=-c -g -Wall

1:$(OBJS)

$(CC) $^ -o $@

%.o:%.c 

$(CC) $(CFLAGS) $< -o $@


.PHONY:clean

clean:

$(RM) *.o 1

学生成绩管理系统的程序编写的评论 (共 条)

分享到微博请遵守国家法律