对学生基本信息,包括学号、姓名、至少三门课成绩。
① 学生基本信息录入;
② 学生基本信息的输出;
③ 按学号查询学生信息;
④ 按学号修改某学生信息并输出;
⑤ 求每个人平均成绩;
⑥ 求每门课程平均成绩;
⑦ 删除某学生信息;
⑧ 添加某学生信息;
⑨ 输出个人平均分大于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()
{