C语言学生成绩管理系统源程序Word格式文档下载.doc
《C语言学生成绩管理系统源程序Word格式文档下载.doc》由会员分享,可在线阅读,更多相关《C语言学生成绩管理系统源程序Word格式文档下载.doc(13页珍藏版)》请在冰点文库上搜索。
&
sign!
N'
)
{
printf("
输入学生学号:
"
);
scanf("
%s"
stu[n+i].num);
输入学生姓名:
stu[n+i].name);
输入学生的语文、数学、英语、电路分数:
%d%d%d%d"
&
stu[n+i].chinese,&
stu[n+i].math,&
stu[n+i].english,&
stu[n+i].dianlu);
a=1.0*(stu[n+i].chinese+stu[n+i].math+stu[n+i].english+stu[n+i].dianlu)/4;
stu[n+i].aver=a;
gets(x);
/*清除多余的输入*/
是否继续输入?
(Y/N):
\n"
%c"
sign);
i++;
}
return(n+i);
}
voidxianshi(Studentstud[],intn)/*显示所有记录*/
inti;
printf("
----------------------------------------------------------\n"
/*格式头*/
学号姓名语文数学英语电路平均成绩\n"
for(i=0;
i<
n;
i++)
{
printf("
%-10s%-10s%-10d%-10d%-10d%-10d%-10.2lf\n"
stu[i].num,stu[i].name,stu[i].chinese,stu[i].math,stu[i].english,stu[i].dianlu,stu[i].aver);
}
voidxiugai(Studentstud[],intn)/*修改*/
inti=0,choice=1;
charx[10];
while(choice!
=0)
{printf("
请输入您要修改的学生的学号:
scanf("
x);
for(i=0;
;
i++)
{
if(strcmp(stu[i].num,x)==0)break;
}
printf("
请选择您要修改的内容:
----------------------\n"
printf("
|姓名请按1|\n"
|语文请按2|\n"
|数学分数请按3|\n"
|英语分数请按4|\n"
printf("
|电路请按5|\n"
|退出请按0|\n"
+----------------------+\n"
请输入您的选择:
%d"
&
choice);
switch(choice)
{
case0:
break;
case1:
printf("
请输入新姓名:
scanf("
stu[i].name);
break;
case2:
请输入新的语文分数:
scanf("
stu[i].chinese);
case3:
请输入新的数学分数:
stu[i].math);
case4:
请输入新的英语分数:
stu[i].english);
case5:
请输入新的电路分数:
stu[i].dianlu);
default:
\n无效选项!
}break;
}
return;
}
intshanchu(Studentstud[],intn)/*按姓名查找,删除一条记录*/
{chars[20];
inti;
intj;
i=0;
输入要删除记录的姓名:
s);
while(strcmp(stu[i].name,s)!
=0&
n)i++;
if(i==n)
{printf("
notfind!
return(n);
}
for(j=i;
j<
n-1;
j++)/*删除操作*/
strcpy(stu[j].num,stu[j+1].num);
strcpy(stu[j].name,stu[j+1].name);
stu[j].chinese=stu[j+1].chinese;
stu[j].math=stu[j+1].math;
stu[j].english=stu[j+1].english;
stu[j].dianlu=stu[j+1].dianlu;
stu[j].aver=stu[j+1].aver;
DeleteSuccessed!
return(n-1);
voidchaxun_xingming(Studentstud[],intn)/*按姓名查找并显示一个记录*/
inti=0;
输入姓名:
/*查找判断*/
/*输入失败信息*/
return;
他的姓名、学号是:
%s%s\n"
stu[i].name,stu[i].num);
/*输出该学生信息*/
语文高数英语电路平均成绩是:
%d,%d,%d,%d,%lf\n"
stu[i].chinese,stu[i].math,stu[i].english,stu[i].dianlu,stu[i].aver);
}
voidchaxun_pingjun(Studentstud[],intn)/*按平均成绩查找并显示一个记录*/
{doubles;
输入平均成绩:
%lf"
s);
while(stu[i].aver!
=s&
i<
if(i==n)
{printf("
他的学号是:
%s\n"
stu[i].num);
他的姓名是:
stu[i].name);
他的语文、数学、英语、电路分数是:
%d%d%d%d\n"
stu[i].chinese,stu[i].math,stu[i].english,stu[i].dianlu);
voidpaixu_xuehao(Studentstud[],intn)/*按学号排序*/
{inti,j,p,q,r,w;
doubley;
charx[20],t[10];
for(i=0;
i++)/*冒泡法排序*/
for(j=0;
n-1-i;
j++)
if(strcmp(stud[j].num,stud[j+1].num)>
0)
{strcpy(t,stud[j].num);
strcpy(stud[j].num,stud[j+1].num);
strcpy(stud[j+1].num,t);
strcpy(x,stud[j].name);
strcpy(stud[j].name,stud[j+1].name);
strcpy(stud[j+1].name,x);
y=stu[j].aver;
stu[j+1].aver=y;
p=stu[j].chinese;
stu[j+1].chinese=p;
q=stu[j].math;
stu[j+1].math=q;
r=stu[j].english;
stu[j+1].english=r;
w=stu[j].dianlu;
stu[j+1].dianlu=w;
voidpaixu_pingjun(Studentstud[],intn)/*按平均成绩排序*/
if(stu[j].aver>
stu[j+1].aver)
{y=stu[j].aver;
p=stu[j].chinese;
q=stu[j].math;
r=stu[j].english;
w=stu[j].dianlu;
strcpy(x,stu[j].name);
strcpy(stu[j].name,stu[j+1].name);
strcpy(stu[j+1].name,x);
strcpy(t,stu[j].num);
strcpy(stu[j].num,stu[j+1].num);
strcpy(stu[j+1].num,t);
}
return;
voidpaixu_chinese(Studentstud[],intn)/*按语文成绩排序*/
for(j=0;
if(stu[j].chinese>
stu[j+1].chinese)
{
y=stu[j].aver;
voidpaixu_english(Studentstud[],intn)/*按英语成绩排序*/
if(stu[j].english>
stu[j+1].english)
voidpaixu_math(Studentstud[],intn)/*按数学成绩排序*/
if(stu[j].math>
stu[j+1].math)
voidpaixu_dianlu(Studentstud[],intn)/*按电路成绩排序*/
if(stu[j].dianlu>
stu[j+1].dianlu)
voidtongji(Studentstud[],intn)//按分数段统计人数
{inti,j,a,max,min,k,l,q,p,w;
k=0,l=0,p=0,q=0,w=0;
printf("
你想统计哪科成绩:
1语文2数学3英语4电路5平均\n"
scanf("
j);
input2score:
%d%d"
max,&
min);
if(max<
min)
{
a=max;
max=min;
min=a;
}
if(j==1)
for(i=0;
99;
{
if(stu[i].chinese>
min&
stu[i