#include
#include
#include
#define NUM 100
struct student
{
int term;
int num;
int classes;
char name[10];
int score[4];
int sum;
float average;
}stu[NUM];
void input()
{
system("cls");
int i;
char a;
for(i=0;i
{
printf("\n请输入学生的学期:");
scanf("%d",&stu[i].term);
printf("\n请输入学生的学号:");
fflush(stdin);
scanf("%d",&stu[i].num);
printf("\n请输入学生的班级:");
scanf("%d",&stu[i].classes);
printf("\n请输入学生的姓名:");
scanf("%s",stu[i].name);
printf("\n请输入语文成绩:");
scanf("%d",&stu[i].score[0]);
printf("\n请输入学生的数学成绩:");
scanf("%d",&stu[i].score[1]);
printf("\n请输入学生的英语成绩:");
scanf("%d",&stu[i].score[2]);
printf("\n请输入学生的计算机成绩:");
scanf("%d",&stu[i].score[3]);
stu[i].sum=stu[i].score[0]+stu[i].score[1]+stu[i].score[2]+stu[i].score[3];
stu[i].average=(float)stu[i].sum/4.0;
printf("是否要继续添加(按N&n退出)");
fflush(stdin);
a=getchar();
if(a=='n'||a=='N')
break;
}
}
void search()
{
system("cls");
int number=0,i;
printf("\t\t\t 请输入要查找学生的学号:");
scanf("%d",&number);
printf("学号\t姓名\t班级 语文 数学 英语 计算机 总分 平均分\n");
for(i=0;i
if(number==stu[i].num)break;
if(i
{printf("%d\t%s\t%d%5d%5d%5d%6d%7d%8.2f\n",stu[i].num,stu[i].name,stu[i].classes,
stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].score[3],stu[i].sum,stu[i].average);
}
else
printf("没找到该学生的信息\n");
system("pause");
}
void print1()
{
int i,m;
printf("请输入学期:\n");
scanf("%d",&m);
printf("学号\t姓名\t班级 语文 数学 英语 计算机 总分 平均分\n");
for(i=0;i
{
if(m==stu[i].term)
printf("%d\t%s\t%d%5d%5d%5d%6d%7d%8.2f\n",stu[i].num,stu[i].name,stu[i].classes,
stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].score[3],stu[i].sum,stu[i].average);
}
system("pause");system("cls");print();
}
void print2()
{
int i,j,k;
printf("请输入班级:\n");
scanf("%d",&k);
printf("学号\t姓名\t班级 语文 数学 英语 计算机 总分 平均分\n");
for(i=0;i
{
if(k==stu[i].classes)
{
stu[i].sum=stu[i].score[0]+stu[i].score[1]+stu[i].score[2]+stu[i].score[3];
stu[i].average=(float)stu[i].sum/4.0;
printf("%d\t%s\t%d%5d%5d%5d%6d%7d%8.2f\n",stu[i].num,stu[i].name,stu[i].classes,
stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].score[3],stu[i].sum,stu[i].average);
}
}
printf("输出不及格学生名单及成绩:\n");
printf("学号\t姓名\t班级 语文 数学 英语 计算机 \n");
for(i=0;i
{for(j=0;j<4;j++)
{
if(stu[i].score[j]<60&&k==stu[i].classes)
printf("%d\t%s\t%d%5d%5d%5d%6d\n",stu[i].num,stu[i].name,stu[i].classes,
stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].score[3]);
break;
}
}
system("pause");system("cls");print();
}
void print()
{
system("cls");
char a;
printf("1 按学期输出\n");
printf("2 按班级输出\n");
printf("3 返回\n");
fflush(stdin);
a=getchar();
switch(a)
{
case'1':print1();
case'2':print2();
case'3':zcd();
default:print();
}
}
void sort()
{
int i,j=0;
int temp;
for(i=0;i
{
stu[i].sum=stu[i].score[0]+stu[i].score[1]+stu[i].score[2]+stu[i].score[3];
stu[i].average=(float)stu[i].sum/4.0;
}
for(i=0;i
{
for(j=i+1;j
{
if(stu[i].sum
{
temp=stu[i].sum;
stu[i].sum=stu[j].sum;
stu[j].sum=temp;
}
}
}
printf("学号\t姓名\t班级 语文 数学 英语 计算机 总分 平均分\n");
for(i=0;i
printf("%d\t%s\t%d%5d%5d%5d%6d%7d%8.2f\n",stu[i].num,stu[i].name,stu[i].classes,
stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].score[3],stu[i].sum,stu[i].average);
system("pause");system("cls");print();
}
void modify()
{
system("cls");
int number,i;
printf("\t\t\t请输入要修改信息的学生学号:");
scanf("\t\t\t%d",&number);
for(i=0;i
if(number==stu[i].num) break;
if(i
{
printf("请输入修改后的学生信息:");
printf("\n请输入学生的学期:");
scanf("%d,&stu[i].temp");
printf("\n请输入学生的学号:");
fflush(stdin);
scanf("%d",&stu[i].num);
printf("\n请输入学生的班级:");
scanf("%d",&stu[i].classes);
printf("\n请输入学生的姓名:");
scanf("%d",&stu[i].name);
printf("\n请输入学生的语文成绩:");
scanf("%d",&stu[i].score[0]);
printf("\n请输入学生的数学成绩:");
scanf("%d",&stu[i].score[1]);
printf("\n请输入学生的英语成绩:");
scanf("%d",&stu[i].score[2]);
printf("\n请输入学生的计算机成绩:");
scanf("%d",&stu[i].score[3]);
}
else
printf("没找到该学生的信息\n");
system("pause");system("cls");zcd();
}
void zcd()
{
int n=0;
char m;
system("cls");
printf("按任一键进入主菜单\n");
printf("*******************************************************\n");
printf("\t\t贺州学院欢迎您\n");
printf("\n\t\t\t-----欢迎使用学生管理系统\n\n\t\t\t\t\t-----\n");
printf("***********************MENU****************************\n");
printf("\t\t\t1. 输入学生成绩记录\n");
printf("\t\t\t2. 排序并显示\n");
printf("\t\t\t3. 按班级显示成绩单\n");
printf("\t\t\t4. 查找个人成绩\n");
printf("\t\t\t5. 修改\n");
printf("\t\t\t6. 退出\n");
printf("*******************************************************\n");
printf("\n\t\t\t 输入你的选择(1~7):");
fflush(stdin);
m=getchar();
do
{
switch(m)
{
case'1':input();zcd();break;
case'2':sort();system("pause");zcd();break;
case'3':print();system("pause");break;
case'4':search();zcd();break;
case'5':modify();system("pause");zcd();break;
case'6':exit(0);
default:printf("错误命令");getchar();zcd();
}
}while(1);
}
int main()
{
zcd();
}