学生成绩管理系统v60Word文档下载推荐.docx

上传人:b****3 文档编号:17674742 上传时间:2022-12-08 格式:DOCX 页数:14 大小:16.12KB
下载 相关 举报
学生成绩管理系统v60Word文档下载推荐.docx_第1页
第1页 / 共14页
学生成绩管理系统v60Word文档下载推荐.docx_第2页
第2页 / 共14页
学生成绩管理系统v60Word文档下载推荐.docx_第3页
第3页 / 共14页
学生成绩管理系统v60Word文档下载推荐.docx_第4页
第4页 / 共14页
学生成绩管理系统v60Word文档下载推荐.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

学生成绩管理系统v60Word文档下载推荐.docx

《学生成绩管理系统v60Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《学生成绩管理系统v60Word文档下载推荐.docx(14页珍藏版)》请在冰豆网上搜索。

学生成绩管理系统v60Word文档下载推荐.docx

voidSearchbyname(STUstu[],intn,intm);

voidStatisticAnlysis(STUstu[],intn,intm);

voidPrintscore(STUstu[],intn,intm);

voidWritetofile(STUstu[],intn,intm);

voidReadfromfile(STUstu[],int*n,int*m);

intmain()

charch;

intn=0,m=0;

STUstu[m_num];

printf("

请输入学生人数(n<

=%d):

\n"

m_num);

scanf("

%d"

&

n);

请输入课程数目(m<

m_cs);

m);

while

(1)

{

ch=menu();

switch(ch)

case1:

Readscore(stu,n,m);

break;

case2:

Aversumofeverystudent(stu,n,m);

case3:

Aversumofeverycourse(stu,n,m);

case4:

Sortbyscore(stu,n,m,Descending);

\n成绩降序排序\n"

);

Printscore(stu,n,m);

case5:

Sortbyscore(stu,n,m,Ascending);

\n成绩升序排序\n"

case6:

Assortbynum(stu,n,m);

\n学号升序排序\n"

case7:

Sortbyname(stu,n,m);

\n姓名字典升序排序\n"

case8:

Searchbynum(stu,n,m);

case9:

Searchbyname(stu,n,m);

case10:

StatisticAnlysis(stu,n,m);

case11:

case12:

Writetofile(stu,n,m);

case13:

Readfromfile(stu,&

n,&

case0:

\n欢迎下次继续使用"

exit(0);

default:

\n输入错误"

}

return0;

}

intmenu(void)

intitems;

欢迎使用学生成绩管理系统\n"

1.输入成绩\n"

2.计算各个学生总成绩和平均成绩\n"

3.计算各门学科总成绩和平均成绩\n"

4.成绩降序排序\n"

5.成绩升序排序\n"

6.学号升序排序\n"

7.姓名升序排序\n"

8.通过学号查找成绩\n"

9.通过姓名查找成绩\n"

10.标准分析\n"

11.显示成绩\n"

12.写入文件\n"

13.读取文件\n"

0.退出\n"

请做出您的选择\n"

items);

returnitems;

voidReadscore(STUstu[],intn,intm)

inti,j;

请输入学生学号,姓名,成绩\n"

for(i=0;

i<

n;

i++)

%ld%s"

stu[i].num,stu[i].name);

stu[i].sum=0;

for(j=0;

j<

m;

j++)

%f"

stu[i].score[j]);

stu[i].sum+=stu[i].score[j];

if(m>

0)

stu[i].aver=m>

0?

stu[i].sum/m:

-1;

voidAversumofeverystudent(STUstu[],intn,intm)

学生%d:

总成绩:

%.1f,平均成绩:

%.1f\n"

i+1,stu[i].sum,stu[i].aver);

voidAversumofeverycourse(STUstu[],intn,intm)

floatsum[m_cs],aver[m_cs];

sum[i]=0;

sum[i]+=stu[j].score[i];

aver[i]=n>

0?

sum[i]/n:

-1;

课程%d:

i+1,sum[i],aver[i]);

voidSortbyscore(STUstu[],intn,intm,int(*compare)(floata,floatb))

inti,j,k,t;

for(i=0;

n-1;

k=i;

for(j=i+1;

if((*compare)(stu[j].sum,stu[k].sum))

k=j;

if(k!

=i)

for(t=0;

t<

t++)

swapfloat(&

stu[k].score[t],&

stu[i].score[t]);

stu[k].sum,&

stu[i].sum);

stu[k].aver,&

stu[i].aver);

swaplong(&

stu[k].num,&

stu[i].num);

swapchar(stu[k].name,stu[i].name);

intAscending(floata,floatb)

returna<

b;

intDescending(floata,floatb)

returna>

voidswapfloat(float*x,float*y)

floatb;

b=*x;

*x=*y;

*y=b;

voidswaplong(long*x,long*y)

longb;

voidswapchar(charx[],chary[])

charb[m_l];

strcpy(b,x);

strcpy(x,y);

strcpy(y,b);

voidAssortbynum(STUstu[],intn,intm)

inti,j,k,t;

if(stu[j].num<

stu[k].num)

voidSortbyname(STUstu[],intn,intm)

inti,j,t;

if(strcmp(stu[j].name,stu[i].name)<

stu[i].score[t],&

stu[j].score[t]);

stu[j].sum,&

stu[j].aver,&

stu[j].num,&

swapchar(stu[j].name,stu[i].name);

voidSearchbynum(STUstu[],intn,intm)

longnum;

输入你所想要查找的学号\n"

%ld"

num);

if(stu[i].num==num)

%ld\t%s\t"

stu[i].num,stu[i].name);

%.0f\t"

stu[i].score[j]);

%.0f\t%.0f\n"

stu[i].sum,stu[i].aver);

return;

\n查无此号\n"

voidSearchbyname(STUstu[],intn,intm)

输入你所想要查找的姓名\n"

%s"

name);

if(strcmp(stu[i].name,name)==0)

\n查无此人\n"

voidStatisticAnlysis(STUstu[],intn,intm)

inti,j,total,t[6];

学科:

%d:

j+1);

memset(t,0,sizeof(t));

if(stu[i].score[j]>

=0&

&

stu[i].score[j]<

60)

t[0]++;

elseif(stu[i].score[j]<

70)

t[1]++;

80)

t[2]++;

90)

t[3]++;

100)

t[4]++;

elseif(stu[i].score[j]==100)

t[5]++;

total=0;

=5;

total+=t[i];

if(i==0)

<

60\t%d\t%.2f%%\n"

t[i],(float)t[i]/n*100);

elseif(i==5)

=100\t%d\t%.2f%%\n"

else

%d-%d\t%d\t%.2f%%\n"

t[i],(i+5)*10,(i+5)*10+9,(float)t[i]/n*100);

voidPrintscore(STUstu[],intn,intm)

%.1f\t"

%.1f\t%.1f\n"

voidWritetofile(STUstu[],intn,intm)

FILE*fp;

if((fp=fopen("

student.txt"

"

w"

))==NULL)

打开“student.txt”失败!

fprintf(fp,"

%d\t%d\n"

n,m);

%10ld%10s"

%12.0f"

%12.0f%12.0f\n"

fclose(fp);

voidReadfromfile(STUstu[],int*n,int*m)

r"

打开score.txt!

失败\n"

fscanf(fp,"

%d\t%d"

*n;

%10ld"

stu[i].name);

*m;

%10f"

%10f%10f\n"

stu[i].sum,&

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

当前位置:首页 > 工程科技 > 城乡园林规划

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

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