学生成绩管理系统C_第1页
学生成绩管理系统C_第2页
学生成绩管理系统C_第3页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、设计题目:成绩管理系统设计要求实现如下功能:输入一个班级的学生基本信息(包括学号,姓名,性别,科目),对N门考试的成绩进行管理(例N=5)要求:1。用户录入每个学生每门课程的分数;2。能够计算每个学生的各门功课总分和平均分,并按总分将成绩排序,显示每个学生的总 分和排名;3。计算全班各门功课的平均分,显示没门课程中低于平均分的每一个学生的学号,姓名, 性别,科目,成绩等信息;4。显示每门科目中,成绩在90分以上的学生信息。 另外还输出每门科目中不和格的学生信 息;5。能按姓名或者学号查找,增加,删除和保存各个学生的信息。6文件操作源码:class.cpp 文件:#in clude<ios

2、tream>#in clude<fstream>#in clude<stri ng>using n amespace std;class Stude ntprivate:int no;stri ng n ame,sex;public:stri ng getName()retur n n ame;string getSex()return sex;int getNo()retur n n o;void setSex(stri ng s)sex=s;void setNo(i nt sno)no=sn o;void setName(stri ng n am) name=

3、n am;void show()cout<<"学号:"<<no<<endl;cout<<"姓名:"<<name<<endl;cout<<"性另【J : "<<sex<<endl;cout<<endl; void Init() string n; int num,s; cout<<" 请输入学号: "<<endl; cin>>num; cout<<&q

4、uot; 请输入姓名: "<<endl; cin>>n;cout<<" 请选择性别:男 0,女 1"<<endl; cin>>s;no=num; name=n; string s1,s2;if(s=0)s1="boy"Student:setSex(s1); elses2="girl"Student:setSex(s2); ;class Classes private: string name;public:int number;Student c100;int ge

5、tNumber()return number; Student getStu()return c100; void setStudent(Student a100)c100=a100; void setNumber(int num)number=num; void Init()number=0; string nam; cout<<" 请输入班级姓名: "<<endl; cin>>nam;cout<<" 请输入班级人数: "<<endl; cin>>number;for(int i=

6、0;i<number;i+) ci.Init(); ofstream out; out.open("student.txt",ios:out);if(!out)cerr<<" 文件打不开 "<<endl;abort();for(int i=0;i<number;i+)"<<ci.getSex()<<endl;out<<ci.getNo()<<" "<<ci.getName()<<" out.close();v

7、oid searchByName() string nam; cout<<" 请输入要查找的学生姓名: "<<endl; cin>>nam;int i;for(i=0;i<number;i+)if(ci.getName()=nam) ci.show();void serchByNo()int n;cout<<" 请输入要查找的学号 ;"<<endl; cin>>n;int i;for(i=0;i<100;i+) if(ci.getNo()=n)ci.show();brea

8、k;class Courseprivate:string name;int score;public:string getName()return name;void Init()string nam;cout<<" 请输入课程名: "<<endl;cin>>nam;setName(nam);void setName(string nam)name=nam;class OpreatorCoupublic:Classes c1;Course co20;int Mark100100,StuAll100,n;void setN(int nn)n

9、=nn;int getN()return n;int getMark()return Mark100100;Course getCo()return co20;void IN()cout<<" 请输入课程数量: "<<endl;cin>>n;for(int i=0;i<n;i+)coi.Init();ofstream outS;outS.open("course.txt",ios:out);if(!outS)cerr<<" 文件打不开 "<<endl;abort();f

10、or(int i=0;i<n;i+)outS<<coi.getName()<<endl;outS.close();void input(Course co20,int n,Student c, int number )int s;for(int i=0;i<n;i+)for(int j=0;j<number;j+)cout<<" 请输入 "<<cj.getName()<<" 的 "<<coi.getName()<<" 成绩 "<

