C++简单学生成绩管理系统C++课程设计.docx

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

C++简单学生成绩管理系统C++课程设计.docx

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

C++简单学生成绩管理系统C++课程设计.docx

C++简单学生成绩管理系统C++课程设计

C++学生成果管理系统之欧侯瑞魂创作

创作时间:

二零二一年六月三十日

要求用C++语言编写学生成果管理系统,要求能进行添加删除修改输入输出等的把持,并能使用面相对像原理对此系统进行实现.

学生成果管理系统分析:

学生成果管理系统分为8个模块,分别是:

添加学生信息,输出学生成果,查找学生成果,修改学生成果,删除学生成果,学生成果排序,保管数据到文件和读取文件中学生成果的模块.

学生成果管理系统结构:

Main()函数

各个子函数功能及其流程:

1.首先界说一个学生类ClassStudent;并界说其各个私有变量和公有函数

2.Student();构造函数,用于初始化学生类中的各个变量并记录

3.Add();函数:

用于添加学生信息的函数包括学号姓名成果等的内容

4.Output();函数:

用于输出学生信息,包括学号姓名各科及总分平均成果

5.Find();函数:

用于查找学生各项信息.

6.modify();函数:

用于修改学生各项信息.

7.delete();函数:

用于删除学生信息.

8.sort();函数:

对学生各项信息进行排序把持.

8.save()和load();函数:

将学生信息保管到文件中,并在需要的时候调用该文件将其中的学生信息显示出来

9.“=”“<<”“>>”符号的重载:

在各个函数处置数据过程中对这些的调用处置

函数源代码:

此函数源代码在VisualC++6.0环境下编译通过.具体如下:

#include"iostream.h"

#include"conio.h"

#include"iomanip.h"

#include"stdio.h"

#include"string.h"

#include"stdlib.h"

#include"fstream.h"

classstudent//界说学生类

{

charname[20];//名字

charsex[5];//性别

intnumber;//学号

intscore[3];//分数

inttotal;//总分

intaverage;//平均分

public:

//公有成员

student();//学生构造函数,用于学生数据的初始化及保管学生数据

voidadd();//添加学生信息函数

voidoutput();//输出学生信息函数

voidfind();//查找学生数据函数

voidmodify();//修改学生信息函数

voiddeleted();//删除学生信息函数

voidsort();//排序函数

voidsave();//保管学生信息并写入文件函数

voidload();//翻开写有学生信息的文件的函数

student&operator=(student&T);//重载“=”符号

friendistream&operator>>(istream&scin,student&s1);//重载“>>”符号

friendostream&operator<<(ostream&scout,student&s2);//重载“>>”符号

};

studentstu[100];

intn=0;

voidstudent:

:

add()//添加函数

{

charflag='Y';

while(toupper(flag)=='Y')

{

cin>>stu[n];

n++;

cout<<"要继续添加吗(y/n)";

cin>>flag;

if(toupper(flag)!

='Y')

{

if(toupper(flag)=='N')

{

break;

}

else

{

cout<<"毛病,请重输:

";

cin>>flag;

}

}

}

}

voidstudent:

:

output()//输出函数

