C++简单学生成绩管理系统(C++课程设计)Word文档格式.doc
《C++简单学生成绩管理系统(C++课程设计)Word文档格式.doc》由会员分享,可在线阅读,更多相关《C++简单学生成绩管理系统(C++课程设计)Word文档格式.doc(12页珍藏版)》请在冰豆网上搜索。
各个子函数功能及其流程:
1.首先定义一个学生类ClassStudent;
并定义其各个私有变量和公有函数
ClassStudent
load
重载
Class
add
output
find
delete
modify
save
私有变量
2.Student();
构造函数,用于初始化学生类中的各个变量并记录
3.Add();
函数:
用于添加学生信息的函数包括学号姓名成绩等的内容
主函数main()
菜单函数menu()
选择菜单中的选项添加学生信息
调用Add()函数
调用重载<
<
并添加信息
4.Output();
用于输出学生信息,包括学号姓名各科及总分平均成绩
选择菜单中的选项输出学生信息
调用Output()函数
输出学生信息
5.Find();
用于查找学生各项信息。
选择菜单中的选项查找学生信息
调用find()函数
查找并输出学生信息
要求输入学生姓名
6.modify();
用于修改学生各项信息。
选择菜单中的选项修改学生信息
调用modify()函数
修改并保存学生信息
7.delete();
用于删除学生信息。
选择菜单中的选项删除学生信息
调用delete()函数
删除学生信息
8.sort();
对学生各项信息进行排序操作。
选择菜单中的选项学生信息排序
调用Sort()函数
完成排序操作
8.save()和load();
将学生信息保存到文件中,并在需要的时候调用该文件将其中的学生信息显示出来
主函数main()
选择菜单中的选项选保存或读取
调用load()函数
文件读取成功
调用save()函数
按要求输入文件名
文件保存成功
9.“=”“<
”“>
>
”符号的重载:
在各个函数处理数据过程中对这些的调用处理
函数源代码:
此函数源代码在VisualC++6.0环境下编译通过。
具体如下:
#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
cout<
错误,请重输:
cin>
}
}
}
output()//输出函数
if(n!
=0)
---------------------------------------------------------------------------\n"
numbernamesexmathC++Englishtotalaverage\n"
---------------------------------------------------------------------------\n"
for(intt=0;
t<
n;
t++)
cout<
stu[t];
getch();
find()//查找函数
intf3=0;
charn1[20];
studenttemp;
cout<
输入你要查找的人的姓名:
"
cin>
n1;
for(intj=0;
j<
j++)
if(strcmp(stu[j].name,n1)==0)
temp=stu[j];
f3=1;
if(f3==0)
对不起,没有你要查找的学生成绩"
endl;
else
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)
对不起,没有你要修改的学生成绩"
请输入学号:
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--;
do{
stu[i]=stu[i+1];
i++;
}while(i<
=n);
if(f5==0)
您要求删除的对象本来就不存在!
要继续删除吗?
(y/n)"
c;
if(toupper(c)!
&
toupper(c)!
输入指令错误!
请重新输入Y或N!
cin>
}while(toupper(c)=='
);
sort()//排序函数
inti,j,k;
stud