学生信息管理系统-结构体编写

对学生基本信息,包括学号、姓名、至少三门课成绩。

①  学生基本信息录入;

②  学生基本信息的输出;

③  按学号查询学生信息;

④  按学号修改某学生信息并输出;

⑤  求每个人平均成绩;

⑥  求每门课程平均成绩;

⑦  删除某学生信息;

⑧  添加某学生信息;

⑨  输出个人平均分大于80分的同学信息;

根据总成绩或平均成绩综合排名

源代码:

#include<stdio.h>

#include<string.h>

#include<stdlib.h>

#define N 35 //35个学生

#define M 3 //3门课程

typedef struct student  //定义结构体student

{

    longstudentID;

    charstudentName[10];

    charstudentSex;

    float score[M];

    float sum;

    float aver;

}STUDENT;

STUDENT stu[N]; //定义结构体的数组

 

int n,m;

 

void inputscore(STUDENT stu[]); //输入学生信息

void ReadfromFile(STUDENT stu[],int *n,int *m);  //从文件中读取学生的信息到结构体数组stu中

void savescore(STUDENT stu[]);//保存学生成绩

void avergescore(STUDENT stu[]);//求平均分

void sum(STUDENT stu[]);//求总分

void lookscore(STUDENT stu[]);//按平均分高低排序输出

void searchscore(STUDENT stu[]);//通过输入学号查找学生成绩

void statistic(STUDENT stu[]);//输出班级及格率、>80分的学生名单

void add(STUDENT stu[]);//添加学生成绩

void modify(STUDENT stu[]);//通过学号修改学生成绩

void deletescore(STUDENT stu[]);//删除指定学生成绩

void menu();//主选择菜单

void main()

{

     short intflag=0;

     STUDENTstu[N];

     menu();

     do

     {

        flag=1;

         //scanf("%d",&h);

         switch(getchar())

         {

            case '0':         //从文件中读取成绩

                 ReadfromFile(stu,&n,&m);

                 break;

            case '1':         //输入成绩

                 inputscore(stu);

                 break;

            case'2':         //查看成绩

                 lookscore(stu);

                 break;

            case'3':         //按学号查找成绩

                 searchscore(stu);

                 break;

            case'4':         //统计成绩

                 statistic(stu);

                 break;

            case'5':         //按学号修改成绩

                 modify(stu);

                 break;

            case'6':         //按学号添加成绩

                 add(stu);

                 break;

            case'7':         //删除成绩

                 deletescore(stu);

                 break;

            case'8':         //保存成绩

                 savescore(stu);

                 break;

            case'9':         //退出程序

                return ; 

            default:

                printf("操作数无效,按任意键返回主菜单\n");

               

         }

     printf("按任意键继续\n");

     getchar();//等待用户输入任意字符

     getchar();

     system("CLS");//清屏

     menu();

     }while(flag==1);

 

}

 

 

//主选择菜单

void menu()

{

    

   

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值