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

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

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

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

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

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

#include

#include

#include

#include

#include

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_program>>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<

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<

}

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

}

}

intmenu()/*菜单函数*/

{

charc;

do

{

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

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

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

cout<<"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$"<

cout<<"*【1】输入学生成绩*"<

cout<<"*【2】显示学生成绩*"<

cout<<"*【3】查找学生成绩*"<

cout<<"*【4】修改学生成绩*"<

cout<<"*【5】插入学生成绩*"<

cout<<"*【6】排列管理成绩*"<

cout<<"*【7】显示班级学生成绩*"<

cout<<"*【0】退出本系统*"<

cout<<"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$"<

cout<<"请你选择(0-7):

"<

c=getchar();/*读入选择*/

}

while(c<'0'||c>'8');

return(c-'0');/*返回选择*/

}

voidmain()/*主函数*/

{

for(;;)

{

switch(menu())/*选择判断*/

{

case1:

Input(stud);/*输入学生成绩*/

break;

case2:

Statistic(stud);/*输出学生统计数据*/

break;

case3:

Lookup(stud);/*查找学生成绩*/

cout<<"\t\t\t";

system("pause");

break;

case4:

Modify(stud);/*修改学生成绩*/

cout<<"\t\t\t";

system("pause");

break;

case5:

Insert(stud);/*增加学生成绩*/

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

当前位置:首页 > 医药卫生 > 中医中药

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

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