




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
设计题目:成绩管理系统设计要求实现如下功能:输入一个班级的学生基本信息(包括学号,姓名,性别,科目),对N门考试的成绩进行管理(例N=5) 要求 :1。用户录入每个学生每门课程的分数; 2。能够计算每个学生的各门功课总分和平均分,并按总分将成绩排序,显示每个学生的总分和排名; 3。计算全班各门功课的平均分,显示没门课程中低于平均分的每一个学生的学号,姓名,性别,科目,成绩等信息; 4。显示每门科目中,成绩在90分以上的学生信息。另外还输出每门科目中不及格的学生信息; 5。能按姓名或者学号查找,增加,删除和保存各个学生的信息。6 文件操作源码:class.cpp文件:#include#include#includeusing namespace std;class Student private: int no; string name,sex; public: string getName()return name;string getSex()return sex; int getNo()return no; void setSex(string s)sex=s;void setNo(int sno)no=sno;void setName(string nam)name=nam; void show() cout学号 :noendl; cout姓名 :nameendl; cout性别 :sexendl; coutendl; void Init() string n; int num,s; cout请输入学号:num; cout请输入姓名:n; cout请选择性别:男 0,女 1s; no=num; name=n; string s1,s2; if(s=0)s1=boy;Student:setSex(s1); else s2=girl;Student:setSex(s2); ;class Classesprivate: string name;public: int number; Student c100; int getNumber()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请输入班级姓名:nam; cout请输入班级人数:number; for(int i=0;inumber;i+) ci.Init(); ofstream out; out.open(student.txt,ios:out); if(!out) cerr文件打不开endl; abort(); for(int i=0;inumber;i+)outci.getNo() ci.getName() ci.getSex()endl;out.close(); void searchByName() string nam; cout请输入要查找的学生姓名:nam; int i; for(i=0;inumber;i+) if(ci.getName()=nam) ci.show(); void serchByNo() int n; cout请输入要查找的学号;n; int i; for(i=0;i100;i+) if(ci.getNo()=n)ci.show();break; ;class Courseprivate: string name; int score; public: string getName()return name; void Init() string nam; cout请输入课程名:nam; setName(nam); void setName(string nam)name=nam;class OpreatorCoupublic: Classes c1; Course co20; int Mark100100,StuAll100,n; void setN(int nn)n=nn; int getN()return n; int getMark()return Mark100100; Course getCo()return co20; void IN() cout请输入课程数量:n; for(int i=0;in;i+) coi.Init(); ofstream outS; outS.open(course.txt,ios:out); if(!outS) cerr文件打不开endl; abort(); for(int i=0;in;i+)outScoi.getName()endl;outS.close(); void input(Course co20,int n,Student c, int number ) int s; for(int i=0;in;i+) for(int j=0;jnumber;j+) cout请输入cj.getName()的coi.getName()成绩s;if(s100)cout你输入的成绩有误请重新输入!(成绩范围为0-100!)endl; j=j-1;else Markij=s; ofstream out; out.open(score.txt,ios:out); if(!out) cerr文件打不开endl; abort(); for(int i=0;in;i+) outcoi.getName(); for(int j=0;jnumber;j+) out Markij ; outendl; out.close(); void CountStu(int Mark100100,int number,int n)for(int i=0;inumber;i+)int s=0;for(int j=0;jn;j+)s=s+Markji;StuAlli=s; void CountCouAvg(int Mark100100,Student c,int number,Course co,int n) float CouAll10; for(int i=0;in;i+) float s=0.0; for(int j=0;jnumber;j+) s=s+Markij; CouAlli=s/n; for(int i=0;in;i+)coutcoi.getName()的平均分是:(CouAlli)endl; for(int i=0;in;i+) for(int j=0;jnumber;j+) if(MarkijCouAlli) coutcj.getName()的coi.getName()成绩小于平均分。endl; void showUnpass(int Mark100100,Student c,int number,Course co,int n) for(int i=0;in;i+) for(int j=0;jnumber;j+) if(Markij60) coutcj.getName()的coi.getName()成绩不及格!endl; void showGood(int Mark100100,Student c,int number,Course co,int n) for(int i=0;in;i+) for(int j=0;j90) coutcj.getName()的coi.getName()成绩优秀!成绩为:Markijendl; void order(Student c,int number,int StuAll,int n) for(int i=0;inumber;i+) int sum=0;Student stu; if(StuAlliStuAlli+1) sum=StuAlli; StuAlli=StuAlli+1; StuAlli+1=sum; stu=ci; ci=ci+1; ci+1=stu; for(int i=0;inumber;i+) coutci.getName()的排名是:(i+1) 总分:StuAlliendl; ofstream out; out.open(studentscore.txt,ios:out); if(!out) cerr文件打不开endl; abort(); for(int i=0;inumber;i+)outci.getName() StuAlli (i+1)endl;out.close(); void Delete(int Mark100100,Student c,int number,int n) string na; cout请输入要删除的学生姓名:na; for(int i=0;inumber;i+) if(ci.getName()=na) for(i;inumber;i+) ci=ci+1; for(int j=0;jn;j+) for(int k=i;knumber;k+) Markjk=Markjk+1; elsecout您要删除的学生不存在!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文件打不开snosnamesex; while(!in.eof() i=i+1; ci.setNo(sno); ci.setName(sname); ci.setSex(sex); insnosnamesex; c1.setStudent(c); c1.setNumber(i+1); in.close(); char nam20; ifstream ins(course.txt,ios:in); if(!ins) cerr文件打不开nam; while(!ins.eof() j+; coj.setName(nam); insnam; setN(j+1); ins.close(); cout读取文件完毕,请继续操作!endl; ;主函数:#includeclass.cpp#include void showMenue()cout*学生成绩管理系统*endl;cout请选择功能:endl;cout1 输入学生成绩endl;cout2 根据成绩排序输出。endl;cout3 显示成绩大于90分的学生endl;cout4 显示不及格学生endl;cout5 按姓名查找endl;cout6 按学号查找endl;cout7 显示成绩小于课程平均分的学生endl;cout8 删除学生信息endl;cout0 退出endl;coutendl; void main()int choice,input ;cout请选择初始化方式:1.手动输入 2.从文件读取input;OpreatorCou op;if(input=1) op.c1.Init();op.IN();if(input=2)op.ReadText(op.c1.c,op.c1.getNumber(),op.co,op.getN(); do showMenue(); cinchoice; switch(choice) case 1: op.input(op.co,op.getN(),op.c1.c,op.c1.getNumber();break;case 2: op.CountStu(op.Mark,op.c1.getNumber(),op.getN(); op.order(op.c1.c,op.c1.getNumber(),(op.StuAll),op.getN(); break; case 3: op.showGood(op.Mark,op.c1.c,op.c1.getNumber(),op.co,op.getN(); break; case 4: op.showUnpass(op.Mark,op.c1.c,op.c1.getNumber(),op.co,op.getN();break; case 5: op.c1.searc
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 湖南长沙雨花区雅境中学2026届九上化学期中联考试题含解析
- 2026届重庆八中学、九十五中学等学校化学九年级第一学期期中经典试题含解析
- 青川抽污水施工方案设计
- 河北省保定市清苑区北王力中学2026届九上化学期中教学质量检测试题含解析
- 高层过道清理方案范本
- 员工培训结交客户
- 装配生产工艺培训大纲
- 陕西省宝鸡岐山县联考2026届化学九上期中检测模拟试题含解析
- 2026届江苏省连云港市新海实验中学英语九年级第一学期期末学业水平测试试题含解析
- 2026届重庆市西南大附属中学化学九年级第一学期期末预测试题含解析
- 2023年重庆市大渡口区春晖路街道阳光社区工作人员考试模拟试题及答案
- 医疗机构门诊患者流行病学调查表
- GB/T 18253-2000钢及钢产品检验文件的类型
- 虚拟仪器-第4章-LabVIEW的程序结构课件
- 2022年太原市第二热力有限责任公司招聘笔试试题及答案解析
- 《中职地理》配套教学课件
- 水运工程质量检验标准表格
- DB51∕T 2571-2019 林下黄精种植技术规程
- 世园会周边环境综合整治工作汇报
- 金相检验4-结构钢的金相检验
- 不同截面钢牛腿设计计算(excel)
评论
0/150
提交评论