C语言成绩管理系统代码.docx
《C语言成绩管理系统代码.docx》由会员分享,可在线阅读,更多相关《C语言成绩管理系统代码.docx(18页珍藏版)》请在冰豆网上搜索。
![C语言成绩管理系统代码.docx](https://file1.bdocx.com/fileroot1/2022-11/16/35a9ff2f-b292-4f5f-a467-1e3c9239e6af/35a9ff2f-b292-4f5f-a467-1e3c9239e6af1.gif)
C语言成绩管理系统代码
#include
#include
#include
structstudent
{
charname[100];
charnum[3];
floatchinese;
floatc_program;
floatenglish;
floatmath;
floatsum;
floataverage;
};
structstudents[300];
intNumber=0;
intdq(structstudents[])
{
FILE*fp=NULL;
inti=0;
fp=fopen("C:
student.dat","rb");
while(fread(&s[i],sizeof(structstudent),1,fp))
i++;
fclose(fp);
returni;
}
voidmenu()
{
printf("\t*****************************************************************\n");
printf("\t*\t\t\t\t\t\t\t\t*\n");
printf("\t*\t\t\t欢迎使用学生成绩管理系统\t\t\t*\n");
printf("\t*\t\t\t\t\t\t\t\t*\n");
printf("\t*********************************\n");
printf("\t*[1]增加学生信息\t\t[2]查看学生信息\t\t*\n");
printf("\t*********************************\n");
printf("\t*[3]查找学生成绩\t\t[4]删除学生信息\t\t*\n");
printf("\t*********************************\n");
printf("\t*[5]修改学生成绩\t\t[6]成绩排序\t\t*\n");
printf("\t*********************************\n");
printf("\t*[7]输出挂科人数及成绩\t[0]退出系统\t\t*\n");
printf("\t*********************************\n");
printf("\t*\t\t\t*\n");
printf("\t*********************************\n");
printf("\t*\t\t\t*\n");
printf("\t*****************************************************************\n");
}
voidbc(structstudent*s)
{
FILE*fp=NULL;
fp=fopen("C:
student.dat","ab+");
fwrite(s,sizeof(structstudent),1,fp);
fclose(fp);
}
voidadd()
{
intn=0;
inti=0,j=0,k=0;
structstudentS;
printf("\t请输入要增加学生成绩个数:
");
scanf("%d",&n);
for(i=0;i{
k=0;
printf("\t输入第%d个同学信息\n",i+1);
printf("\t请输入学生的姓名:
");
scanf("%s",&S.name);
printf("\t学号:
");
scanf("%s",&S.num);
for(j=0;j{
if(strcmp(S.num,s[i].num)==0)
{
k=1;
}
}
if(k!
=0)
{
printf("\t添加失败,学号重复!
\n");
}
else
{
printf("\t[语文]成绩:
");
scanf("%f",&S.chinese);
printf("\t[数学]成绩:
");
scanf("%f",&S.math);
printf("\t[英语]成绩:
");
scanf("%f",&S.english);
printf("\t[C语言设计]成绩:
");
scanf("%f",&S.c_program);
S.sum=S.chinese+S.math+S.english+S.c_program;
S.average=S.sum/4;
}
}
if(k==0)
{
s[Number++]=S;
bc(&S);
printf("\t\t\t\t==>添加成功<==\n\n");
}
}
voidselect()
{
inti=0,j=0;
for(i=0;i{
j++;
}
printf("\t以下是全部%d名学生的成绩:
\n",j);
printf("姓名\t学号\t语文\t数学\t英语\tC语言设计\t总成绩\t平均分\n");
for(i=0;i{
printf("%s\t%s\t%.2f\t%.2f\t%.2f\t%.2f\t\t%.2f\t%.2f\t\n",s[i].name,s[i].num,s[i].chinese,s[i].math,s[i].english,s[i].c_program,s[i].sum,s[i].average);
}
}
voidxhxg()
{
FILE*fp=NULL;
charid[3];
inti=0,j=0,k=0;
intXH=-1;
printf("\t请输入要修改的学生学号:
");
scanf("%s",id);
for(i=0;i{
if(strcmp(id,s[i].num)==0)
{
XH=i;
}
}
if(XH==-1)
{
printf("\t不存在该学生信息!
\n");
}
else
{
printf("\t姓名\t学号\t语文\t数学\t英语\tC语言设计\t总成绩\t平均分\n");
printf("\t%s\t%s\t%.2f\t%.2f\t%.2f\t%.2f\t\t%.2f\t%.2f\n",s[XH].name,s[XH].num,s[XH].chinese,s[XH].math,s[XH].english,s[XH].c_program,s[XH].sum,s[XH].average);
printf("\t请重新输入该学生信息:
\n");
printf("\t姓名:
");
scanf("%s",s[XH].name);
printf("\t学号:
");
scanf("%s",s[XH].num);
for(j=0;j{
if(strcmp(s[XH].num,s[j].num)==0&&XH!
=j)
{
k=1;
}
}
if(k!
=0)
{
printf("\t修改失败,学号重复!
\n");
}
else
{
printf("\t[语文]成绩:
");
scanf("%f",&s[XH].chinese);
printf("\t[数学]成绩:
");
scanf("%f",&s[XH].math);
printf("\t[英语]成绩:
");
scanf("%f",&s[XH].english);
printf("\t[C语言设计]成绩:
");
scanf("%f",&s[XH].c_program);
s[XH].sum=s[XH].chinese+s[XH].math+s[XH].english+s[XH].c_program;
s[XH].average=s[XH].sum/4;
for(i=0;i{
fwrite(&s[i],sizeof(structstudent),1,fp);
}
fclose(fp);
printf("\t\t\t\t==>修改成功<==\n");
}
}
}
voidxmxg()
{
FILE*fp=NULL;
charname[60];
inti=0,j=0,k=0;
intXM=-1;
printf("\t请输入要修改的学生姓名:
");
scanf("%s",name);
for(i=0;i{
if(strcmp(name,s[i].name)==0)
{
XM=i;
}
}
if(XM==-1)
{
printf("\t不存在该学生信息!
\n");
}
else
{
printf("\t姓名\t学号\t语文\t数学\t英语\tC语言设计\t总成绩\t平均分\n");
printf("\t%s\t%s\t%.2f\t%.2f\t%.2f\t%.2f\t\t%.2f\t%.2f\n\n",s[XM].name,s[XM].num,s[XM].chinese,s[XM].math,s[XM].english,s[XM].c_program,s[XM].sum,s[XM].average);
printf("\t请重新输入该学生信息:
\n");
printf("\t姓名:
");
scanf("%s",s[XM].name);
printf("\t学号:
");
scanf("%s",s[XM].num);
for(j=0;j{
if(strcmp(s[XM].num,s[j].num)==0&&XM!
=j)
{
k=1;
}
}
if(k!
=0)
{
printf("\t修改失败,学号重复!
\n");
}
else
{
printf("\t[语文]成绩:
");
scanf("%f",&s[XM].chinese);
printf("\t[数学]成绩:
");
scanf("%f",&s[XM].math);
printf("\t[