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

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

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

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

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

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

C++学生成绩管理系统

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

学生成绩管理系统分析:

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

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

学生成绩管理系统结构:

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

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〈n;t++)

{

cout〈

}

getch();

voidstudent:

find()//查找函数

{

intf3=0;

charn1[20];

studenttemp;

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

”;

cin〉>n1;

for(intj=0;j〈n;j++)

{

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

{

temp=stu[j];

f3=1;

if(f3==0)

cout〈〈"对不起,没有你要查找的学生成绩”〈〈endl;

else

{

cout<〈"-———---—-------—-——----—-——-——-—----————---—------—-—--——--—--—--—--—--—---\n”;

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

cout〈<”--———-—-—--—————---———--——-———-————-——-———--—--——-—-——-———----—————-----——-\n";

cout〈<”"<

number<<””<〈temp。

name<〈"”<

sex<<””〈〈temp。

score[0]

〈〈""〈

score[2]<〈””<

average〈

}

getch();

}

voidstudent:

modify()//修改函数

intf4=0;

intt;

charn2[50];

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

”;

cin〉>n2;

for(intj=0;j〈n;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〈〈”修改成功!

”〈〈endl;

}

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)”<〈endl;

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〈n;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<<’'<

name〈〈''〈

sex〈<''〈〈stu[i]。

number〈<’’

<

score[0]〈〈'’〈

score[2]〈<'’<〈stu[i].total〈〈'’〈

average<<'';

cout〈<”保存成功!

”<〈endl;

}

fout.close();

getch();

voidstudent:

load()//读取函数

{

charfilename2[20];

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

”;

cin〉〉filename2;

ifstreamfin(filename2,ios:

in);

if(!

fin)cout〈〈”文件打不开!

"〈〈endl;

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〈<”文件已读取成功!

"〈〈endl;

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<〈setw(6)<

number<

sex<

score[0]

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。

查找学生信息"<〈endl;

cout<〈”4.修改学生信息"<〈endl;

cout〈〈"5.删除学生信息"〈〈endl;

cout<<”6。

学生信息排序”<

cout〈<"7。

保存数据"〈〈endl;

cout<<"8。

读出数据"〈〈endl;

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-2022 冰豆网网站版权所有

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