C++课程设计学生成绩管理系统样一文档格式.docx
- 文档编号:8352093
- 上传时间:2023-05-11
- 格式:DOCX
- 页数:17
- 大小:18.72KB
C++课程设计学生成绩管理系统样一文档格式.docx
《C++课程设计学生成绩管理系统样一文档格式.docx》由会员分享,可在线阅读,更多相关《C++课程设计学生成绩管理系统样一文档格式.docx(17页珍藏版)》请在冰点文库上搜索。
(*p).eng>
(*p).phy;
(*p).next=0;
if(h==0){h=p;
pend=p;
}
else{pend->
next=p;
i++;
}returnh;
voidprint(STU*h){
STU*p;
p=h;
学号姓名性别籍贯vc++成绩英语成绩物理成绩"
while(p){
(*p).xh<
'
\t'
(*p).xm<
(*p).xb<
(*p).jg<
(*p).c<
(*p).eng<
(*p).phy<
\n'
;
p=(*p).next;
}
voidcount(STU*h,intn){
floatS[20],aver[20],aver1=0,aver2=0,aver3=0,MAX,max1,max2,max3;
floats1[20],s2[20],s3[20];
for(inti=0;
i<
n;
i++){
S[i]=(*p).c+(*p).eng+(*p).phy;
aver[i]=S[i]/3;
for(p=h,i=0;
aver1+=(*p).c;
aver2+=(*p).eng;
aver3+=(*p).phy;
p=(*p).next;
aver1=aver1/n;
aver2=aver2/n;
aver3=aver3/n;
i++){s1[i]=(*p).c;
s2[i]=(*p).c;
s3[i]=(*p).phy;
p=(*p).next;
MAX=0;
max1=0;
max2=0;
max3=0;
for(i=0;
if(MAX<
S[i])MAX=S[i];
if(max1<
s1[i])max1=s1[i];
if(max2<
s2[i])max2=s2[i];
if(max3<
s3[i])max3=s3[i];
总成绩最高的学生:
if(MAX==S[i])
cout<
MAX<
VC++成绩最高的学生:
i++){if(max1==s1[i])cout<
max1<
英语成绩最高的学生:
i++){if(max2==s2[i])cout<
max2<
物理成绩最高的学生:
i++){if(max3==s3[i])cout<
max3<
voidsearch(STU*h){
intr,t;
charxm[10];
按学号查询请输入1,按姓名查询请输入2!
r;
switch(r){
case1:
{
cout<
请输入要查询的学号:
cin>
t;
while(p){
if((*p).xh==t){
print(p);
break;
}
elsep=(*p).next;
}
}break;
case2:
请输入要查询的姓名:
cin>
xm;
while(p){
if(strcmp(xm,(*p).xm)==0){
break;
}
elsep=(*p).next;
}break;
voidsort(STU*h,inta,intn){
STU*p,*p1,*p2;
longintXH;
charXM[20],XB[20],JG[20];
floatS[20],aver[20],VC,ENGLISH,PHYSICS;
for(inti=0;
请选择排序方式!
按姓名排序请输入1"
按VC++成绩排序请输入2"
按英语成绩排序请输入3"
按物理成绩排序请输入4"
按总成绩排序请输入5"
按平均成绩排序请输入6"
a;
switch(a){
case1:
if(h==0)cout<
无结点"
else{
p1=h;
while((*p1).next)
n-1;
p2=(*p1).next;
for(intj=i+1;
j<
j++){
if(strcmp((*p1).xm,(*p2).xm)==1){
XH=(*p1).xh;
(*p1).xh=(*p2).xh;
(*p2).xh=XH;
strcpy(XM,(*p1).xm);
strcpy((*p1).xm,(*p2).xm);
strcpy((*p2).xm,XM);
strcpy(XB,(*p1).xb);
strcpy((*p1).xb,(*p2).xb);
strcpy((*p2).xb,XB);
strcpy(JG,(*p1).jg);
strcpy((*p1).jg,(*p2).jg);
strcpy((*p2).jg,JG);
VC=(*p1).c;
(*p1).c=(*p2).c;
(*p2).c=VC;
ENGLISH=(*p1).eng;
(*p1).eng=(*p2).eng;
(*p2).eng=ENGLISH;
PHYSICS=(*p1).phy;
(*p1).phy=(*p2).phy;
(*p2).phy=PHYSICS;
}
p2=(*p2).next;
p1=(*p1).next;
}p=h;
for(i=0;
print(p);
break;
case2:
for(intj=i+1;
if((*p1).c>
=(*p2).c){
XH=(*p1).xh;
strcpy((*p2).xm,XM);
strcpy(XB,(*p1).xb);
strcpy(JG,(*p1).jg);
VC=(*p1).c;
ENGLISH=(*p1).eng;
PHYSICS=(*p1).phy;
p1=(*p1).next;
case3:
while((*p1).next)
for(i=0;
for(intj=i+1;
if((*p1).eng>
=(*p2).eng){
strcpy(XM,(*p1).xm);
strcpy((*p2).xm,XM);
strcpy(XB,(*p1).xb);
ENGLISH=(*p1).eng;
case4:
{
if((*p1).c>
strcpy(XM,(*p1).xm);
}
case5:
while((*p1).next)
i++){
{
if(S[i]>
=S[j]){
p2=(*p2).next;
S[i]<
case6:
if(aver[i]>
=aver[j]){
aver[i]<
default:
无可排序的依据!
voiddeleteSTU(STU*h,intdata){
STU*p1,*p2;
intb;
如果要删除学生的信息请输入1!
如果不需要删除学生的信息请输入2!
b;
switch(b){
输入要删除信息学生的学号:
data;
if(h==0)cout<
无学生信息不能删除!
if(h->
xh==data){
p2=h;
h=h->
next;
deletep2;
cout<
成功删除学生的信息!
p2=p1=h;
while((*p2).xh!
=data&
&
(*p2).next!
=0){
p1=p2;
p2=(*p2).next;
if((*p2).xh==data){
(*p1).next=(*p2).next;
deletep2;
成功删除学号为"
data<
学生的信息"
elsecout<
没有找到要删除的信息"
break;
voidscore(STU*h,intn){
charxm[20][20],xb[20][20],jg[20][20],b[20],c[20],d[20];
doubles[20],xh[20],vc[20],english[20],physics[20],S,a,e,f,g;
s[i]=(((*p).c*4.5+(*p).eng*4+(*p).phy*3)/11.5-50)/10;
xh[i]=(*p).xh;
strcpy(xm[i],(*p).xm);
strcpy(xb[i],(*p).xb);
strcpy(jg[i],(*p).jg);
vc[i]=(*p).c;
vc[i]=(*p).c;
physics[i]=(*p).phy;
if(s[i]<
=s[j]){
S=s[i];
s[i]=s[j];
s[j]=S;
a=xh[i];
xh[i]=xh[j];
xh[j]=a;
strcpy(b,xm[i]);
strcpy(xm[i],xm[j]);
strcpy(xm[j],b);
strcpy(c,xb[i]);
strcpy(xb[i],xb[j]);
strcpy(xb[j],c);
strcpy(d,jg[i]);
strcpy(jg[i],jg[j]);
strcpy(jg[j],d);
e=vc[i];
vc[i]=vc[j];
vc[j]=e;
f=english[i];
english[i]=english[j];
english[j]=f;
g=physics[i];
physics[i]=physics[j];
physics[j]=g;
i++)cout<
xh[i]<
xm[i]<
s[i]<
特等奖学金名单:
if(s[i]>
=4.0)
一等奖学金名单:
=3.6&
4.0)
二等奖学金名单:
=3.2&
3.6)
三等奖学金名单:
=2.8&
3.2)
voidgoodstudent(STU*h,intn){
doubles[20];
charXM[20][20];
longintXH[20];
strcpy(XM[i],(*p).xm);
XH[i]=(*p).xh;
三好学生的名单:
i++)
if(s[i]>
=3.0||s[i]>
3.5&
(((*p).c-50)/10)>
=1.0&
(((*p).c-50)/10)<
=2.0||s[i]>
(((*p).eng-50)/10)>
(((*p).eng-50)/10)<
(((*p).phy-50)/10
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 课程设计 学生 成绩管理系统