学生成绩管理系统C++.docx

上传人:b****7 文档编号:10187733 上传时间:2023-02-09 格式:DOCX 页数:30 大小:447.60KB
下载 相关 举报
学生成绩管理系统C++.docx_第1页
第1页 / 共30页
学生成绩管理系统C++.docx_第2页
第2页 / 共30页
学生成绩管理系统C++.docx_第3页
第3页 / 共30页
学生成绩管理系统C++.docx_第4页
第4页 / 共30页
学生成绩管理系统C++.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

学生成绩管理系统C++.docx

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

学生成绩管理系统C++.docx

学生成绩管理系统C++

本科生课程设计

 

课程名称

C++课程设计

课程编号

1620001x2-0

学号

学生姓名

所在专业

所在班级

指导教师

成绩

教师签字

2009年月日

 

目录:

(1)目的与要求

(2)系统需求分析与功能设计

(3)内容设计

(4)功能介绍

(5)实验总结

附件:

程序代码

 

正文

一、目的与要求

通过本课程设计的实践,全面总结C++课程学习中的的数据类型、程序结构、数组、函数、指针、结构体等基本概念,掌握其使用方法。

掌握面向对象程序设计中有关类、对象、继承、重载、多态性、输入输出流类体系、文件操作的基本概念,初步学会用类与对象这种面向对象的程序设计方法编写应用程序。

培养使用面向对象的程序设计方法编写计算机程序的能力。

通过设计一个《学生成绩管理系统》,进一步熟悉C++中类的概念、类的封装的实现方式。

了解系统开发的需求分析、类层次设计、模块分解、编码测试、模块组装与整体调试的全过程,加深对C++的理解与VisualC++环境的使用;逐步熟悉程序设计的方法,并养成良好的编程习惯。

程序设计是一门实践性很强的课程,必须十分重视实践环节。

许多实际的知识不是靠听课和看书学到的,而是通过长时间的实践积累的。

二、系统需求分析与功能设计

系统需求:

学生管理系统要求利用C语言面向过程的编程思想来完成系统的设计,除了要突出C语言的函数特征,以多个函数实现每一个子功能外,还要画出功能模块图;另外,要求我们进行简单界面设计,能够实现友好的交互,熟练掌握C语言对文件的各种操作。

功能设计:

1.学生基本信息及成绩所选科目成绩的录入。

2.基本信息的查询与修改。

3.对该班各科成绩进行分析(即求平均成绩);

4.对所开课程的成绩分析(求最高分和及格人数);

三、设计内容

学生成绩管理系统

本《学生成绩管理系统》程序是一个具有对学生信息进行录入、添加、删除、根据学号进行学生信息的查询、显示已有学生信息的显示、对学生成绩进行统计(包括最高分,最低分,及格率和需要补考的学生),可以对已有的学生信息进行修改,保存和读取输入的数据等功能。

一切功能都可以在运行的软件中运行。

四、系统功能介绍:

通过主函数显示程序的主界面,通过输入的数字不同,函数会进入不同功能的函数继续运行。

 

输入1时,

进入学生资料管理的界面!

选择1-5数字

选择各个不同的小功能。

输入1时,

进行学生资料的录入,

 

输入2时,

进行学生资料的删除

输入3时,

进行学生资料的添加

 

输入4时,

进行学生资料的修改

 

输入5时,

进行学生资料的读取

输入0时,可以返回主界面

回到主界面后,输入2时,进入学生成绩统计管理功能的界面

可以输入0-8任意数字选择各个不同的小功能。

输入1时,

进行学生成绩总分排名

输入2时,

进行学生高数分数排名

输入3时,

进行学生英语分数排名

输入4时,

进行学生C++分数排名

输入5时,显示学生最高总分

输入6时显示学生最低总分

输入7时,进行学生平均分排名

输入8时,进行及格率计算

输入0时,可以返回主界面

回到主界面后,输入3时,进入学生成绩统计管理功能的界面。

可以输入0-3的任意数字,选择各个不同的功能

输入1时,进行按学号查询学生资料的功能

 

输入2时,进行按姓名查询学生资料的功能

 

输入3时,进行按所在班级查询学生资料的功能

 

输入0时,可以返回主界面

回到主界面后,输入4时,进入关于系统信息的界面

 

回到主界面后,输入0时,可以退出主界面,结束系统运行

 

五、实验总结

 

附件:

(程序代码)

#include

#include//输入输出文件

#include

#include//输出格式控制

usingnamespacestd;

charpress;intchoose;intn;

classStudent

{public:

intnum;

stringname;

intbj;

charsex;

floatMath;

floatEnglish;

floatCjj;

floatsum;

floataverage;

};

Studentstud[100];

//————————————————读取资料——————————————————

voidread()

