C++课程设计学生成绩管理系统.doc
《C++课程设计学生成绩管理系统.doc》由会员分享,可在线阅读,更多相关《C++课程设计学生成绩管理系统.doc(15页珍藏版)》请在沃文网上搜索。
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
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 课程设计 学生 成绩管理系统
