c 语言 学生成绩管理系统.docx
《c 语言 学生成绩管理系统.docx》由会员分享,可在线阅读,更多相关《c 语言 学生成绩管理系统.docx(23页珍藏版)》请在冰豆网上搜索。
c语言学生成绩管理系统
学生成绩管理系统
#include
#include
#include
intman=0;
intj;
charstr[20];
structstudent
{
charid[11];
charname[10];
intn1;
intn2;
intn3;
intn4;
intn5;
intn6;
intn7;
intn8;
intn9;
intzong;
intping;
}student[100],temp;
voidread(void)
{
FILE*cj;
inti,k;
man=0;
while
(1)
{
printf("请输入要读取的文件:
\n");
scanf("%s",&str);
if((cj=fopen(str,"r"))==NULL)
{
printf("打开失败\n");
}
else
{
break;
}
}
for(i=0;i<500;i++)
{
if(fscanf(cj,"%s%s%d%d%d%d%d%d%d%d%d",&student[i].id,&student[i].name,&student[i].n1,&student[i].n2,&student[i].n3,&student[i].n4,&student[i].n5,&student[i].n6,&student[i].n7,&student[i].n8,&student[i].n9)==-1)
{
break;
}
man=man+1;
}
printf("从%s读取去了“%d”条记录\n",str,man);
for(k=0;k{
student[k].zong=student[k].n1+student[k].n2+student[k].n3+student[k].n4+student[k].n5+student[k].n6+student[k].n7+student[k].n8+student[k].n9;
}
for(i=0;i{
student[i].ping=student[i].zong/9;
}
fclose(cj);
}
voidwrite(void)
{
FILE*cj;
inti;
charme;
printf("请确认是否保存(是:
y,否:
任意键):
\n");
scanf("%s",&me);
if(me=='y')
{
if((cj=fopen(str,"w"))==NULL)
{
printf("保存失败\n");
}
for(i=0;i{
fprintf(cj,"%s%s%d%d%d%d%d%d%d%d%d\n",student[i].id,student[i].name,student[i].n1,student[i].n2,student[i].n3,student[i].n4,student[i].n5,student[i].n6,student[i].n7,student[i].n8,student[i].n9);
}
printf("存了“%d”条记录到%s\n",man,str);
fclose(cj);
}
else
return;
}
voidsave(void)
{
FILE*cj;
inti;
charme;
printf("请输入新的文件名:
\n");
scanf("%s",&str);
printf("请确认是否保存(是:
y,否:
任意键):
\n");
scanf("%s",&me);
if(me=='y')
{
if((cj=fopen(str,"w"))==NULL)
{
printf("保存失败\n");
}
for(i=0;i{
fprintf(cj,"%s%s%d%d%d%d%d%d%d%d%d\n",student[i].id,student[i].name,student[i].n1,student[i].n2,student[i].n3,student[i].n4,student[i].n5,student[i].n6,student[i].n7,student[i].n8,student[i].n9);
}
printf("存了“%d”条记录到%s\n",man,str);
fclose(cj);
}
else
return;
}
voidprint(void)
{
inti;
for(i=0;i<72;i++)
printf("*");
printf("\n");
printf("|学号姓名123456789平均分总分|\n");
for(i=0;i{
printf("|%10s%-6s%3d%3d%3d%3d%3d%3d%3d%3d%3d%3d%3d|\n",student[i].id,student[i].name,student[i].n1,student[i].n2,student[i].n3,student[i].n4,student[i].n5,student[i].n6,student[i].n7,student[i].n8,student[i].n9,student[i].ping,student[i].zong);
}
for(i=0;i<72;i++)
printf("*");
printf("\n");
}
voidinquiry(void)
{
inti;
charid[10];
while
(1)
{
printf("请输入要查人的学号或名字(输入-1即返回上一级):
\n");
scanf("%s",&id);
if(id[0]=='-'&&id[1]=='1')
{
printf("exit\n");
break;
}
else
{
for(i=0;i{
if(strcmp(student[i].id,id)==0)
{
j=i;
break;
}
if(strcmp(student[i].name,id)==0)
{
j=i;
break;
}
j=-1;
}
if(j==-1)
{
printf("无此人\n");
}
else
{
printf("|学号姓名123456789总分平均分|\n");
printf("|%10s%-6s%3d%3d%3d%3d%3d%3d%3d%3d%3d%3d%3d|\n",student[j].id,student[j].name,student[j].n1,student[j].n2,student[j].n3,student[j].n4,student[j].n5,student[j].n6,student[j].n7,student[j].n8,student[j].n9,student[i].ping,student[i].zong);
}
}
}
}
voidfail(void)
{
inti;
printf("有不及格成绩的学生为:
\n");
for(i=0;i{
if(student[i].n1<60||student[i].n2<60||student[i].n3<60||student[i].n4<60||student[i].n5<60||student[i].n6<60||student[i].n7<60||student[i].n8<60||student[i].n9<60)
{
printf("|%10s%-6s%3d%3d%3d%3d%3d%3d%3d%3d%3d%3d%3d|\n",student[i].id,student[i].name,student[i].n1,student[i].n2,student[i].n3,student[i].n4,student[i].n5,student[i].n6,student[i].n7,student[i].n8,student[i].n9,student[i].ping,student[i].zong);
}
}
}
voidcompositor(void)
{
inti,k;
charm;
printf("请选择干什么排序:
\n");
printf("1.成绩1\n");
printf("2.成绩2\n");
printf("3.成绩3\n");
printf("4.成绩4\n");
printf("5.成绩5\n");
printf("6.成绩6\n");
printf("7.成绩7\n");
printf("8.成绩8\n");
printf("9.成绩9\n");
printf("0.总成绩或平均成绩\n");
scanf("%s",&m);
if(m=='0')
{
for(k=man;k>0;k--)
{
for(i=0;i{
if(student[i].zong{
temp=student[i];
student[i]=student[i+1];
student[i+1]=temp;
}
}
}
}
elseif(m=='1')
{
for(k=man;k>0;k--)
{
for(i=0;i{
if(student[i].n1{
temp=student[i];
student[i]=student[i+1];
student[i+1]=temp;
}
}
}
}
elseif(m=='2')
{
for(k=man;k>0;k--)
{
for(i=0;i{
if(student[i].n2{
temp=student[i];
student[i]=student[i+1];
student[i+1]=temp;
}
}
}
}
elseif(m=='3')
{
for(k=man;k>0;k--)
{
for(i=0;i{
if(student[i].n3{
temp=student[i];
student[i]=student[i+1];
student[i+1]=temp;
}
}
}
}
elseif(m=='4')
{
for(k=man;k>0;k--)
{
for(i=0;i{
if(student[i].n4{
temp=student[i];
student[i]=student[i+1];
student[i+1]=temp;
}
}
}
}
elseif(m=='5')
{
for(k=man;k>0;k--)
{
for(i=0;i{
if(student[i].n5{
temp=student[i];
student[i]=student[i+1];
student[i+1]=temp;
}
}
}
}
elseif(m=='6')
{
for(k=man;k>0;k--)
{
for(i=0;i{
if(student[i].n6{
temp=student[i];
student[i]=student[i+1];
student[i+1]=temp;
}
}
}
}
elseif(m=='7')
{
for(k=man;k>0;k--)
{
for(i=0;i{
if(student[i].n7{
temp=student[i];
student[i]=student[i+1];
student[i+1]=temp;
}
}
}
}
elseif(m=='8')
{
for(k=man;k>0;k--)
{
for(i=0;i{
if(student[i].n8{
temp=student[i];
student[i]=student[i+1];
student[i+1]=temp;
}
}
}
}
elseif(m=='9')
{
for(k=man;k>0;k--)
{
for(i=0;i{
if(student[i].n9{
temp=student[i];
student[i]=student[i+1];
student[i+1]=temp;
}
}
}
}
else
printf("无此功能\n");
}
voidraise(void)
{
printf("请输入添加人的学号:
\n");
scanf("%s",&student[man].id);
printf("请输入添加人的姓名:
\n");
scanf("%s",&student[man].name);
printf("请输入添加人的成绩1:
\n");
scanf("%d",&student[man].n1);
printf("请输入添加人的成绩2:
\n");
scanf("%d",&student[man].n2);
printf("请输入添加人的成绩3:
\n");
scanf("%d",&student[man].n3);
printf("请输入添加人的成绩4:
\n");
scanf("%d",&student[man].n4);
printf("请输入添加人的成绩5:
\n");
scanf("%d",&student[man].n5);
printf("请输入添加人的成绩6:
\n");
scanf("%d",&student[man].n6);
printf("请输入添加人的成绩7:
\n");
scanf("%d",&student[man].n7);
printf("请输入添加人的成绩8:
\n");
scanf("%d",&student[man].n8);
printf("请输入添加人的成绩9:
\n");
scanf("%d",&student[man].n9);
student[man].zong=student[man].n1+student[man].n2+student[man].n3+student[man].n4+student[man].n5+student[man].n6+student[man].n7+student[man].n8+student[man].n9;
student[man].ping=student[man].zong/9;
man=man+1;
}
voidalter(void)
{
inti;
charid[10];
printf("请输入要修改人的学号:
\n");
scanf("%s",&id);
for(i=0;i{
if(strcmp(student[i].id,id)==0)
{
j=i;
break;
}
j=-1;
}
if(j==-1)
{
printf("无此人\n");
}
else
{
printf("请输入要修改为的学号:
\n");
scanf("%s",&student[j].id);
printf("请输入要修改为的姓名:
\n");
scanf("%s",&student[j].name);
printf("请输入要修改为的成绩1:
\n");
scanf("%d",&student[j].n1);
printf("请输入要修改为的成绩2:
\n");
scanf("%d",&student[j].n2);
printf("请输入要修改为的成绩3:
\n");
scanf("%d",&student[j].n3);
printf("请输入要修改为的成绩4:
\n");
scanf("%d",&student[j].n4);
printf("请输入要修改为的成绩5:
\n");
scanf("%d",&student[j].n5);
printf("请输入要修改为的成绩6:
\n");
scanf("%d",&student[j].n6);
printf("请输入要修改为的成绩7:
\n");
scanf("%d",&student[j].n7);
printf("请输入要修改为的成绩8:
\n");
scanf("%d",&student[j].n8);
printf("请输入要修改为的成绩9:
\n");
scanf("%d",&student[j].n9);
student[j].zong=student[j].n1+student[j].n2+student[j].n3+student[j].n4+student[j].n5+student[j].n6+student[j].n7+student[j].n8+student[j].n9;
student[j].ping=student[j].zong/9;
}
}
voiddeletes()
{
inti,k;
charid[10];
printf("请输入要删除人的学号:
\n");
scanf("%s",&id);
for(i=0;i{
if(strcmp(student[i].id,id)==0)
{
j=i;
break;
}
j=-1;
}
if(j==-1)
{
printf("无此人\n");
}
else
{
for(k=j;k{
student[j]=student[j+1];
j=j+1;
}
man=man-1;
}
}
voidmenu(void)
{
inti;
printf("\n");
for(i=0;i<10;i++)
printf("");
for(i=0;i<60;i++)
printf("*");
for(i=0;i<9;i++)
printf("");
printf("\n");
for(i=0;i<10;i++)
printf("");
printf("#1.显示学生成绩信息6.查询不及格学生信息#\n");
for(i=0;i<10;i++)
printf("");
printf("#2.按成绩由高到低排序7.修改学生成绩信息#\n");
for(i=0;i<10;i++)
printf("");
printf("#3.添加学生成绩信息8.读取文件#\n");
for(i=0;i<10;i++)
printf("");
printf("#4.删除学生成绩信息9.保存文件#\n");
for(i=0;i<10;i++)
printf("");
printf("#5.查询学生成绩信息-.另存为#\n");
for(i=0;i<10;i++)
printf("");
printf("#+.退出#\n");
for(i=0;i<10;i++)
printf("");
for(i=0;i<60;i++)
printf("*");
for(i=0;i<9;i++)
printf("");
printf("\n");
}
intmain(void)
{
chari;
read();
menu();
while
(1)
{
printf("请输入要选择的需要功能的序列号(输入0显示菜单):
\n");
scanf("%s",&i);
if(i=='1')
{
print();
}
elseif(i=='2')
{
compositor();
print();
}
elseif(i=='3')
{
raise();
print();
}
elseif(i=='4')
{
deletes();
print();
}
elseif(i=='5')
{
inquiry();
}
elseif(i=='6')
{
fail();
}
elseif(i=='7')
{
alter();
print();
}
elseif(i=='8')
{
read();
}
elseif(i=='9')
{
write();
}
elseif(i=='0')
{
menu();
}
elseif(i=='+')
{
break;
}
elseif(i=='-')
{
save();
}
else
{
printf("无此功能,请重新输入序列号\n");
}
}
return0;
}