{charfilename[20];

cout<<"从文件中读取信息!

"<

cout<<"请输入文件名:

"<

cin>>filename;

ifstreaminfile(filename,ios:

:

in|ios:

:

out);//定义输入文件流对象,以输出方式打开用户自定义的磁盘文件

if(!

infile)

{cerr<<"openerror!

"<

(1);}//输出出错信息

do{inti=0;

infile>>stud[i].num>>stud[i].name>>stud[i].sex>>stud[i].bj;//从磁盘读取学生的信息

infile>>stud[i].Math>>stud[i].English>>stud[i].Cjj;

cout<<"学生的学号:

"<

<<"姓名:

"<

<<"性别:

"<

<<"班级:

"<

<<"高数成绩:

"<

<<"大学英语成绩:

"<

<<"C++成绩:

"<

while(!

infile.eof());//判断是否为文件尾

infile.close();

cout<<"读取成功!

"<

//————————————————保存资料——————————————————voidsave()

{inti;

charfilename[20];

for(i=0;i

{cout<<"学生的学号:

"<

<<"姓名:

"<

<<"性别:

"<

<<"班级:

"<

<<"高数成绩:

"<

<<"大学英语成绩:

"<

<<"C++成绩:

"<

cout<<"将记录保存在文件夹!

"<

cout<<"请输入文件名:

";

cin>>filename;

ofstreamoutfile(filename);

if(!

outfile){cerr<<"openerror!

"<

for(i=0;i

{outfile<<""<

outfile<

outfile.close();cout<<"保存成功!

"<

//————————————————输入资料——————————————————

voidSR()

{cout<<"请根据你的需要输入学生的个数:

";

cin>>n;for(inta=0;a

{cout<<"请输入第"<

"<

cout<<"学号:

"<<'';cin>>stud[a].num;

cout<<"姓名:

"<<'';cin>>stud[a].name;

cout<<"性别:

"<<'';cin>>stud[a].sex;

cout<<"班级:

"<<'';cin>>stud[a].bj;

cout<<"高数成绩:

"<<'';cin>>stud[a].Math;

cout<<"大学英语成绩:

"<<'';cin>>stud[a].English;

cout<<"C++成绩:

"<<'';cin>>stud[a].Cjj;

stud[a].sum=stud[a].Math+stud[a].English+stud[a].Cjj;

stud[a].average=(stud[a].Math+stud[a].English+stud[a].Cjj)/3;}

cout<<"输入成功,学生资料是否保存?

(y/n)"<>press;

switch(press)

{case'y':

save();break;default:

cout<<"不保存!

";break;}}

//————————————————删除资料——————————————————

voidSC()

{do{stringSC_name;

cout<<"请输入你要删除的学生名字:

"<>SC_name;

while(stud[i].name!

=SC_name&&i

if(stud[i].name==SC_name)

{for(intj=i;j

{stud[i].num=stud[i+1].num;

stud[i].name=stud[i+1].name;

stud[i].sex=stud[i+1].sex;

stud[i].bj=stud[i+1].bj;

stud[i].Math=stud[i+1].Math;

stud[i].English=stud[i+1].English;

stud[i].Cjj=stud[i+1].Cjj;}

cout<<"删除成功!

"<

elseif(i==n){cout<<"can'tfindthisname"<

"<

cout<<"(是否继续操作?

(y/n))"<>press;}while(press=='y'||press=='Y');}

//————————————————添加资料——————————————————

voidTJ()

{do{cout<<"请添加新的学生信息"<

cout<<"新的学生学号:

"<>stud[n].num;

cout<<"新学生姓名:

"<>stud[n].name;

cout<<"新学生性别:

"<>stud[n].sex;

cout<<"新学生班级:

"<>stud[n].bj;

cout<<"新学生的高数成绩:

"<>stud[n].Math;

cout<<"新学生的大学英语成绩:

"<>stud[n].English;

cout<<"新学生的C++成绩:

"<>stud[n].Cjj;

stud[n].sum=stud[n].Math+stud[n].English+stud[n].Cjj;

stud[n].average=(stud[n].Math+stud[n].English+stud[n].Cjj)/3;n++;

cout<<"(是否继续操作?

(y/n))"<>press;}

while(press=='y'||press=='Y');

cout<<"添加成功,学生资料是否保存?

(y/n)"<>press;

switch(press)

{case'y':

save();break;default:

cout<<"不保存!

";break;}}

//————————————————修改资料——————————————————

voidXG()

{begin:

stringfind_name;inti;

cout<<"请输入你要修改的学生名字:

"<>find_name;

for(i=0;i

if(stud[i].name==find_name)

{cout<

"<

cout<<"学生的学号:

"<

<<"姓名:

"<

<<"性别:

"<

<<"班级:

"<

<<"高数成绩:

"<

<<"大学英语成绩:

"<

<<"C++成绩:

"<

if(stud[i].name!

=find_name)

{cout<<"can'tfindthisname"<

cout<<"请重新查找!

"<

for(intj=0;j

{cout<<"请输入新的信息:

"<

cout<<"学号:

"<<'';cin>>stud[j].num;

cout<<"姓名:

"<<'';cin>>stud[j].name;

cout<<"性别:

"<<'';cin>>stud[j].sex;

cout<<"班级:

"<<'';cin>>stud[j].bj;

cout<<"高数成绩:

"<<'';cin>>stud[j].Math;

cout<<"大学英语成绩:

"<<'';cin>>stud[j].English;

cout<<"C++成绩:

"<<'';cin>>stud[j].Cjj;

stud[i].num=stud[j].num;stud[i].name=stud[j].name;stud[i].sex=stud[j].sex;

stud[i].bj=stud[j].bj;stud[i].Math=stud[j].Math;stud[i].English=stud[j].English;

stud[i].Cjj=stud[j].Cjj;break;}

cout<<"修改成功,是否保存?

(y/n)"<

cin>>press;switch(press){case'y':

save();break;default:

cout<<"不保存!

";break;}}

//————————————————按总分排名—————————————————

voidzf()

{intm,t;stringna;floatz,h,e,c,p;chars;

for(intj=0;j

for(inti=0;i

if(stud[i].sum>stud[i+1].sum)

{m=stud[i].num;stud[i].num=stud[i+1].num;stud[i+1].num=m;

na=stud[i].name;stud[i].name=stud[i+1].name;stud[i+1].name=na;

s=stud[i].sex;stud[i].sex=stud[i+1].sex;stud[i+1].sex=s;

t=stud[i].bj;stud[i].bj=stud[i+1].bj;stud[i+1].bj=t;

h=stud[i].Math;stud[i].Math=stud[i+1].Math;stud[i+1].Math=h;

e=stud[i].English;stud[i].English=stud[i+1].English;stud[i+1].English=e;

c=stud[i].Cjj;stud[i].Cjj=stud[i+1].Cjj;stud[i+1].Cjj=c;

z=stud[i].sum;stud[i].sum=stud[i+1].sum;stud[i+1].sum=z;

p=stud[i].average;stud[i].average=stud[i+1].average;stud[i+1].average=p;}

cout<<"学生按总分排名:

"<

cout<<"学号"<<''<<"姓名"<<''<<"性别"<<''<<"班级"<<''<<"总分"<

for(inti=0;i

{cout<

<

<

<

<

//—————————————————按高数分数排名——————————————

voidgs()

{intg,t;floatz,h,e,c,p;stringna;chars;

for(intj=0;j

for(inti=0;i

if(stud[i].Math>stud[i+1].Math)

{g=stud[i].num;stud[i].num=stud[i+1].num;stud[i+1].num=g;

na=stud[i].name;stud[i].name=stud[i+1].name;stud[i+1].name=na;

s=stud[i].sex;stud[i].sex=stud[i+1].sex;stud[i+1].sex=s;

t=stud[i].bj;stud[i].bj=stud[i+1].bj;stud[i+1].bj=t;

h=stud[i].Math;stud[i].Math=stud[i+1].Math;stud[i+1].Math=h;

e=stud[i].English;stud[i].English=stud[i+1].English;stud[i+1].English=e;

c=stud[i].Cjj;stud[i].Cjj=stud[i+1].Cjj;stud[i+1].Cjj=c;

z=stud[i].sum;stud[i].sum=stud[i+1].sum;stud[i+1].sum=z;

p=stud[i].average;stud[i].average=stud[i+1].average;stud[i+1].average=p;}

cout<<"学生按高数分数排名:

"<

cout<<"学号"<<''<<"姓名"<<''<<"性别"<<''<<"班级"<<''<<"高数分数"<

for(inti=0;i

{cout<

<

<

<

<

//—————————————————按英语分数排名——————————————

voidyy()

{intg,t;floatz,h,e,c,p;stringna;chars;

for(intj=0;j

for(inti=0;i

if(stud[i].English>stud[i+1].English)

{g=stud[i].num;stud[i].num=stud[i+1].num;stud[i+1].num=g;

na=stud[i].name;stud[i].name=stud[i+1].name;stud[i+1].name=na;

s=stud[i].sex;stud[i].sex=stud[i+1].sex;stud[i+1].sex=s;

t=stud[i].bj;stud[i].bj=stud[i+1].bj;stud[i+1].bj=t;

h=stud[i].Math;stud[i].Math=stud[i+1].Math;stud[i+1].Math=h;

e=stud[i].English;stud[i].English=stud[i+1].English;stud[i+1].English=e;

c=stud[i].Cjj;stud[i].Cjj=stud[i+1].Cjj;stud[i+1].Cjj=c;

z=stud[i].sum;stud[i].sum=stud[i+1].sum;stud[i+1].sum=z;

p=stud[i].average;stud[i].average=stud[i+1].average;stud[i+1].average=p;}

cout<<"学生按英语分数排名:

"<

cout<<"学号"<<''<<"姓名"<<''<<"性别"<<''<<"班级"<<''<<"英语分数"<

for(inti=0;i

{cout<

<

<

<

<

//—————————————————按C++分数排名———————————————

voidcy()

{intg,t;floatz,h,e,c,p;stringna;chars;

for(intj=0;j

for(inti=0;i

if(stud[i].Cjj>stud[i+1].Cjj)

{g=stud[i].num;stud[i].num=stud[i+1].num;stud[i+1].num=g;

na=stud[i].name;stud[i].name=stud[i+1].name;stud[i+1].name=na;

s=stud[i].sex;stud[i].sex=stud[i+1].sex;stud[i+1].sex=s;

t

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

当前位置:首页 > 表格模板 > 合同协议

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

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