/*
问题描述:
对学生成绩进行管理,学生信息包括:学号、姓名、班级、课程1、课程2、课程3、课程4、学期。
基本要求
(1) 能按学期、按班级完成对学生成绩的录入、修改;
(2) 能按班级统计学生的成绩,求学生的总分及平均分,并能根据学生的平均成绩进行排序;
(3) 能查询学生成绩,不及格科目及学生名单;
(4) 能按班级输出学生的成绩单。
*/
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct//学号,姓名,班级,课程1,课程2,课程3,课程4,学期。
{
char num[20];
char name[20];
int cla;
int c1;
int c2;
int c3;
int c4;
int term;
float aver;
int sum;
}Student;
Student stu[80];
int in(Student a[],int n);//输入学生信息
int chick(Student st[],int n);//查看函数
int clasort(Student st[],int n);//按班级排序
int change(Student st[],int n);//修改学生成绩
int aversort(Student st[],int n);//平均分排序
int find(Student st[],int n);//查询学生成绩
int unlow(Student st[],int n);//不及格学生
void file(Student st[],int n);//保存到文件
int main()//主函数
{
int n=0;
for(;;)
{
printf(" 1.录入学生成绩\n");
printf(" 2.修改学生成绩\n");
printf(" 3.查看学生成绩\n");
printf(" 4.平均分排序\n");
printf(" 5.查询学生成绩\n");
printf(" 6.不及格学生\n");
printf(" 7.输出成绩单\n");
printf(" 8.结束程序\n");
int a=0;
scanf("%d",&a);
switch(a)
{
case 1:
n=in(stu,n);
break;
case 2:
change(stu,n);
break;
case 3:
chick(stu,n);
break;
case 4:
aversort(stu,n);
break;
case 5:
find(stu,n);
break;
case 6:
unlow(stu,n);
break;
case 7:
file(stu,n);
break;
case 8:
system("pause");
exit(0);
break;
default:
printf("选择错误\n") ;
break;
}
system("pause");
system("cls");
}
return 0;
}
int in(Student st[],int n)//学生信息录入功能
{
int i=0;
int a=1,b,c,d;
printf("按学期输入请按1,按班级输入请按2\n");
scanf("%d",&b);
if(b==1&&a==1)
{
printf("请输入学期:");
scanf("%d",&c);
while(a==1)
{
printf("\t学生学号 :");
scanf("\t%s",st[n+i].num);
printf("\t学生姓名 :");
scanf("\t%s",st[n+i].name);
printf("\t学生班级 :");
scanf("\t%d",&st[n+i].cla);
printf("\t学生科目1:");
scanf("\t%d",&st[n+i].c1);
printf("\t学生科目2:");
scanf("\t%d",&st[n+i].c2);
printf("\t学生科目3:");
scanf("\t%d",&st[n+i].c3);
printf("\t学生科目4:");
scanf("\t%d",&st[n+i].c4);
st[n+i].term=c;
st[n+i].sum=st[n&#
C语言课程设计 学生成绩管理系统
最新推荐文章于 2023-01-07 13:03:24 发布