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

上传人:b****8 文档编号:9784504 上传时间:2023-02-06 格式:DOCX 页数:40 大小:17.90KB
下载 相关 举报
C++学生成绩管理系统源代码.docx_第1页
第1页 / 共40页
C++学生成绩管理系统源代码.docx_第2页
第2页 / 共40页
C++学生成绩管理系统源代码.docx_第3页
第3页 / 共40页
C++学生成绩管理系统源代码.docx_第4页
第4页 / 共40页
C++学生成绩管理系统源代码.docx_第5页
第5页 / 共40页
点击查看更多>>
下载资源
资源描述

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

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

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

C++学生成绩管理系统源代码

 

classPerson

 

{public:

charname[8];};

classstudent:

publicPerson//构建学生类

 

{

 

public:

 

friendvoidManage(studentstud[]);

 

friendvoidInput(studentstud[]);

 

friendvoidStatistic(studentstud[]);

 

friendvoidLookup(studentstud[]);

 

friendvoidModify(studentstud[]);

 

friendvoidOutput(studentstud[]);

 

friendvoidInsert(studentstud[]);

 

friendvoidWrite(studentstud[],intn);

 

friendintRead(studentstud[]);

 

private:

 

intnum;

 

charname[8];

 

charclass_0[20];

 

floatc_program;

 

floatenglish;

 

floatmath;

 

floataverage;

 

intorder;

 

}stud[100];

 

classManage:

publicstudent

 

{};

 

voidWrite(studentstud[],intn)//{

 

向文件中写入数据

fstreammyFile;

 

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

:

out|ios:

:

binary);

 

if(!

myFile)

 

{

 

cout<<"score.txtcan'topen!

"<

 

abort();

 

}

 

intcount=n;

 

myFile<

 

for(inti=0;i<=count;i++)

 

{

 

myFile<

 

"<

 

"<

 

}

 

myFile.close();

 

}

 

intRead(studentstud[])//从文件中读数据

 

{

 

fstreammyFile;

 

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

:

in|ios:

:

binary);

 

if(!

myFile)

 

{

 

cout<<"score.txtcan'topen!

"<

 

abort();

 

}

 

intcount;

 

myFile.seekg(0);

 

myFile>>count;

 

for(inti=0;i<=count;i++)

 

{

 

myFile>>stud[i].class_0>>stud[i].num>>stud[i].name>>stud[i].c_progra

 

m>>stud[i].english>>stud[i].math>>stud[i].average;

 

}

 

myFile.close();

 

returncount;

 

}

 

voidInput(studentstud[])//---------------输入学生成绩

 