{

if(n!

=0)

{

cout<<"---------------------------------------------------------------------------\n";

cout<<"numbernamesexmathC++Englishtotalaverage\n";

cout<<"---------------------------------------------------------------------------\n";

for(intt=0;t

{

cout<

}

}

getch();

}

voidstudent:

:

find()//查找函数

{

intf3=0;

charn1[20];

studenttemp;

cout<<"输入你要查找的人的姓名:

";

cin>>n1;

for(intj=0;j

{

if(strcmp(stu[j].name,n1)==0)

{

temp=stu[j];

f3=1;

}

}

if(f3==0)

cout<<"对不起,没有你要查找的学生成果"<

else

{

cout<<"---------------------------------------------------------------------------\n";

cout<<"numbernamesexmathC++Englishtotalaverage\n";

cout<<"---------------------------------------------------------------------------\n";

cout<<""<

<<""<

}

getch();

}

voidstudent:

:

modify()//修改函数

{

intf4=0;

intt;

charn2[50];

cout<<"输入你要修改的人的姓名:

";

cin>>n2;

for(intj=0;j

{

if(strcmp(stu[j].name,n2)==0)

{

t=j;

f4=1;

}

}

if(f4==0)

cout<<"对不起,没有你要修改的学生成果"<

else

{

cout<<"请输入学号:

";

cin>>stu[t].number;

cout<<"姓名:

";

cin>>stu[t].name;

cout<<"性别:

";

cin>>stu[t].sex;

cout<<"数学成果:

";

cin>>stu[t].score[0];

cout<<"C++成果:

";

cin>>stu[t].score[1];

cout<<"英语成果:

";

cin>>stu[t].score[2];

stu[t].total=stu[t].score[0]+stu[t].score[1]+stu[t].score[2];

stu[t].average=stu[t].total/3;

cout<<"修改胜利!

"<

}

getch();

}

voidstudent:

:

deleted()//删除函数

{

charn3[20];

boolf5=0;

charc;

do{

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

";

cin>>n3;

for(inti=0;i

{

if(strcmp(n3,stu[i].name)==0)

{

f5=1;

n--;

do{

stu[i]=stu[i+1];

i++;

}while(i<=n);

}

}

if(f5==0)

cout<<"您要求删除的对象原本就不存在!

";

cout<<"要继续删除吗?

(y/n)"<

cin>>c;

if(toupper(c)!

='Y'&&toupper(c)!

='N')

{

cout<<"输入指令毛病!

请重新输入Y或N!

"<

cin>>c;

}

}while(toupper(c)=='Y');

getch();

}

voidstudent:

:

sort()//排序函数

{

inti,j,k;

students3;

for(i=0;i<(n-1);i++)

{

k=i;

for(j=i+1;j

if(stu[j].average>stu[i].average)

k=j;

if(k!

=i)

{

s3=stu[i];

stu[i]=stu[k];

stu[k]=s3;

}

}

cout<<"\n\n排序胜利!

\n\n";

}

voidstudent:

:

save()//保管函数

{

charfilename1[20];

cout<<"请输入文件名:

";

cin>>filename1;

ofstreamfout(filename1,ios:

:

app);

if(!

fout)cout<<"文件不能翻开!

"<

else

{

for(inti=0;i

fout<<''<

<

cout<<"保管胜利!

"<

}

fout.close();

getch();

}

voidstudent:

:

load()//读取函数

{

charfilename2[20];

cout<<"请输入你要读取的文件名:

";

cin>>filename2;

ifstreamfin(filename2,ios:

:

in);

if(!

fin)cout<<"文件打不开!

"<

else

{

for(inti=0;;i++,n=i-1)

{

if(fin.eof())break;

fin>>stu[i].name>>stu[i].sex>>stu[i].number

>>stu[i].score[0]>>stu[i].score[1]>>stu[i].score[2]>>stu[i].total>>stu[i].average;

}

cout<<"文件已读取胜利!

"<

}

fin.close();

getch();

}

student&student:

:

operator=(student&T)//重载=

{

strcpy(name,T.name);

strcpy(sex,T.sex);

number=T.number;

for(inti=0;i<3;i++)score[i]=T.score[i];

total=T.total;

average=T.average;

return(*this);

}

ostream&operator<<(ostream&scout,student&s2)//重载<<

{

cout<

<

returnscout;

}

istream&operator>>(istream&scin,student&s1)//重载>>

{

cout<<"\t学号:

";

scin>>s1.number;

cout<<"\t姓名:

";

scin>>s1.name;

cout<<"\t性别:

";

scin>>s1.sex;

cout<<"\t数学成果:

";

scin>>s1.score[0];

cout<<"\tC++成果:

";

scin>>s1.score[1];

cout<<"\t英语成果:

";

scin>>s1.score[2];

s1.total=s1.score[0]+s1.score[1]+s1.score[2];

s1.average=s1.total/3;

returnscin;

}

student:

:

student()//构造函数

{

strcpy(name,"");

strcpy(sex,"");

number=0;

for(inti=0;i<3;i++)score[i]=0;

total=0;

average=0;

}

voidmenu()//菜单函数

{

cout<<"\n\n\n学生成果管理系统主菜单"<

cout<<"\n\n\n1.添加学生信息"<

cout<<"2.输出学生信息"<

cout<<"3.查找学生信息"<

cout<<"4.修改学生信息"<

cout<<"5.删除学生信息"<

cout<<"6.学生信息排序"<

cout<<"7.保管数据"<

cout<<"8.读出数据"<

cout<<"9.退出系统"<

cout<<"\n\n请选择(1~9)并按回车键确认:

";

}

intmain()//主函数

{

intchoose;

students;

do{

menu();

cin>>choose;

switch(choose)

{

case1:

s.add();break;

case2:

s.output();break;

case3:

s.find();break;

case4:

s.modify();break;

case5:

s.deleted();break;

case6:

s.sort();break;

case7:

s.save();break;

case8:

s.load();break;

default:

break;

}

}while(choose!

=0);

}

创作时间:

二零二一年六月三十日

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

当前位置:首页 > 经管营销 > 经济市场

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

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