学生成绩管理系统C++.docx

上传人:b****1 文档编号:14248216 上传时间:2023-06-21 格式:DOCX 页数:15 大小:32.08KB
下载 相关 举报
学生成绩管理系统C++.docx_第1页
第1页 / 共15页
学生成绩管理系统C++.docx_第2页
第2页 / 共15页
学生成绩管理系统C++.docx_第3页
第3页 / 共15页
学生成绩管理系统C++.docx_第4页
第4页 / 共15页
学生成绩管理系统C++.docx_第5页
第5页 / 共15页
学生成绩管理系统C++.docx_第6页
第6页 / 共15页
学生成绩管理系统C++.docx_第7页
第7页 / 共15页
学生成绩管理系统C++.docx_第8页
第8页 / 共15页
学生成绩管理系统C++.docx_第9页
第9页 / 共15页
学生成绩管理系统C++.docx_第10页
第10页 / 共15页
学生成绩管理系统C++.docx_第11页
第11页 / 共15页
学生成绩管理系统C++.docx_第12页
第12页 / 共15页
学生成绩管理系统C++.docx_第13页
第13页 / 共15页
学生成绩管理系统C++.docx_第14页
第14页 / 共15页
学生成绩管理系统C++.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

学生成绩管理系统C++.docx

《学生成绩管理系统C++.docx》由会员分享,可在线阅读,更多相关《学生成绩管理系统C++.docx(15页珍藏版)》请在冰点文库上搜索。

学生成绩管理系统C++.docx

学生成绩管理系统C++

设计题目:

成绩管理系统

设计要求实现如下功能:

输入一个班级的学生基本信息(包括学号,姓名,性别,科目),对N门考试的成绩进行管理(例N=5)

要求:

1。

用户录入每个学生每门课程的分数;

2。

能够计算每个学生的各门功课总分和平均分,并按总分将成绩排序,显示每个学生的总分和排名;

3。

计算全班各门功课的平均分,显示没门课程中低于平均分的每一个学生的学号,姓名,性别,科目,成绩等信息;

4。

显示每门科目中,成绩在90分以上的学生信息。

另外还输出每门科目中不及格的学生信息;

5。

能按姓名或者学号查找,增加,删除和保存各个学生的信息。

6文件操作

 

源码:

 

class.cpp文件:

#include

#include

#include

usingnamespacestd;

classStudent{

private:

intno;

stringname,sex;

public:

stringgetName(){returnname;}

stringgetSex(){returnsex;}

intgetNo(){returnno;}

voidsetSex(strings){sex=s;}

voidsetNo(intsno){no=sno;}

voidsetName(stringnam){name=nam;}

voidshow(){

cout<<"学号:

"<

cout<<"姓名:

"<

cout<<"性别:

"<

cout<

}

voidInit(){

stringn;

intnum,s;

cout<<"请输入学号:

"<

cin>>num;

cout<<"请输入姓名:

"<

cin>>n;

cout<<"请选择性别:

男0,女1"<

cin>>s;

no=num;

name=n;

strings1,s2;

if(s=0){s1="boy";Student:

:

setSex(s1);}

else{

s2="girl";Student:

:

setSex(s2);

}

}

};

classClasses{

private:

stringname;

public:

intnumber;

Studentc[100];

intgetNumber(){returnnumber;}

StudentgetStu(){returnc[100];}

voidsetStudent(Studenta[100]){c[100]=a[100];}

voidsetNumber(intnum){number=num;}

voidInit(){

number=0;

stringnam;

cout<<"请输入班级姓名:

"<

cin>>nam;

cout<<"请输入班级人数:

"<

cin>>number;

for(inti=0;i

c[i].Init();

}

ofstreamout;

out.open("student.txt",ios:

:

out);

if(!

out){

cerr<<"文件打不开"<

abort();

}

for(inti=0;i

out<

}

out.close();

}

voidsearchByName(){

stringnam;

cout<<"请输入要查找的学生姓名:

"<

cin>>nam;

inti;

for(i=0;i

if(c[i].getName()==nam){

c[i].show();

}

}

}

voidserchByNo(){

intn;

cout<<"请输入要查找的学号;"<

cin>>n;

inti;

for(i=0;i<100;i++){

if(c[i].getNo()==n){c[i].show();break;}

}

}

};

classCourse{

private:

stringname;

intscore;

public:

stringgetName(){returnname;}

voidInit(){

stringnam;

cout<<"请输入课程名:

"<

cin>>nam;

setName(nam);

}

voidsetName(stringnam){name=nam;}

};

