学生成绩管理系统 C++
更新时间:2024-04-25 15:29:02 阅读量: 综合文库 文档下载
设计题目:成绩管理系统
设计要求实现如下功能:
输入一个班级的学生基本信息(包括学号,姓名,性别,科目),对N门考试的成绩进行管理(例N=5) 要求 :
1。用户录入每个学生每门课程的分数;
2。能够计算每个学生的各门功课总分和平均分,并按总分将成绩排序,显示每个学生的总分和排名;
3。计算全班各门功课的平均分,显示没门课程中低于平均分的每一个学生的学号,姓名,性别,科目,成绩等信息;
4。显示每门科目中,成绩在90分以上的学生信息。另外还输出每门科目中不及格的学生信息;
5。能按姓名或者学号查找,增加,删除和保存各个学生的信息。 6 文件操作
源码:
class.cpp文件:
#include
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 show(){
cout<<\学号 :\ cout<<\姓名 :\ cout<<\性别 :\
void setNo(int sno){no=sno;}
void setName(string nam){name=nam;}
cout< void Init(){ string n; int num,s; cout<<\请输入学号:\ cin>>num; cout<<\请输入姓名:\ cin>>n; cout<<\请选择性别:男 0,女 1\ cin>>s; no=num; name=n; string s1,s2; if(s=0){s1=\ else{ s2=\ } } }; class Classes{ private: string name; public: int number; Student c[100]; int getNumber(){return number;} Student getStu(){return c[100];} void setStudent(Student a[100]){c[100]=a[100];} void setNumber(int num){number=num;} void Init(){ number=0; string nam; cout<<\请输入班级姓名:\ cin>>nam; cout<<\请输入班级人数:\ cin>>number; for(int i=0;i } ofstream out; out.open(\ } if(!out){ cerr<<\文件打不开\ abort(); } for(int i=0;i } out.close(); out< void searchByName(){ string nam; cout<<\请输入要查找的学生姓名:\ cin>>nam; int i; for(i=0;i void serchByNo(){ int n; cout<<\请输入要查找的学号;\ cin>>n; int i; for(i=0;i<100;i++){ if(c[i].getNo()==n){c[i].show();break;} } } }; class Course{ private: string name; int score; public: string getName(){return name;} void Init(){ string nam; cout<<\请输入课程名:\ cin>>nam; setName(nam); } c[i].show(); } } void setName(string nam){name=nam;} }; class OpreatorCou{ public: Classes c1; Course co[20]; int Mark[100][100],StuAll[100],n; void setN(int nn){n=nn;} int getN(){return n;} int getMark(){return Mark[100][100];} Course getCo(){return co[20];} void IN(){ cout<<\请输入课程数量:\ cin>>n; for(int i=0;i outS.open(\ if(!outS){ cerr<<\文件打不开\ abort(); } for(int i=0;i outS.close(); } void input(Course co[20],int n,Student c[], int number ){ int s; for(int i=0;i for(int j=0;j cin>>s; if(s<0||s>100){ cout<<\你输入的成绩有误请重新输入!(成绩范围为0-100!)\ j=j-1; } else{ Mark[i][j]=s; } } } ofstream out; out.open(\ if(!out){ cerr<<\文件打不开\ abort(); } for(int i=0;i for(int j=0;j out< out.close(); } void CountStu(int Mark[100][100],int number,int n){ for(int i=0;i } int s=0; for(int j=0;j StuAll[i]=s; } void CountCouAvg(int Mark[100][100],Student c[],int number,Course co[],int n){ float CouAll[10]; for(int i=0;i for(int j=0;j CouAll[i]=s/n; } for(int i=0;i for(int i=0;i for(int j=0;j if(Mark[i][j] \ } } void showUnpass(int Mark[100][100],Student c[],int number,Course co[],int n){ for(int i=0;i for(int j=0;j if(Mark[i][j]<60){ cout< \ } } } void showGood(int Mark[100][100],Student c[],int number,Course co[],int n){ for(int i=0;i } void order(Student c[],int number,int StuAll[],int n){ for(int i=0;i if(StuAll[i] StuAll[i]=StuAll[i+1]; StuAll[i+1]=sum; stu=c[i]; c[i]=c[i+1]; c[i+1]=stu; } } } } } for(int i=0;i } ofstream out; out.open(\ if(!out){ cerr<<\文件打不开\ abort(); } for(int i=0;i out.close(); } void Delete(int Mark[100][100],Student c[],int number,int n){ string na; cout<<\请输入要删除的学生姓名:\ cin>>na; for(int i=0;i if(c[i].getName()==na){ for(i;i c[i]=c[i+1]; } for(int j=0;j Mark[j][k]=Mark[j][k+1]; } } } else{cout<<\您要删除的学生不存在!\ } cout<<\删除成功!\ } void ReadText(Student c[],int number,Course co[],int n){ char sname[30],sex[30]; int sno; ifstream in(\ if(!in){ cerr<<\文件打不开\ abort(); } int i=-1; in>>sno>>sname>>sex; while(!in.eof()){ i=i+1; c[i].setNo(sno); c[i].setName(sname); c[i].setSex(sex); in>>sno>>sname>>sex; 主函数: #include\ } }; } c1.setStudent(c); c1.setNumber(i+1); in.close(); char nam[20]; ifstream ins(\ if(!ins){ cerr<<\文件打不开\ abort(); } int j=-1; ins>>nam; while(!ins.eof()){ j++; co[j].setName(nam); ins>>nam; } setN(j+1); ins.close(); cout<<\读取文件完毕,请继续操作!\ #include } cout<<\请选择功能:\cout<<\cout<<\cout<<\cout<<\ 输入学生成绩\ 根据成绩排序输出。\ 显示成绩大于90分的学生\显示不及格学生\ cout<<\按姓名查找\cout<<\按学号查找\ cout<<\显示成绩小于课程平均分的学生\cout<<\删除学生信息\cout<<\退出\cout< void main(){ int choice,input ; cout<<\请选择初始化方式:1.手动输入 2.从文件读取\cin>>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(); cin>>choice; 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.searchByName();break; case 6: op.c1.serchByNo(); break; case 7: op.CountCouAvg(op.Mark,op.c1.c,op.c1.getNumber(),op.co,op.getN());break; case 8: op.Delete(op.Mark,op.c1.c,op.c1.getNumber(),op.getN());break; case 0: break; default: cout<<\您输入的有误,请重新输入!\ } }while(choice!=0); } 运行界面:
正在阅读:
学生成绩管理系统 C++04-25
导学案08-24
金桥国际施工组织设计11-26
《生于忧患死于安乐》理解性默写11-23
青草小河边03-15
以格言扩句,练片段作文04-28
经验+反思=成长11-05
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- C++
- 管理系统
- 成绩
- 学生