C++课程设计学生成绩管理系统样一.docx

上传人:b****5 文档编号:11845395 上传时间:2023-04-05 格式:DOCX 页数:17 大小:18.72KB
下载 相关 举报
C++课程设计学生成绩管理系统样一.docx_第1页
第1页 / 共17页
C++课程设计学生成绩管理系统样一.docx_第2页
第2页 / 共17页
C++课程设计学生成绩管理系统样一.docx_第3页
第3页 / 共17页
C++课程设计学生成绩管理系统样一.docx_第4页
第4页 / 共17页
C++课程设计学生成绩管理系统样一.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

C++课程设计学生成绩管理系统样一.docx

《C++课程设计学生成绩管理系统样一.docx》由会员分享,可在线阅读,更多相关《C++课程设计学生成绩管理系统样一.docx(17页珍藏版)》请在冰豆网上搜索。

C++课程设计学生成绩管理系统样一.docx

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

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

当前位置:首页 > 党团工作 > 入党转正申请

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

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