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