首页 > 代码库 > 学生成绩管理系统
学生成绩管理系统
基于控制台的学生成绩信息管理系统,实现学生的成绩管理,实现学生的增加,删除,查询和总分的计算,并可查看总分排名;
使用技术:C++,STL;后续还会继续完善,包括添加注释,把增加学生功能封装成一个方法,完善输出格式等一些细节的改善
#include<iostream>#include<string>#include<list>#include<algorithm>using namespace std;class student{private: int No; string Name; double Math; double Eng; double Chn; double Cpro; double Sum;public: student(int no,string name,double math,double eng, double chn,double cpro){ No=no; Name=name; Math=math; Eng=eng; Chn=chn; Cpro=cpro; Sum=math+eng+chn+cpro; } void print() { cout<<No<<" "<<Name<<" "<<Math<<" "<<Eng<<" " <<Chn<<" "<<Cpro<<" "<<Sum<<endl; } int getno() { return No; } double getsum() { return Sum; } ~student(){ }};void print(list<student> lst);void print_no(list<student> &lst);void cmp_no(student& st1,student& st2);void print_sum(list<student> &lst);void find(list<student> &lst);int del(list<student> &lst);void main_remid();void score_remind();int main(){ int No; string Name; double Math; double Eng; double Chn; double Cpro; list<student> lst; char op=‘ ‘; main_remid(); while(op!=‘q‘) { cin>>op; switch(op) { case ‘1‘: score_remind(); print_no(lst); break; case ‘3‘: find(lst); break; case ‘4‘: del(lst); break; case ‘5‘: score_remind(); print_sum(lst); break; case ‘6‘: main_remid(); break; case ‘2‘: cout<<"请输入要增加学生的学号:"<<endl; cin>>No; bool flag=false; for(list<student>::iterator it=lst.begin(); it!=lst.end();it++) if(No==it->getno()){ cout<<"添加失败,此学号已存在,请重新操作"<<endl; flag=true; } if(flag) break; cout<<"请输入要增加学生的姓名"<<endl; cin>>Name; cout<<"请输入要增加学生的数学成绩:"<<endl; cin>>Math; cout<<"请输入要增加学生的英语成绩:"<<endl; cin>>Eng; cout<<"请输入要增加学生的语文成绩:"<<endl; cin>>Chn; cout<<"请输入要增加学生的C语言成绩:"<<endl; cin>>Cpro; student st(No,Name,Math,Eng,Chn,Cpro); lst.push_back(st); break; } if(op!=‘q‘) cout<<"请继续选择您想要的操作:"<<endl; } return 0;}void addst(){}void print(list<student> lst){ for(list<student>::iterator it=lst.begin();it!=lst.end();it++) it->print();}void print_no(list<student> &lst){ int j,i=0; int a[1024]={0}; for(list<student>::iterator it=lst.begin();it!=lst.end();it++) a[i++]=it->getno(); sort(a,a+i); for(j=0;j<i;j++) for(list<student>::iterator jt=lst.begin();jt!=lst.end();jt++) if(a[j]==jt->getno()) jt->print();}void print_sum(list<student> &lst){ int i=0; double a[1024]={0}; for(list<student>::iterator it=lst.begin();it!=lst.end();it++) a[i++]=it->getsum(); sort(a,a+i); while(i--) for(list<student>::iterator jt=lst.begin();jt!=lst.end();jt++) if(a[i]==jt->getsum()) jt->print();}void find(list<student> &lst){ cout<<"请输入要查询学生的学号:"<<endl; int no; cin>>no; for(list<student>::iterator it=lst.begin();it!=lst.end();it++) { if(no==it->getno()) it->print(); if(it==lst.end()) cout<<"不存在此学号,请重新选择操作"<<endl; } }int del(list<student> &lst){ cout<<"请输入要删除学生的学号:"<<endl; int no; cin>>no; for(list<student>::iterator it=lst.begin();it!=lst.end();it++) if(no==it->getno()) { lst.erase(it); return 0; } cout<<"删除失败,不存在此学号"<<endl; }void main_remid(){ cout<<"请选择要执行的操作"<<endl; cout<<"1.查询所有学生的成绩信息"<<endl; cout<<"2.增加学生"<<endl; cout<<"3.查找学生"<<endl; cout<<"4.删除学生"<<endl; cout<<"5.查看总分排名"<<endl; cout<<"6.查看此提示"<<endl; cout<<"q.退出系统" <<endl;}void score_remind(){ cout<<"学号 "<<"姓名 "<<"数学 "<<"英语" <<"C语言 "<<"总成绩"<<endl;}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。