C++简单学生成绩管理系统C++课程设计Word文档下载推荐.docx
- 文档编号:14132628
- 上传时间:2022-10-19
- 格式:DOCX
- 页数:13
- 大小:32.23KB
C++简单学生成绩管理系统C++课程设计Word文档下载推荐.docx
《C++简单学生成绩管理系统C++课程设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《C++简单学生成绩管理系统C++课程设计Word文档下载推荐.docx(13页珍藏版)》请在冰豆网上搜索。
具体如下:
#include"
iostream.h"
conio.h"
iomanip.h"
stdio.h"
string.h"
stdlib.h"
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)=='
)
cin>
stu[n];
n++;
cout<
"
要继续添加吗(y/n)"
flag;
if(toupper(flag)!
='
if(toupper(flag)=='
N'
break;
}
else
错误,请重输:
output()//输出函数
if(n!
=0)
\n"
numbernamesexmathC++Englishtotal
average\n"
for(intt=0;
t<
n;
t++)
stu[t];
getch();
find()//查找函数
intf3=0;
charn1[20];
studenttemp;
输入你要查找的人的姓名:
"
n1;
for(intj=0;
j<
j++)
if(strcmp(stu[j].name,n1)==0)
temp=stu[j];
f3=1;
if(f3==0)
对不起,没有你要查找的学生成绩"
endl;
numbernamesexmathC++Englishtotalaverage\n"
temp.number<
temp.name<
temp.sex<
temp.score[0]
temp.score[1]<
temp.score[2]<
temp.total<
temp.average<
modify()//修改函数
intf4=0;
intt;
charn2[50];
输入你要修改的人的姓名:
n2;
if(strcmp(stu[j].name,n2)==0)
t=j;
f4=1;
if(f4==0)
对不起,没有你要修改的学生成绩"
else
请输入学号:
stu[t].number;
姓名:
stu[t].name;
性别:
stu[t].sex;
数学成绩:
stu[t].score[0];
C++成绩:
stu[t].score[1];
英语成绩:
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;
修改成功!
deleted()//删除函数
charn3[20];
boolf5=0;
charc;
do{
请输入您要删除的学生姓名:
n3;
for(inti=0;
i<
i++)
if(strcmp(n3,stu[i].name)==0)
f5=1;
n--;
stu[i]=stu[i+1];
i++;
}while(i<
=n);
if(f5==0)
您要求删除的对象本来就不存在!
要继续删除吗?
(y/n)"
c;
if(toupper(c)!
&
toupper(c)!
输入指令错误!
请重新输入Y或N!
}while(toupper(c)=='
);
sort()//排序函数
inti,j,k;
students3;
for(i=0;
(n-1);
k=i;
for(j=i+1;
if(stu[j].average>
stu[i].average)
k=j;
if(k!
=i)
s3=stu[i];
stu[i]=stu[k];
stu[k]=s3;
\n\n排序成功!
\n\n"
save()//保存函数
charfilename1[20];
请输入文件名:
filename1;
ofstreamfout(filename1,ios:
app);
if(!
fout)cout<
文件不能打开!
fout<
'
'
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<
保存成功!
fout.close();
load()//读取函数
charfilename2[20];
请输入你要读取的文件名:
cin>
filename2;
ifstreamfin(filename2,ios:
in);
fin)cout<
文件打不开!
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;
文件已读取成功!
fin.close();
student:
operator=(student&
T)//重载=
strcpy(name,T.name);
strcpy(sex,T.sex);
number=T.number;
3;
i++)score[i]=T.score[i];
total=T.total;
average=T.average;
return(*this);
ostream&
s2)//重载<
{cout<
setw(6)<
s2.number<
setw(10)<
s2.name<
setw(8)<
s2.sex<
s2.score[0
]
s2.score[1]<
s2.score[2]<
s2.total<
s2.average<
returnscout;
istream&
scin,student&
s1)//重载>
{
\t学号:
scin>
s1.number;
cout<
\t姓
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 简单 学生 成绩管理系统 课程设计