学生成绩管理系统v30Word文档格式.docx
- 文档编号:21519593
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:11
- 大小:15.89KB
学生成绩管理系统v30Word文档格式.docx
《学生成绩管理系统v30Word文档格式.docx》由会员分享,可在线阅读,更多相关《学生成绩管理系统v30Word文档格式.docx(11页珍藏版)》请在冰豆网上搜索。
intn,score[N],c,x;
longnum[N];
charname[N][10];
chary[10];
printf("
输入学生人数"
);
scanf("
%d"
&
n);
//getchar();
1.Inputrecord\n"
2.Caculatetotelandaveragescoreofeverycourse\n"
3.Sortindescendingorderbyscore\n"
4.Sortinascendingorderbyscore\n"
5.Sortinascendingorderbynumber\n"
6.Sortindictionaryorderbyname\n"
7.Searchbynumber\n"
8.searchbyname\n"
9.Statisticanalysis\n"
10.Listrecord\n"
0.Exit\n"
Pleaseenteryourchoice:
\n"
for(;
;
)
c);
switch(c)
case1:
//录入学生学号和各科成绩
Input(num,score,n,name);
break;
case2:
//计算每门课程的总分和平均分
Totalave(score,n);
case3:
//按chengji由高到低排出名次表
Scoredes(num,score,n,name);
case4:
//按chengji由低到高排出名次表
Scoreas(num,score,n,name);
case5:
//按学号由小到大排出名次表
Numas(num,score,n,name);
case6:
Nameorder(num,score,n,name);
case7:
//按学号查询学生排名及其各科成绩
请输入查找学号\n"
x);
Searchbyno(num,score,n,x,name);
case8:
//按姓名查询学生排名及其各科成绩
请输入查找姓名\n"
getchar();
gets(y);
Searchbyname(num,score,n,y,name);
case9:
//成绩分析所占百分比
statistis(score,n);
case10:
//全部输出
List(num,score,n,name);
case0:
exit(0);
}
return0;
voidInput(longnum[],intscore[],intn,charname[][10])//1
{
inti;
for(i=0;
i<
n;
i++)
Inputstudent'
sID,nameandscore"
%ld"
num[i]);
%s"
name[i]);
score[i]);
//getchar();
}
voidTotalave(intscore[],intn)//2.计算课程的总分和平均分
inti,sum=0;
doubleave;
sum=sum+score[i];
ave=(double)sum/n;
总分=%d,课程的平均分=%f\n"
sum,ave);
voidScoredes(longnum[],intscore[],intn,charname[][10])//3.按学生的分由高到低排出名次表
inti,j,k,t,h;
chartemp[10];
k=i;
for(j=i+1;
j<
j++)
if(score[j]>
score[k])
k=j;
if(i!
=k)
t=score[k],h=num[k],strcpy(temp,name[k]);
score[k]=score[i],num[k]=num[i],strcpy(name[k],name[i]);
score[i]=t,num[i]=h,strcpy(name[i],temp);
ID:
%10ld,name:
%s,score:
%d\n"
num[i],name[i],score[i]);
//以长整形打印用%ld
voidScoreas(longnum[],intscore[],intn,charname[][10])//4.按学生的分由高到低排出名次表
inti,k,t,h,j;
if(score[j]<
voidNumas(longnum[],intscore[],intn,charname[][10])//5.按学号由小到大排出名次表
inti,k,h,t,j;
if(num[j]<
num[k])
voidNameorder(longnum[],intscore[],intn,charname[][10])//6。
按姓名的字典顺序排出成绩表
inti,k,t,h;
for(k=i+1;
k<
k++)
if(strcmp(name[i],name[k])>
0)
voidSearchbyno(longnum[],intscore[],intn,intx,charname[][10])//7.按学号查询学生排名及考试成绩
inthigh=n-1,low=0,mid,c=1,pos,find=0,i,k,h,j,t;
while(find==0&
&
low<
=high)
mid=(high+low)/2;
if(x>
num[mid])
low=mid+1;
elseif(x<
high=mid-1;
else
pos=mid;
find=1;
if(find==0)
notfind\n"
if(score[i]>
score[pos])
c++;
%s,order:
%d,"
num[pos],name[pos],c);
score:
score[pos]);
voidSearchbyname(longnum[],intscore[],intn,charc[],charname[][10])//8。
按姓名查询学生排名及其考试成绩
inti,pos=-1,d=1;
{if(strcmp(name[i],c)==0)
pos=i;
if(pos==-1)
d++;
num[pos],name[pos],d);
voidstatistis(intscore[],intn)//9.案优秀良好中等及格不及格5个类别,统计每个类别的人数以及所占的百分比
inta=0,b=0,c=0,d=0,e=0,i;
doubleA,B,C,D,E;
=90)
a++;
elseif(score[i]>
=80)
b++;
=70)
=60)
e++;
A=(double)a/n*100;
B=(double)b/n*100;
C=(double)c/n*100;
D=(double)d/n*100;
E=(double)e/n*100;
优秀人数%d,百分比:
%f%%\n"
a,A);
良好人数%d,百分比:
b,B);
中等人数%d,百分比:
c,C);
及格人数%d,百分比:
d,D);
不及格人数%d,百分比:
e,E);
voidList(longnum[],intscore[],intn,charname[][10])//10输出每个学生的学号,考试成绩姓名,以及课程总分和平均分
总分=%d\n平均分%f\n"
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 成绩管理系统 v30