C语言学生成绩管理系统源程序.docx

上传人:b****6 文档编号:7068587 上传时间:2023-01-16 格式:DOCX 页数:20 大小:18.11KB
下载 相关 举报
C语言学生成绩管理系统源程序.docx_第1页
第1页 / 共20页
C语言学生成绩管理系统源程序.docx_第2页
第2页 / 共20页
C语言学生成绩管理系统源程序.docx_第3页
第3页 / 共20页
C语言学生成绩管理系统源程序.docx_第4页
第4页 / 共20页
C语言学生成绩管理系统源程序.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

C语言学生成绩管理系统源程序.docx

《C语言学生成绩管理系统源程序.docx》由会员分享,可在线阅读,更多相关《C语言学生成绩管理系统源程序.docx(20页珍藏版)》请在冰豆网上搜索。

C语言学生成绩管理系统源程序.docx

C语言学生成绩管理系统源程序

附录程序

#includestdio.h

#include

#include

#includeprocess.h

#includectype.h

typedefstruct

{

charnum[10];

charname[10];

intchinese;

intmath;

intenglish;

intdianlu;

doubleaver;

}Student;

Studentstu[99];

intshuru(Studentstud[],intn)/*输入若干条记录*/

{

inti=0;

charsign,x[10];

doublea=0.0;

while(sign!

='n'&&sign!

='N')

{

牰湩晴尨输入学生学号:

);

scanf(%s,stu[n+i].num);

牰湩晴尨输入学生姓名:

);

scanf(%s,stu[n+i].name);

牰湩晴尨输入学生的语文、数学、英语、电路分数:

);

scanf(%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);

scanf(%c,&sign);

i++;

}

return(n+i);

}

专业资料

voidxianshi(Studentstud[],intn)/*显示所有记录*/

{

inti;

printf(----------------------------------------------------------\n);/*格式头*/

牰湩晴尨学号姓名语文数学英语电路平均成绩

\n);

printf(----------------------------------------------------------\n);

for(i=0;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)

{牰湩晴尨请输入您要修改的学生的学号:

\n);

scanf(%s,x);

for(i=0;;i++)

{

if(strcmp(stu[i].num,x)==0)break;

}

牰湩晴尨请选择您要修改的内容:

\n);

printf(----------------------\n);

printf(|姓名请按1|\n);

printf(|语文请按2|\n);

printf(|数学分数请按3|\n);

printf(|英语分数请按4|\n);

printf(|电路请按5|\n);

printf(|退出请按0|\n);

printf(+----------------------+\n);

牰湩晴尨请输入您的选择:

);

scanf(%d,&choice);

switch(choice)

{

case0:

break;

专业资料

case1:

牰湩晴尨请输入新姓名:

);

scanf(%s,stu[i].name);

break;

case2:

牰湩晴尨请输入新的语文分数:

);

scanf(%d,&stu[i].chinese);

break;

case3:

牰湩晴尨请输入新的数学分数:

);

scanf(%d,&stu[i].math);

break;

case4:

牰湩晴尨请输入新的英语分数:

);

scanf(%d,&stu[i].english);

break;

case5:

牰湩晴尨请输入新的电路分数:

);

scanf(%d,&stu[i].dianlu);

break;

default:

printf(\

无效选项!

);

break;

}break;

}

return;

}

intshanchu(Studentstud[],intn)/*按姓名查找,删除一条记录*/

{chars[20];

inti;

intj;

i=0;

牰湩晴尨输入要删除记录的姓名:

);

scanf(%s,s);

while(strcmp(stu[i].name,s)!

=0&&i

if(i==n)

{printf(

otfind!

\n);

return(n);}

for(j=i;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;

}

printf(DeleteSuccessed!

\n);

return(n-1);

}

voidchaxun_xingming(Studentstud[],intn)/*按姓名查找并显示一个记录*/

{chars[20];

inti=0;

牰湩晴尨输入姓名:

);

scanf(%s,s);

while(strcmp(stu[i].name,s)!

=0&&i

if(i==n)

{printf(

otfind!

\n);/*输入失败信息*/

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;

inti=0;

牰湩晴尨输入平均成绩:

);

scanf(%lf,&s);

while(stu[i].aver!

=s&&i

if(i==n)

{printf(

otfind!

\n);/*输入失败信息*/

return;

}

牰湩晴尨他的学号是:

%s\n,stu[i].num);/*输出该学生信息*/

牰湩晴尨他的姓名是:

%s\n,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;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].aver=stu[j+1].aver;stu[j+1].aver=y;

p=stu[j].chinese;stu[j].chinese=stu[j+1].chinese;stu[j+1].chinese=p;

q=stu[j].math;stu[j].math=stu[j+1].math;stu[j+1].math=q;

r=stu[j].english;stu[j].english=stu[j+1].english;stu[j+1].english=r;

w=stu[j].dianlu;stu[j].dianlu=stu[j+1].dianlu;stu[j+1].dianlu=w;

}

return;

}

voidpaixu_pingjun(Studentstud[],intn)/*按平均成绩排序*/