classOpreatorCou{

public:

Classesc1;

Courseco[20];

intMark[100][100],StuAll[100],n;

voidsetN(intnn){n=nn;}

intgetN(){returnn;}

intgetMark(){returnMark[100][100];}

CoursegetCo(){returnco[20];}

voidIN(){

cout<<"请输入课程数量:

"<

cin>>n;

for(inti=0;i

co[i].Init();

}

ofstreamoutS;

outS.open("course.txt",ios:

:

out);

if(!

outS){

cerr<<"文件打不开"<

abort();

}

for(inti=0;i

outS<

}

outS.close();

}

voidinput(Courseco[20],intn,Studentc[],intnumber){

ints;

for(inti=0;i

for(intj=0;j

cout<<"请输入"<

cin>>s;

if(s<0||s>100){

cout<<"你输入的成绩有误请重新输入!

(成绩范围为0-100!

)"<

j=j-1;

}

else{

Mark[i][j]=s;

}

}

}

ofstreamout;

out.open("score.txt",ios:

:

out);

if(!

out){

cerr<<"文件打不开"<

abort();

}

for(inti=0;i

out<

for(intj=0;j

out<<""<

}

out<

}

out.close();

}

voidCountStu(intMark[100][100],intnumber,intn){

for(inti=0;i

ints=0;

for(intj=0;j

s=s+Mark[j][i];

}

StuAll[i]=s;

}

}

voidCountCouAvg(intMark[100][100],Studentc[],intnumber,Courseco[],intn){

floatCouAll[10];

for(inti=0;i

floats=0.0;

for(intj=0;j

s=s+Mark[i][j];

}

CouAll[i]=s/n;

}

for(inti=0;i

cout<

"<<(CouAll[i])<

}

for(inti=0;i

for(intj=0;j

if(Mark[i][j]

cout<

"<

}

}

}

voidshowUnpass(intMark[100][100],Studentc[],intnumber,Courseco[],intn){

for(inti=0;i

for(intj=0;j

if(Mark[i][j]<60){

cout<

"<

}

}

}

}

voidshowGood(intMark[100][100],Studentc[],intnumber,Courseco[],intn){

for(inti=0;i

for(intj=0;j

if(Mark[i][j]>90){

cout<

成绩为:

"<

}

}

}

}

voidorder(Studentc[],intnumber,intStuAll[],intn){

for(inti=0;i

intsum=0;Studentstu;

if(StuAll[i]

sum=StuAll[i];

StuAll[i]=StuAll[i+1];

StuAll[i+1]=sum;

stu=c[i];

c[i]=c[i+1];

c[i+1]=stu;

}

}

for(inti=0;i

cout<

"<<(i+1)<<"总分:

"<

}

ofstreamout;

out.open("studentscore.txt",ios:

:

out);

if(!

out){

cerr<<"文件打不开"<

abort();

}

for(inti=0;i

out<

}

out.close();

 

}

voidDelete(intMark[100][100],Studentc[],intnumber,intn){

stringna;

cout<<"请输入要删除的学生姓名:

"<

cin>>na;

for(inti=0;i

if(c[i].getName()==na){

for(i;i

c[i]=c[i+1];

}

for(intj=0;j

for(intk=i;k

Mark[j][k]=Mark[j][k+1];

}

}

}

else{cout<<"您要删除的学生不存在!

"<

}

cout<<"删除成功!

"<

}

voidReadText(Studentc[],intnumber,Courseco[],intn){

charsname[30],sex[30];

intsno;

ifstreamin("student.txt",ios:

:

in);

if(!

in){

cerr<<"文件打不开"<

abort();

}

inti=-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;

}

c1.setStudent(c);

c1.setNumber(i+1);

in.close();

charnam[20];

ifstreamins("course.txt",ios:

:

in);

if(!

ins){

cerr<<"文件打不开"<

abort();

}

intj=-1;

ins>>nam;

while(!

ins.eof()){

j++;

co[j].setName(nam);

ins>>nam;

}

setN(j+1);

ins.close();

cout<<"读取文件完毕,请继续操作!

"<

}

};

 

主函数:

 

#include"class.cpp"

#include

voidshowMenue(){

cout<<"********学生成绩管理系统********"<

cout<<"请选择功能:

"<

cout<<"1输入学生成绩"<

cout<<"2根据成绩排序输出。

"<

cout<<"3显示成绩大于90分的学生"<

cout<<"4显示不及格学生"<

cout<<"5按姓名查找"<

cout<<"6按学号查找"<

cout<<"7显示成绩小于课程平均分的学生"<

cout<<"8删除学生信息"<

cout<<"0退出"<

cout<

}

voidmain(){

intchoice,input;

cout<<"请选择初始化方式:

1.手动输入2.从文件读取"<

cin>>input;

OpreatorCouop;

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){

case1:

op.input(op.co,op.getN(),op.c1.c,op.c1.getNumber());break;

case2:

{op.CountStu(op.Mark,op.c1.getNumber(),op.getN());

op.order(op.c1.c,op.c1.getNumber(),(op.StuAll),op.getN());

break;

}

case3:

op.showGood(op.Mark,op.c1.c,op.c1.getNumber(),op.co,op.getN());break;

case4:

op.showUnpass(op.Mark,op.c1.c,op.c1.getNumber(),op.co,op.getN());break;

case5:

op.c1.searchByName();break;

case6:

op.c1.serchByNo();break;

case7:

op.CountCouAvg(op.Mark,op.c1.c,op.c1.getNumber(),op.co,op.getN());break;

case8:

op.Delete(op.Mark,op.c1.c,op.c1.getNumber(),op.getN());break;

case0:

break;

default:

cout<<"您输入的有误,请重新输入!

"<

}

}while(choice!

=0);

}

 

运行界面:

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2