版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、设计题目:成绩管理系统设计要求实现如下功能:输入一个班级的学生基本信息(包括学号,姓名,性别,科目),对N门考试的成绩进行管理(例N=5) 要求 :1。用户录入每个学生每门课程的分数; 2。能够计算每个学生的各门功课总分和平均分,并按总分将成绩排序,显示每个学生的总分和排名; 3。计算全班各门功课的平均分,显示没门课程中低于平均分的每一个学生的学号,姓名,性别,科目,成绩等信息; 4。显示每门科目中,成绩在90分以上的学生信息。另外还输出每门科目中不及格的学生信息; 5。能按姓名或者学号查找,增加,删除和保存各个学生的信息。6 文件操作源码:class.cpp文件:#include<io
2、stream>#include<fstream>#include<string>using 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
3、show() cout<<"学号 :"<<no<<endl; cout<<"姓名 :"<<name<<endl; cout<<"性别 :"<<sex<<endl; cout<<endl; void Init() string n; int num,s; cout<<"请输入学号:"<<endl; cin>>num; cout<<"请输入姓名
4、:"<<endl; cin>>n; cout<<"请选择性别:男 0,女 1"<<endl; cin>>s; 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 getNumbe
5、r()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=0;i<
6、number;i+) ci.Init(); ofstream out; out.open("student.txt",ios:out); if(!out) cerr<<"文件打不开"<<endl; abort(); for(int i=0;i<number;i+)out<<ci.getNo()<<" "<<ci.getName()<<" "<<ci.getSex()<<endl;out.close(); void
7、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
9、 setN(int nn)n=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<<"文件打不开"
10、<<endl; abort(); for(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;else Markij=s; ofstream out; out.open("score.txt",ios:out); if(!out) cerr<<"文件打不开"<<endl; abort(); for(int i=0;i<n;i+) out<<
12、;coi.getName(); for(int 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
13、,int number,Course co,int 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&l
14、t;CouAlli) cout<<cj.getName()<<"的"<<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()<<"的"
15、;<<coi.getName()<<"成绩不及格!"<<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()<<"成绩优秀!成绩为:"<<
16、Markij<<endl; 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()<<"的排名是:"<
17、;<(i+1)<<" 总分:"<<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<<" "<<
18、;(i+1)<<endl;out.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=
19、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<<"文件打不开"<<endl; abort(); int i=-1
20、; in>>sno>>sname>>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<<"文件打不开"<
21、;<endl; abort(); int j=-1; ins>>nam; 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;co
22、ut<<"请选择功能:"<<endl;cout<<"1 输入学生成绩"<<endl;cout<<"2 根据成绩排序输出。"<<endl;cout<<"3 显示成绩大于90分的学生"<<endl;cout<<"4 显示不及格学生"<<endl;cout<<"5 按姓名查找"<<endl;cout<<"6 按学号查找
23、"<<endl;cout<<"7 显示成绩小于课程平均分的学生"<<endl;cout<<"8 删除学生信息"<<endl;cout<<"0 退出"<<endl;cout<<endl; void main()int choice,input ;cout<<"请选择初始化方式:1.手动输入 2.从文件读取"<<endl;cin>>input;OpreatorCou op;if(input=1) op.c1.Init();op.IN();if(in
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年厦门市政集团有限公司人员招聘参考题库及详细答案解析
- 2026年事业单位审计员岗位全真模拟试卷(附答案)
- 2026年心理咨询师二级考试心理诊断技能培训试卷
- 2026年大学辅导员《心理健康教育》培训试卷
- 2026年广东电信人员招聘笔试参考试题及详细答案解析
- 2026年运行维护服务行业趋势洞察报告及未来五至十年可持续发展与长期价值评估
- 2026年新国脉数字文化股份有限公司人员招聘笔试备考题库及详细答案解析
- 2026年中国四联仪器仪表集团有限公司人员招聘考试备考题库及详细答案解析
- 2026年纺织面料鞋制造行业趋势洞察报告及未来五至十年可持续发展与长期价值评估
- 2026年炼钢行业技术路线图报告及未来五至十年龙头崛起与格局重塑
- 微型小说教学课件
- GB/T 13029.1-2025船舶电气装置第1部分:电缆的选择和安装
- 2025年内蒙古自治区(统招专升本)英语考试试题及答案
- 高等数学(上册)(慕课版)课件 第1章 习题课
- 合唱课题申报书
- 2025年八年级上学期地理早背晚默资料
- 云南民族大学附属高级中学2026届高三上学期联考(一)地理试卷(含解析)
- 中药材采购合同协议模板
- 企业内部控制系统模板
- 底商出租管理办法
- 水产工程技术人员岗位面试问题及答案
评论
0/150
提交评论