11、<endl; cin>>s;if(s<0|s>100)cout<<" 你输入的成绩有误请重新输入! (成绩范围为 0-100!)"<<endl; j=j-1;elseMarkij=s; ofstream out;out.open("score.txt",ios:out);if(!out)cerr<<" 文件打不开 "<<endl; abort();for(int i=0;i<n;i+) out<<coi.getName();for(int

12、j=0;j<number;j+) out<<" "<<Markij<<" " out<<endl;out.close();void CountStu(int Mark100100,int number,int n)for(int i=0;i<number;i+)int s=0;for(int j=0;j<n;j+) s=s+Markji;StuAlli=s;void CountCouAvg(int Mark100100,Student c,int number,Course co,int

13、n) float CouAll10;for(int i=0;i<n;i+)float s=0.0;for(int j=0;j<number;j+) s=s+Markij; CouAlli=s/n;for(int i=0;i<n;i+)cout<<coi.getName()<<" 的平均分是: "<<(CouAlli)<<endl;for(int i=0;i<n;i+) for(int j=0;j<number;j+) if(Markij<CouAlli) cout<<cj.get

14、Name()<<" 的 "<<coi.getName()<<" 成绩小于平均分。 "<<endl;void showUnpass(int Mark100100,Student c,int number,Course co,int n) for(int i=0;i<n;i+)for(int j=0;j<number;j+) if(Markij<60)cout<<cj.getName()<<" 的 "<<coi.getName()<

15、<" 成 绩 不 和 格 ! "<<endl;void showGood(int Mark100100,Student c,int number,Course co,int n) for(int i=0;i<n;i+)for(int j=0;j<number;j+) if(Markij>90) cout<<cj.getName()<<" 的 "<<coi.getName()<<" 成绩优秀!成绩 为: "<<Markij<<en

16、dl;void order(Student c,int number,int StuAll,int n)for(int i=0;i<number;i+)int sum=0;Student stu;if(StuAlli<StuAlli+1) sum=StuAlli; StuAlli=StuAlli+1; StuAlli+1=sum;stu=ci;ci=ci+1; ci+1=stu;for(int i=0;i<number;i+)cout<<ci.getName()<<" 的排名是: "<<(i+1)<<&quo

17、t; 总分: "<<StuAlli<<endl; ofstream out;out.open("studentscore.txt",ios:out);if(!out)cerr<<" 文件打不开 "<<endl;abort();for(int i=0;i<number;i+)out<<ci.getName()<<" "<<StuAlli<<" "<<(i+1)<<endl; out.

18、close();void Delete(int Mark100100,Student c,int number,int n) string na;cout<<" 请输入要删除的学生姓名: "<<endl; cin>>na;for(int i=0;i<number;i+) if(ci.getName()=na) for(i;i<number;i+) ci=ci+1;for(int j=0;j<n;j+)for(int k=i;k<number;k+) Markjk=Markjk+1;elsecout<<&

19、quot; 您要删除的学生不存在! "<<endl;cout<<" 删除成功! "<<endl;void ReadText(Student c,int number,Course co,int n)char sname30,sex30;int sno;ifstream in("student.txt",ios:in);if(!in)cerr<<" 文件打不开 "<<endl;abort();int i=-1;in>>sno>>sname>

20、;>sex;while(!in.eof()i=i+1;ci.setNo(sno); ci.setName(sname); ci.setSex(sex);in>>sno>>sname>>sex;c1.setStudent(c);c1.setNumber(i+1);in.close();char nam20;ifstream ins("course.txt",ios:in);if(!ins)cerr<<" 文件打不开 "<<endl;abort();int j=-1;ins>>na

21、m;while(!ins.eof()j+;coj.setName(nam);ins>>nam;setN(j+1);ins.close();cout<<" 读取文件完毕 ,请继续操作 !"<<endl;主函数:#include"class.cpp"#include<iostream>void showMenue()cout<<"* 学生成绩管理系统 *"<<endl;cout<<" 请选择功能: "<<endl;cout<<"1 输入学生成绩 "<<endl;cout<<"2 根据成绩排序输出。 "<<endl;cout<<"3 显示成绩大于 90 分的学生 "<<endl;cout&l

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论