学生成绩管理系统课程设计Word格式.docx

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

学生成绩管理系统课程设计Word格式.docx

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

学生成绩管理系统课程设计Word格式.docx

number=nu;

math=ma;

english=en;

chinese=ch;

computer=co;

Class=cl;

};

voidputna(char*x)

name=newchar[strlen(x)+1];

strcpy(name,x);

voidputfour(intx,inty,intz,inth)//传四个成绩

{

chinese=x;

english=y;

math=z;

computer=h;

};

voidputcl(intx){Class=x;

//赋一个值,下面同样

voidputnu(intx){number=x;

voidputch(intx){chinese=x;

voidputen(intx){english=x;

voidputma(intx){math=x;

voidputco(intx){computer=x;

intgetcl(){returnClass;

//返回一个值,下面同样

intgetnu(){returnnumber;

intgetch(){returnchinese;

intgeten(){returnenglish;

intgetma(){returnmath;

intgetco(){returncomputer;

char*getna(){return(name);

voidputout()//返回学生全部信息

cout<

<

Class<

setw(8)<

number<

setw(10)<

name<

setw(8)<

chinese<

setw(11)<

english<

setw(9)<

math<

computer;

//*******************************************************

//汇总

doubleaverage(student*p,char*na,intCl)//每一个科目的平均分

{

floatav=0,j1=1;

intj=0;

for(inti=0;

i<

N;

i++)

if(strcmp(na,"

语文"

)==0&

&

p[i].getcl()==Cl)

{av=av+p[i].getch();

++j;

j1=float(j);

}

英语"

{av=av+p[i].geten();

C++程序设计"

{av=av+p[i].getco();

数学"

{av=av+p[i].getma();

}

if(av==0)return0;

elsereturnav/j1;

intsum(studentp)//每人的总分

ints=0;

s=p.getch()+p.geten()+p.getco()+p.getma();

returns;

//***************************************************************

intfind(student*p,intCl,intNu)//通过班级和学号,对要修改的对象返回它的对象里的值

inti=0,a=N+1;

for(;

if(p[i].getcl()==Cl&

p[i].getnu()==Nu)

{a=i;

break;

elsecontinue;

if(a!

=N+1)returna;

elsereturnN;

intfind(student*p,intCl,char*Na)//通过班级和名字,对要修改的对象返回它的对象里的值

strcmp(p[i].getna(),Na)==0)

}

if(a!

elsereturnN;

intfind(student*p,char*Na,intNu)//通过名字和学号,对要修改的对象返回它的对象里的值

i++)

if(strcmp(p[i].getna(),Na)==0&

intfind(student*p,intCl)//通过班,对要修改的对象返回它的对象里的值

if(p[i].getcl()==Cl)

//*******************************************************************

//查询成绩

voidsearch(student*p,intCl,char*Na)//通过班级和名字,来查询成绩

intj=find(p,Cl,Na);

if(j==N)cout<

endl<

"

此人不存在!

endl;

else

{

cout<

班级"

setw(6)<

学号"

姓名"

setw(11)

<

setw(8)

总分"

平均分"

p[j].putout();

setw(7);

inta4=sum(p[j]);

floata5=float(a4)/4;

a4<

a5<

}

voidsearch(student*p,char*Na,intNu)//通过名字和学号,来查询成绩

intj=find(p,Na,Nu),a4;

floata5;

if(j==N)cout<

没有这个人:

else

setw(11)

<

setw(8)

p[j].putout();

a4=sum(p[j]);

a5=float(a4)/4;

}

voidsearch(student*p,intCl,intNu)//通过班和号,来查询成绩

intj=find(p,Cl,Nu);

else

inta4=sum(p[j]);

floata5=float(a4)/4;

//8888888888888888888888888888888888888888888888888888888

voidlank(student*p,intCl)//按学号顺序排

intk1,k2,k3,k4,k5,k6;

char*k7;

for(intj=i+1;

j<

j++)

if(p[i].getcl()==Cl&

p[j].getcl()==Cl&

p[i].getnu()>

p[j].getnu())//实现用学号来排序

{

k1=p[i].getcl();

p[i].putcl(p[i+1].getcl());

p[j].putcl(k1);

k7=newchar[strlen(p[i].getna())+1];

strcpy(k7,p[i].getna());

p[i].putna(p[i+1].getna());

p[i+1].putna(k7);

k2=p[i].getnu();

p[i].putnu(p[j].getnu());

p[j].putnu(k2);

k3=p[i].getch();

p[i].putch(p[j].getch());

p[j].putch(k3);

k4=p[i].geten();

p[i].puten(p[j].geten());

p[j].puten(k4);

k5=p[i].getma();

p[i].putma(p[j].getma());

p[j].putma(k5);

k6=p[i].getco();

p[i].putco(p[j].getco());

p[j].putco(k6);

}

elsecontinue;

//***********************************************

voidsearch(student*p,intCl)//查某班级的成绩,是按学号顺序排

intk8=find(p,Cl);

lank(p,Cl);

if(k8==N)cout<

没有这个班:

{cout<

setw(10)

<

setw(9)

i++)//返回排序后的班的学生成绩

{intA1;

floatA2;

A1=sum(p[i]);

A2=float(A1)/4;

p[i].putout();

cout<

A1<

A2<

//******************************************************************

voidchange(student*p,intCl,intNu,char*Na)//修改成绩

inta=find(p,Cl,Nu);

intC,B1,B2,B3,B4;

if(a==N)cout<

没有这个人的资料:

改语文请输入1,改英语请输入2,改数学请输入3,改C++程序设计请输入4,大于一科请输入5:

cin>

>

C;

switch(C)

case1:

原来的值为:

p[a].getch()<

请输入它的新值:

;

cin>

B1;

p[a].putch(B1);

结果是:

setw(8)<

p[a].putout();

break;

case2:

p[a].geten()<

请输入它的值:

p[a].puten(B1);

case3:

p[a].getma()<

p[a].putma(B1);

setw(10)

case4:

p[a].getco()<

p[a].putco(B1);

case5:

原来的值分别为:

endl

语文:

英语:

endl

数学:

endl<

C++程序设计:

请输入语文的值:

cin>

请输入英语的值:

B2;

请输入数学的值:

B3;

请输入C++程序设计的值:

B4;

p[a].putfour(B1,B2,B3,B4);

setw(10)<

voidrank(student*p,intCl)//通过比较来排名,查看某班的成绩

intk1,k2,k3,k4,k5,k6,k8;

{for(intj=i+1;

{if(p[i].getcl()==Cl&

sum(p[i])<

=sum(p[j]))//用学号来排序后,通过总分来比较排名

k1=p[i].getcl();

p[i].putcl(p[j].getcl());

k7=newchar[strlen(p[i].getna())+1];

strcpy(k7,p[i].getna());

p[i].putna(p[j].getna());

p[j].putna(k7);

k2=p[i].getnu();

k3=p[i].getch();

k4=p[i].geten();

k5=p[i].getma();

k6=p[i].getco();

elsecontinue;

k8=find(p,Cl);

名次"

intj1=0;

for(i=0;

i++)//返回通过总分排序后的学生成绩

floatA2;

j1++;

j1<

setw(8);

setw(7)<

//888888888888888888888888888888888888888888888888888888888888

voidfun(student*pupil)

for(intj=0;

j++)//对系统的操作

查询成绩请输入'

2'

修改成绩请输入'

3'

退出请按其它键;

intp3,p4;

charp2[10],a0[3];

a0;

cout<

*****************************************************************************"

if(strcmp(a0,"

3"

)==0)//修改成绩

{for(inti=0;

请输入你的班级:

p3;

请输入你的学号:

p4;

请输入你的名字:

p2;

change(pupil,p3,p4,p2);

还需要修改吗,需要请输入'

Y'

否则按其它键:

charb0[3];

b0;

if(strcmp(b0,"

Y"

)==0||strcmp(b0,"

y"

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

当前位置:首页 > 总结汇报 > 学习总结

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

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