欢迎来到沃文网! | 帮助中心 分享知识,传播智慧!
沃文网
全部分类
  • 教学课件>
  • 医学资料>
  • 技术资料>
  • 学术论文>
  • 资格考试>
  • 建筑施工>
  • 实用文档>
  • 其他资料>
  • ImageVerifierCode 换一换
    首页 沃文网 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    C++课程设计学生成绩管理系统.doc

    • 资源ID:851539       资源大小:84.72KB        全文页数:15页
    • 资源格式: DOC        下载积分:20积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录 微博登录
    二维码
    微信扫一扫登录
    下载资源需要20积分
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,下载更划算!
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    C++课程设计学生成绩管理系统.doc

    1、目 录一编程目的:2二设计要求:2三各函数功能说明:2四流程图:13五总结:14参考书目:15一 编程目的:编写一个学生成绩管理系统,每个学生应该包含如下信息:班级、学号、姓名、各科成绩、每个学生的平均分、名次以及班级各科平均分等。可以任意添加学生,删除学生,编辑学生信息,并且具有保存和读入学生息功能以及分别根据平均分排名情况和根据。班级、姓名、学号查找有关成绩情况。二设计要求:(1)能按学期、按班级完成对学生成绩的录入、修改(2)能按班级统计学生的成绩,求学生的总分及平均分,并能根据学生的平均成绩进行排序(3)能查询学生成绩,不及格科目及学生名单(4)能按班级输出学生的成绩单三各函数功能说明

    2、:#include #include #include int N; /输入学生人数class student /建立一个student类private: char *name; int number,Class; int chinese,math,english,computer; public: student(); void putin(int cl,int nu,char n10,int ch,int en,int ma,int co) /输入学生相关信息 name=new charstrlen(n)+1; strcpy(name,n); number=nu; math=ma; eng

    3、lish=en; chinese=ch; computer=co; Class=cl; ; void putna(char *x) name=new charstrlen(x)+1; strcpy(name,x); ; void putfour(int x,int y,int z,int h)/传四个成绩 chinese=x;english=y;math=z;computer=h; void putcl(int x)Class=x; / 赋一个值,下面同样 void putnu(int x)number=x; void putch(int x)chinese=x; void puten(int

    4、 x)english=x; void putma(int x)math=x; void putco(int x)computer=x; int getcl()return Class; /返回一个值,下面同样 int getnu()return number; int getch()return chinese; int geten()return english; int getma()return math; int getco()return computer; char *getna()return(name); void putout() /返回学生全部信息coutClasssetw

    5、(8)numbersetw(10)name setw(8)chinesesetw(11)englishsetw(9)mathsetw(8) computer; ; ; /* / 汇总 /* double average(student *p,char *na,int Cl)/每一个科目的平均分 float av=0,j1=1;int j=0; for(int i=0;iN;i+) if(strcmp(na,语文)=0&pi.getcl()=Cl) av=av+pi.getch();+j;j1=float(j); if(strcmp(na,英语)=0&pi.getcl()=Cl) av=av+p

    6、i.geten();+j;j1=float(j); if(strcmp(na,C+程序设计)=0&pi.getcl()=Cl) av=av+pi.getco();+j;j1=float(j); if(strcmp(na,数学)=0&pi.getcl()=Cl) av=av+pi.getma();+j;j1=float(j); if(av=0) return 0; else return av/j1; int sum(student p) /每人的总分 int s=0; s=p.getch()+p.geten()+p.getco()+p.getma(); return s; /* int fin

    7、d(student *p,int Cl,int Nu) /通过班级和学号,对要修改的对象返回它的对象里的值 int i=0,a=N+1; for(;iN;i+) if(pi.getcl()=Cl&pi.getnu()=Nu)a=i;break; else continue; if(a!=N+1)return a; else return N; int find(student *p,int Cl,char *Na) /通过班级和名字,对要修改的对象返回它的对象里的值 int i=0,a=N+1; for(;iN;i+) if(pi.getcl()=Cl&strcmp(pi.getna(),Na

    8、)=0) a=i;break;if(a!=N+1)return a;else return N;int find(student *p,char *Na,int Nu) /通过名字和学号,对要修改的对象返回它的对象里的值 int i=0,a=N+1; for(;iN;i+)if(strcmp(pi.getna(),Na)=0&pi.getnu()=Nu)a=i;break;if(a!=N+1)return a;else return N;int find(student *p,int Cl) /通过班,对要修改的对象返回它的对象里的值 int i=0,a=N+1; for(;iN;i+) if

    9、(pi.getcl()=Cl)a=i;break;if(a!=N+1)return a;else return N; /* / 查询成绩 /* void search(student *p,int Cl,char *Na) /通过班级和名字,来查询成绩 int j=find(p,Cl,Na);if(j=N) coutendl此人不存在!endl;elsecoutendl班级setw(6)学号setw(8)姓名setw(11) 语文setw(10)英语setw(8)数学setw(8) C+程序设计setw(8)总分setw(8)平均分endl; pj.putout(); coutsetw(7);

    10、 int a4=sum(pj);float a5=float(a4)/4; couta4setw(8)a5endl; void search(student *p,char *Na,int Nu) /通过名字和学号,来查询成绩 int j=find(p,Na,Nu),a4;float a5;if(j=N) coutendl没有这个人:endl;else cout班级setw(6)学号setw(8)姓名setw(11)语文setw(10)英语setw(8)数学setw(8)C+程序设计setw(8)总分setw(8)平均分endl; pj.putout();coutsetw(7);a4=sum(

    11、pj);a5=float(a4)/4;couta4setw(8)a5endl; void search(student *p,int Cl,int Nu) /通过班和号,来查询成绩 int j=find(p,Cl,Nu);if(j=N) coutendl没有这个人:endl;elsecout班级setw(6)学号setw(8)姓名setw(11)语文setw(10)英语setw(8)数学setw(8)C+程序设计setw(8)总分setw(8)平均分endl;pj.putout();coutsetw(7);int a4=sum(pj);float a5=float(a4)/4;couta4se

    12、tw(8)a5endl; /8888888888888888888888888888888888888888888888888888888 void lank(student *p,int Cl) /按学号顺序排 int k1,k2,k3,k4,k5,k6;char *k7;for(int i=0;iN;i+)for(int j=i+1;jpj.getnu()/实现用学号来排序 k1=pi.getcl();pi.putcl(pi+1.getcl();pj.putcl(k1);k7=new charstrlen(pi.getna()+1;strcpy(k7,pi.getna();pi.putna

    13、(pi+1.getna();pi+1.putna(k7);k2=pi.getnu();pi.putnu(pj.getnu();pj.putnu(k2);k3=pi.getch();pi.putch(pj.getch();pj.putch(k3);k4=pi.geten();pi.puten(pj.geten();pj.puten(k4);k5=pi.getma();pi.putma(pj.getma();pj.putma(k5);k6=pi.getco();pi.putco(pj.getco();pj.putco(k6);else continue; /* void search(studen

    14、t *p,int Cl) /查某班级的成绩,是按学号顺序排 int k8=find(p,Cl);lank(p,Cl);if(k8=N) coutendl没有这个班:endl;elsecout班级setw(6)学号setw(8)姓名setw(10)语文setw(11)英语setw(8)数学setw(9)C+程序设计setw(8)总分setw(9)平均分endl;for(int i=0;iN;i+) /返回排序后的班的学生成绩 if(pi.getcl()=Cl)int A1;float A2;A1=sum(pi);A2=float(A1)/4;pi.putout();coutsetw(8)A1se

    15、tw(9)A2endl; /* void change(student *p,int Cl,int Nu,char *Na) /修改成绩 int a=find(p,Cl,Nu);int C,B1,B2,B3,B4;if(a=N) coutendl没有这个人的资料:endl; else coutendl改语文请输入1,改英语请输入2,改数学请输入3,改C+程序设计请输入4,大于一科请输入5: C; switch(C) case 1:coutendlendl原来的值为:pa.getch()endl; coutB1;pa.putch(B1);coutendl结果是:endl;cout班级setw(6

    16、)学号setw(8)姓名setw(10)语文setw(10)英语setw(10)数学setw(8) C+程序设计endl;pa.putout();coutendlendl;break;case 2:coutendlendl原来的值为:pa.geten()endl;coutB1;pa.puten(B1); coutendl结果是:endl;cout班级setw(8)学号setw(8)姓名setw(10)语文setw(10)英语setw(10)数学setw(8)C+程序设计endl; pa.putout();coutendlendl; break;case 3:coutendlendl原来的值为:

    17、pa.getma()endl; coutB1;pa.putma(B1); coutendl结果是:endl; cout班级setw(8)学号setw(8)姓名setw(10) 语文setw(10)英语setw(10)数学setw(8)C+程序设计endl; pa.putout();coutendlendl; break;case 4:coutendlendl原来的值为:pa.getco()endl;coutB1;pa.putco(B1); coutendl结果是:endl; cout班级setw(8)学号setw(8)姓名setw(10)语文setw(10)英语setw(10)数学setw(8

    18、)C+程序设计endl;pa.putout();coutendlendl; break;case 5:coutendlendl原来的值分别为:endl 语文:pa.getch()endl英语:pa.geten()endl 数学:pa.getma()endl C+程序设计:pa.getco()endl; coutendl; coutB1; coutB2; coutB3; coutB4; pa.putfour(B1,B2,B3,B4); coutendl结果是:endl; cout班级setw(8)学号setw(8)姓名setw(10) 语文setw(10)英语setw(10)数学setw(8)

    19、C+程序设计endl; pa.putout();coutendl; break; /* void rank(student *p,int Cl) /通过比较来排名,查看某班的成绩 int k1,k2,k3,k4,k5,k6,k8;char *k7; lank(p,Cl); for(int i=0;iN;i+)for(int j=i+1;jN;j+)if(pi.getcl()=Cl&pj.getcl()=Cl&sum(pi)=sum(pj)/用学号来排序后,通过总分来比较排名 k1=pi.getcl();pi.putcl(pj.getcl();pj.putcl(k1); k7=new chars

    20、trlen(pi.getna()+1; strcpy(k7,pi.getna();pi.putna(pj.getna();pj.putna(k7); k2=pi.getnu();pi.putnu(pj.getnu();pj.putnu(k2); k3=pi.getch();pi.putch(pj.getch();pj.putch(k3); k4=pi.geten();pi.puten(pj.geten();pj.puten(k4); k5=pi.getma();pi.putma(pj.getma();pj.putma(k5); k6=pi.getco();pi.putco(pj.getco()

    21、;pj.putco(k6);else continue;k8=find(p,Cl);if(k8=N) coutendl没有这个班:endl;else cout名次setw(6)班级setw(8)学号setw(8)姓名setw(10) 语文setw(9)英语setw(10)数学setw(8) C+程序设计setw(8)总分setw(9)平均分endl; int j1=0;for(i=0;iN;i+) /返回通过总分排序后的学生成绩 if(pi.getcl()=Cl)int A1;float A2; j1+; A1=sum(pi);A2=float(A1)/4;coutj1setw(8); pi.

    22、putout();coutsetw(7)A1setw(9)A2endl; /888888888888888888888888888888888888888888888888888888888888 void fun(student *pupil) for(int j=0;j+) /对系统的操作 coutendl查询成绩请输入2;修改成绩请输入3;退出请按其它键;a0; cout*endl; if(strcmp(a0,3)=0) /修改成绩for(int i=0;i+)coutendlendlp3; coutp4; coutp2; change(pupil,p3,p4,p2); coutendl

    23、b0; if(strcmp(b0,Y)=0|strcmp(b0,y)=0) continue; else break;cout*;else if(strcmp(a0,2)=0) /查询成绩for(int i=0;i+) coutendl按班级和姓名查请按1,按班级和学号查按2, 按姓名和学号查按3endl查某一班的成绩请按4, 查某科的平均分请按5, 查排名按6:E2; switch(E2) case 1:for(i=0;i+)coutendlE4;coutE5; search(pupil,E4,E5); coutendlt3; if(strcmp(t3,Y)=0|strcmp(t3,y)=0

    24、) continue; else break;break;case 2:for(i=0;i+) coutendlE4;coutE3; search(pupil,E4,E3); coutendlt2; if(strcmp(t2,Y)=0|strcmp(t2,y)=0) continue; else break;break;case 3:for(i=0;i+) coutendlE3; coutE5; search(pupil,E5,E3); coutendlt1; if(strcmp(t1,Y)=0|strcmp(t1,y)=0) continue; else break;break;case 4

    25、:for(i=0;i+) coutendlE3;search(pupil,E3); coutendlm1; if(strcmp(m1,Y)=0|strcmp(m1,y)=0) continue; else break;break;case 5: for(i=0;i+)coutendl请输入你要查找的班和科目:endlendl; char h110;int h2; couth1; couth2; double a3=average(pupil,h1,h2); if(a3=0) coutendl没有你要查找的内容!endl; else couth1的平均分为:a3endl; coutendl还要查

    26、科目平均分吗?,如果还要请输Y否则按其他键:h3; if(strcmp(h3,Y)=0|strcmp(h3,y)=0)continue; else break; break; case 6:for(i=0;i+) coutendlu0; rank(pupil,u0); coutendlu1; if(strcmp(u1,Y)=0|strcmp(u1,y)=0) continue; else break; break;coutendlb2; if(strcmp(b2,Y)=0|strcmp(b2,y)=0) cout*; continue; else break;else break; coute

    27、ndlendlb1;if(strcmp(b1,Y)=0|strcmp(b1,y)=0)cout*endl; continue;else break; /* void main() coutendlendlN; student *pupil=new studentN+10; /用动态数组自己设空间 char (*Name)10=new charN+1010; /用动态数组自己设空间 int *CL=new intN+10,*NU=new intN+10,*CH=new intN+10,*EN=new intN+10,*MA=new intN+10,*CO=new intN+10; for(int

    28、 i=0;iN;i+) /成绩录入 coutendlendl第i+1位学生:endl; coutCLi; coutNUi; coutNamei; coutendlCHi; coutENi; coutMAi; coutCOi; pupili.putin(CLi,NUi,Namei,CHi,ENi,MAi,COi); coutendlendl; cout*; coutendl; coutu; /888888888888888888888888888888888888888888888888888888888888888 for(i=0;i+)if(strcmp(u,Y)=0|strcmp(u,y)

    29、=0) /添加和删除char u03;coutu0;if(strcmp(u0,1)=0)int u1;coutu1; N=N+u1; for(i=u1;i0;i-)coutendlendl第N-i+1位学生:endl;coutCLN-i; coutNUN-i; coutNameN-i; coutendlCHN-i; coutENN-i; coutMAN-i; coutCON-i; pupilN-i.putin(CLN-i,NUN-i,NameN-i,CHN-i,ENN-i,MAN-i,CON-i); coutendlendl;else if(strcmp(u0,2)=0)coutu2; for(i=0;iu2;i+)cout请输入第i+1u3; cout请输入第i+1u4; /查某班级的成绩,是按学号顺序排 u5=find(pupil,u3,u4); lank(pupil,u3); k1=pupilu5.getcl();pupilu5.putcl(pupilN-1.getcl();pupilN-1.putcl(k1);


    注意事项

    本文(C++课程设计学生成绩管理系统.doc)为本站会员(精***)主动上传,沃文网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知沃文网(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服点击这里,给沃文网发消息,QQ:2622162128 - 联系我们

    版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

    Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1

    陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922