大学生成绩管理系统(C语言)

功能:成绩管理系统包含了学生的全部信息,每个学生是一个记录,包括学号,姓名,性别,班级,各科成绩(语数外)。

系统功能:

1.信息录入——录入学生信息;

2.信息输出——显示所有信息;

3.信息查询——查询单个学生信息(按学号或按姓名),按性别,班级查询;

4.信息排序——分别按各科成绩,平均成绩,学号,姓名,总分排名;

5.信息插入——插入一学生信息(中间插入和最后插入);

6.信息删除——删除一学生信息;(先打出学生信息然后确认删除);

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define MAXSIZE 1000
 typedef struct
 {
     int no;
     char name[11];
     char sex[9];
     char cla[11];
     int Chinese,math,Eng,sum,average;
 }Datatype;

 typedef  struct
 {
     Datatype data[MAXSIZE];
     int len;
 }SeqList;

/*录入学生信息*/
 void input(SeqList *L)
 {
     int i;
     printf("请输入学生的人数:");
     scanf("%d",&L->len);
     printf("请输入学生的学号、姓名、性别、班级、语数英成绩:\n");
     printf("(之间用Tab键隔开)\n\n");
     printf("学号   姓名    性别    班级    语文    数学    英语\n");
     for(i=1;i<=L->len;i++)
     {
         scanf("%d%s%s%s%d%d%d",&L->data[i].no,L->data[i].name,L->data[i].sex,L->data[i].cla,&L->data[i].Chinese,&L->data[i].math,&L->data[i].Eng);
         L->data[i].sum=L->data[i].Chinese+L->data[i].math+L->data[i].Eng;
         L->data[i].average=(int)L->data[i].sum/3;
     }
 }

/*浏览学生信息*/
 void display(SeqList *L)
 {
     int i;
     printf("学号   姓名    性别    班级    语文    数学    英语    总分    平均分\n");
     for(i=1;i<=L->len;i++)
     {
         printf("%3d%7s%7s%9s%8d%8d%8d%8d%8d\n",L->data[i].no,L->data[i].name,L->data[i].sex,L->data[i].cla,L->data[i].Chinese,L->data[i].math,L->data[i].Eng,L->data[i].sum,L->data[i].average);
     }
 }

 /*按学号查找学生信息*/
 int search_no(SeqList *L,Datatype x)
 {
     int i=1;
     while(i<=L->len&&L->data[i].no!=x.no)
     {
         i++;
     }
     if(i>L->len)
     {
         return 0;
     }
     else
     {
         return i;
     }

 }

 /*按姓名查找学生信息*/
 int search_name(SeqList *L,Datatype x)
 {
     int i=1;
     while(i<=L->len&&strcmp(L->data[i].name,x.name)!=0)
     {
         i++;
     }
     if(i>L->len)
     {
         return 0;
     }
     else
     {
         return i;
     }
 }

 /*按性别查找学生信息*/
 void search_sex(SeqList *L,Datatype x)
 {
     int i;
     for(i=1;i<=L->len;i++)
     {
         if(i<=L->len&&strcmp(L->data[i].sex,x.sex)==0)
         {
             printf("学号   姓名    性别    班级    语文    数学    英语    总分    平均分\n");
             printf("%3d%7s%7s%9s%8d%8d%8d%8d%8d\n",L->data[i].no,L->data[i].name,L->data[i].sex,L->data[i].cla,L->data[i].Chinese,L->data[i].math,L->data[i].Eng,L->data[i].sum,L->data[i].average);
         }
     }
 }

 /*按班级查找学生信息*/
 void search_cla(SeqList *L,Datatype x)
 {
     int i;
     for(i=1;i<=L->len;i++)
     {
         if(i<=L->len&&strcmp(L->data[i].cla,x.cla)==0)
         {
             printf("学号   姓名    性别    班级    语文    数学    英语    总分    平均分\n");
             printf("%3d%7s%7s%9s%8d%8d%8d%8d%8d\n",L->data[i].no,L->data[i].name,L->data[i].sex,
  • 5
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值