{

 

system("cls");/*运行前清屏*/

 

inti=0;

 

intflag;

 

charsign;

 

cout<>>>>>>>请输入学生成绩<<<<<<<<\n"<

 

while(sign!

='n'&&sign!

='N')/*判断*/

 

{

 

cout<<"班级:

";/*交互输入*/

 

cin>>stud[i].class_0;

 

loop:

 

cout<<"学号:

";

 

cin>>stud[i].num;

 

intc=0;

 

while(c

 

{

 

c++;

 

if(stud[i].num==stud[i-c].num)

 

{

 

cout<<"你输入的学号已经存在!

请重新输入!

"<

 

gotoloop;

 

}

 

}

 

cout<<"姓名:

";

 

cin>>stud[i].name;

 

do{

 

flag=0;

 

cout<<"C++成绩:

";

 

cin>>stud[i].c_program;

 

if(stud[i].c_program>100||stud[i].c_program<1)

 

cout<<"请输入1-100之间的数字!

\n";

 

else

 

flag=1;

 

}while(flag==0);

 

do{

 

flag=0;

 

cout<<"英语成绩:

";

 

cin>>stud[i].english;

 

if(stud[i].english>100||stud[i].english<1)

 

cout<<"请输入1-100之间的数字!

\n";

 

else

 

flag=1;

 

}while(flag==0);

 

do{

 

flag=0;

 

cout<<"数学成绩:

";

 

cin>>stud[i].math;

 

if(stud[i].math>100||stud[i].math<1)

 

cout<<"请输入1-100之间的数字!

\n";

 

else

 

flag=1;

 

}while(flag==0);

 

stud[i].average=(stud[i].c_program+stud[i].english+stud[i].math)/

 

3;

 

cout<<"平均分:

"<

 

cout<<"继续录入学生成绩?

(y/n)";

 

cin>>sign;/*

 

输入判断

 

*/

i++;

 

}

 

Write(stud,i);

 

}

 

voidStatistic(studentstud[])

 

//---------------

 

统计学生数据

{

 

system("cls");/*

 

运行前清屏

 

*/

intn=Read(stud);

 

cout<>>>>>>>显示学生成绩<<<<<<<<\n"<

 

cout<<"班级"<<"\t"<<"学号"<<"\t"<<"姓名"<<"\t"<<"

 

平均分"<

 

for(inti=0;i

 

cout<

 

"<

 

system("pause");

 

}

 

voidLookup(studentstud[])//---------------查找学生成绩

 

{intp;

 

cout<<"请选择1.按学号查找2.按姓名查找"<

 

cin>>p;

 

if(p==1)

 

{

 

system("cls");/*运行前清屏*/

 

intn=Read(stud);

 

ints;

 

inti=0;

 

cout<>>>>>>>查找学生成绩<<<<<<<<\n"<

 

cout<<"请输入查找学生的学号:

"<

 

cin>>s;

 

while((stud[i].num-s)!

=0&&i

 

if(i==n)

 

{

 

cout<<"没有该学生的信息!

"<

 

}

 

else

 

{

 

cout<<"---------------------------"<

 

cout<<"班级:

"<

 

cout<<"学号:

"<

 

cout<<"姓名:

"<

 

cout<<"C++:

"<

 

cout<<"英语:

"<

 

cout<<"数学:

"<

 

cout<<"平均分:

"<

 

}

 

}

 

if(p==2)

 

{system("cls");/*运行前清屏*/

 

intm=Read(stud);

 

chart;

 

inti=0;

 

cout<>>>>>>>查找学生成绩<<<<<<<<\n"<

 

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

"<

 

cin>>t;

 

while(strcmp(stud[i].name-t,stud[i].name)==0&&i

 

*/

 

{

 

cout<<"---------------------------"<

 

cout<<"

 

班级:

"<

 

输出该学生信息

 

*/

cout<<"学号:

"<

 

cout<<"姓名:

"<

 

cout<<"C++:

"<

 

cout<<"英语:

"<

 

cout<<"数学:

"<

 

cout<<"平均分:

"<

 

}

 

}

 

}

 

voidModify(studentstud[])

 

//---------------

 

修改学生成绩

{

 

system("cls");/*

 

运行前清屏

 

*/

intn=Read(stud);

 

ints,a;floatq;

 

inti=0;

 

cout<>>>>>>>修改学生成绩<<<<<<<<\n"<

 

cout<<"输入修改成绩学生的学号:

"<

 

cin>>s;

 

while((stud[i].num-s)!

=0&&i

 

查找判断

 

*/

if(i==n)

 

{

 

cout<<"

 

没有该学生的成绩

 

!

"<

 

输入失败信息

 

*/

}

 

else

 

{

 

cout<<"----------

 

该学生的信息

 

----------\n"<

 

格式头

 

*/

cout<<"

班级

"<<"\t"<<"

学号

"<<"\t"<<"

姓名

"<<"\t"<<"c++"<<"\t"<<"英语"<<"\t"<<"数学"<<"\t"<<"

平均分

"<

cout<<"---------------------------------"<

 

cout<

 

stud[i].c_program<<"\t"<

 

stud[i].average<

 

cout<<"---------------------------------"<

 

cout<<"请输入要修改的课程号"<

 

cout<<"1.c语言2.英语3.数学"<

 

cin>>a;

 

cout<<"重新输入分数"<

 

cin>>q;

 

if(a==1)stud[i].c_program=q;

 

if(a==2)stud[i].english=q;

 

if(a==3)stud[i].math=q;

 

stud[i].average=(stud[i].c_program+stud[i].english+stud[i].math)/

 

3;

 

cout<<"----------该学生的信息----------\n"<

 

cout<<"班级"<<"\t"<<"学号"<<"\t"<<"姓名

 

"<<"\t"<<"c++"<<"\t"<<"英语"<<"\t"<<"数学"<<"\t"<<"平均分"<

 

cout<<"---------------------------------"<

 

cout<

 

"<

 

"<

 

charc;

 

cout<<"是否保存数据?

(y/n)"<

 

cin>>c;

 

if(c!

='n'&&c!

='N')

 

Write(stud,n);

 

}

 

}

 

voidInsert(studentstud[])//---------------增加学生成绩

 

{

 

system("cls");/*运行前清屏*/

 

intn=Read(stud);

 

chars;

 

cout<

 

while(s!

='n'&&s!

='N')

 

{

 

cout<<"班级:

"<

 

cin>>stud[n].class_0;

 

cout<<"学号:

";

 

cin>>stud[n].num;

 

cout<<"姓名:

";

 

cin>>stud[n].name;

 

cout<<"C++成绩:

";

 

cin>>stud[n].c_program;

 

cout<<"英语成绩:

";

 

cin>>stud[n].english;

 

cout<<"数学成绩:

";

 

cin>>stud[n].math;

 

stud[n].average=(stud[n].c_program+stud[n].english+

 

stud[n].math)/3;

 

cout<<"平均分"<

 

n++;

 

cout<<"插入成功!

"<

 

cout<<"是否继续输入(y/n)"<

 

cin>>s;

 

}

 

Write(stud,n);

 

}

 

voidManage(studentstud[])//---------------按平均分对学生成绩记录项

 

进行降序排序

 

{

 

system("cls");/*运行前清屏*/

 

inti,j,k;

 

floats;

 

chart[20];

 

cout<

 

intn=Read(stud);

 

for(i=0;i

 

for(j=0;j

 

if(stud[j].average

 

{

 

strcpy(t,stud[j+1].class_0);

 

strcpy(stud[j+1].class_0,stud[j].class_0);

 

strcpy(stud[j].class_0,t);

 

k=stud[j+1].num;

 

stud[j+1].num=stud[j].num;

 

stud[j].num=k;

 

strcpy(t,stud[j+1].name);

 

strcpy(stud[j+1].name,stud[j].name);

 

strcpy(stud[j].name,t);

 

s=stud[j+1].c_program;

 

stud[j+1].c_program=stud[j].c_program;

 

stud[j].c_program=s;

 

s=stud[j+1].english;

 

stud[j+1].english=stud[j].english;

 

stud[j].english=s;

 

s=stud[j+1].math;

 

stud[j+1].math=stud[j].math;

 

s=stud[j+1].average;

 

stud[j+1].average=stud[j].average;

 

stud[j].average=s;

 

}

 

cout<<"-------------------------------------"<

 

cout<<"

 

班级

 

"<<"\t

 

"<<"

 

学号

 

"<<"\t

 

"<<"

 

姓名

"<<"\t"<<"C++"<<"\t"<<"

英语

"<<"\t"<<"

数学

"<<"\t"<<"

平均分

"<<"\t"<<"

名次"<

 

for(i=0;i

 

循环输入

 

*/

{

 

stud[i].order=i+1;

 

cout<

 

"<

 

"<

 

}

 

Write(stud,n);

 

}

 

voidOutput(studentstud[])//---------------{

 

显示全部学生成绩

system("cls");/*

运行前清屏

*/

intn=Read(stud);

 

cout<<"*****************

 

显示

 

班级学生成绩

*****************\n"<

 

if(!

stud)

 

cout<<"没有记录";

 

else

 

{

 

cout<<"----------------------------------------------------------

 

---------------"<

 

cout<<"班级"<<"\t"<<"学号"<<"\t"<<"姓名

 

"<<"\t"<<"c++"<<"\t"<<"英语"<<"\t"<<"数学"<<"\t"<<"平均分"<

 

for(inti=0;i

 

{

 

cout<

 

stud[i].c_program<<"\t"<

 

<

 

}

 

cout<<"-------------------------------------------------------------

 

------------"<

 

}

 

}

 

intmenu()/*菜单函数*/

 

{

 

charc;

 

do

 

{

 

system("cls");/*运行前清屏*/

 

cout<<"*******************************************************\n"<

 

ndl;

 

cout<<"-----------------欢迎使用学生成绩管理系统

 

-------------\n

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

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1