{inti,j,p,q,r,w;

doubley;

charx[20],t[10];

for(i=0;i

for(j=0;j

if(stu[j].aver>stu[j+1].aver)

{y=stu[j].aver;stu[j].aver=stu[j+1].aver;stu[j+1].aver=y;

p=stu[j].chinese;stu[j].chinese=stu[j+1].chinese;stu[j+1].chinese=p;

q=stu[j].math;stu[j].math=stu[j+1].math;stu[j+1].math=q;

r=stu[j].english;stu[j].english=stu[j+1].english;stu[j+1].english=r;

w=stu[j].dianlu;stu[j].dianlu=stu[j+1].dianlu;stu[j+1].dianlu=w;

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)/*按语文成绩排序*/

{inti,j,p,q,r,w;

doubley;

charx[20],t[10];

for(i=0;i

for(j=0;j

if(stu[j].chinese>stu[j+1].chinese)

{

y=stu[j].aver;stu[j].aver=stu[j+1].aver;stu[j+1].aver=y;

p=stu[j].chinese;stu[j].chinese=stu[j+1].chinese;stu[j+1].chinese=p;

q=stu[j].math;stu[j].math=stu[j+1].math;stu[j+1].math=q;

r=stu[j].english;stu[j].english=stu[j+1].english;stu[j+1].english=r;

w=stu[j].dianlu;stu[j].dianlu=stu[j+1].dianlu;stu[j+1].dianlu=w;

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_english(Studentstud[],intn)/*按英语成绩排序*/

{inti,j,p,q,r,w;

doubley;

charx[20],t[10];

for(i=0;i

for(j=0;j

if(stu[j].english>stu[j+1].english)

{

y=stu[j].aver;stu[j].aver=stu[j+1].aver;stu[j+1].aver=y;

p=stu[j].chinese;stu[j].chinese=stu[j+1].chinese;stu[j+1].chinese=p;

q=stu[j].math;stu[j].math=stu[j+1].math;stu[j+1].math=q;

专业资料

r=stu[j].english;stu[j].english=stu[j+1].english;stu[j+1].english=r;

w=stu[j].dianlu;stu[j].dianlu=stu[j+1].dianlu;stu[j+1].dianlu=w;

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_math(Studentstud[],intn)/*按数学成绩排序*/

{inti,j,p,q,r,w;

doubley;

charx[20],t[10];

for(i=0;i

for(j=0;j

if(stu[j].math>stu[j+1].math)

{

y=stu[j].aver;stu[j].aver=stu[j+1].aver;stu[j+1].aver=y;

p=stu[j].chinese;stu[j].chinese=stu[j+1].chinese;stu[j+1].chinese=p;

q=stu[j].math;stu[j].math=stu[j+1].math;stu[j+1].math=q;

r=stu[j].english;stu[j].english=stu[j+1].english;stu[j+1].english=r;

w=stu[j].dianlu;stu[j].dianlu=stu[j+1].dianlu;stu[j+1].dianlu=w;

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_dianlu(Studentstud[],intn)/*按电路成绩排序*/

{inti,j,p,q,r,w;

专业资料

doubley;

charx[20],t[10];

for(i=0;i

for(j=0;j

if(stu[j].dianlu>stu[j+1].dianlu)

{

y=stu[j].aver;stu[j].aver=stu[j+1].aver;stu[j+1].aver=y;

p=stu[j].chinese;stu[j].chinese=stu[j+1].chinese;stu[j+1].chinese=p;

q=stu[j].math;stu[j].math=stu[j+1].math;stu[j+1].math=q;

r=stu[j].english;stu[j].english=stu[j+1].english;stu[j+1].english=r;

w=stu[j].dianlu;stu[j].dianlu=stu[j+1].dianlu;stu[j+1].dianlu=w;

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;

}

voidtongji(Studentstud[],intn)//按分数段统计人数

{inti,j,a,max,min,k,l,q,p,w;

k=0,l=0,p=0,q=0,w=0;

牰湩晴尨你想统计哪科成绩:

1语文2数学3英语4电路5平均\n);

scanf(%d,&j);

printf(input2score:

\n);

scanf(%d%d,&max,&min);

if(max

{

a=max;max=min;min=a;

}

if(j==1)

{

for(i=0;i<99;i++)

{

if(stu[i].chinese>min&&stu[i].chinese

}

专业资料

牰湩晴尨分数段的人数为:

%d,k);

}

elseif(j==2)

{

for(i=0;i<99;i++)

{

if(stu[i].math>min&&stu[i].math

}

牰湩晴尨分数段的人数为:

%d,l);

}

elseif(j==3)

{

for(i=0;i<99;i++)

{

if(stu[i].english>min&&stu[i].english

}

牰湩晴尨分数段的人数为:

%d,p);

}

elseif(j==4)

{

for(i=0;i<99;i++)

{

if(stu[i].dianlu>min&&stu[i].dianlu

w++;

}

牰湩晴尨分数段的人数为:

%d,w);

}

elseif(j==5)

{

for(i=0;i<99;i++)

{

if(stu[i].aver>min&&stu[i].aver

}

牰湩晴尨分数段的人数为:

%d,q);

}

return;

}

intwenjian2(Studentstud[],intn)/*从文件中读入数据*/

{inti=0,num;

FILE*fp;/*定义文件指针*/

charfilename[20];/*定义文件名*/

专业资料

printf(\\t\tInputthefilename:

);

scanf(\\t\t%s,filename);/*输入文件名*/

if((fp=fopen(filename,

b))==NULL)/*打开文件*/

{printf(\\t\tcann'topenthefile\n);/*打开失败信息*/

printf(\\t\t);

system(pause);

return(n);

}

fscanf(fp,%d,&num);/*读入总记录量*/

while(i

{

fscanf(fp,%s%s%d%d%d%d%lf\n,stu[n+i].num,stu[n+i].name,&stu[n+i].chinese,&stu[n+i].math,&stu[n+i].english,&stu[n+i].dianlu,&stu[n+i].aver);

i++;

}

n+=num;

fclose(fp);/*关闭文件*/

printf(\\t\tSuccessed!

\n);

printf(\\t\t);

system(pause);

return(n);

}

voidwenjian1(Studentstud[],intn)/*将所有记录写入文件*/

{

inti=0;

FILE*fp;/*定义文件指针*/

charfilename[20];/*定义文件名*/

printf(Inputthefilename:

);/*输入文件名*/

scanf(%s,filename

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1