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

上传人:b****3 文档编号:2220705 上传时间:2022-10-28 格式:DOCX 页数:16 大小:148.75KB
下载 相关 举报
C++简单学生成绩管理系统C++课程设计.docx_第1页
第1页 / 共16页
C++简单学生成绩管理系统C++课程设计.docx_第2页
第2页 / 共16页
C++简单学生成绩管理系统C++课程设计.docx_第3页
第3页 / 共16页
C++简单学生成绩管理系统C++课程设计.docx_第4页
第4页 / 共16页
C++简单学生成绩管理系统C++课程设计.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

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

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

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

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

C++学生成绩管理系统

欧阳光明(2021.03.07)

要求用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//定义学生类

{

private:

//定义学生类的私有成员

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();

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

当前位置:首页 > 解决方案 > 学习计划

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

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