学生学籍成绩管理系统.docx

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

学生学籍成绩管理系统.docx

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

学生学籍成绩管理系统.docx

学生学籍成绩管理系统

摘要

该论文分别对软件的需求进行分析,对软件的概要设计和软件的详细设计进行阐述,以及对软件的组装及测试的详细叙述,并附加了软件的使用说明书(操作手册)。

程序设计一般由两部分组成:

算法和数据结构,合理选择和实现一个数据结构与处理这些数据结构具有同样的重要性。

以将每个功能分别编译实现,再通过函数包含,调用等方法实现各项功能间的连接为设计思想,并采用将学生当作一个整体,整体类型为结构体,结构体中的域表示学生的属性的这种定义结构作为数据结构。

软件将各个模块的功能分为列菜单、表明结构体、录入、排序、查询、插入及读取等来组成整个程序,实现对学生成绩的系统管理。

该程序界面友好,易于操作,使操作者和使用者应用更加方便。

关键字:

数据结构,设计思想,界面,软件需求,概要设计,详细设计,组装及测试等

第1章软件设计内容

1.1软件达到的目的

该软件主要是实现对学生成绩进行系统化的管理,首先可以对学生基本信息进行输入和存取,其次可以读取显示学生的相关信息,然后可以删除和插入学生的相关信息,还有就是可按学号查询此学号的学生的相关信息,并按照总成绩算出的平均分的高低进行排序。

由此来系统化管理学生成绩,并达到简易操作的目的。

1.2软件功能说明

1.2.1功能分析说明图

该软件功能分析说明图如1-2-1所示:

学生成绩管理系统

图:

1-2-1

1.2.2各项功能说明

(1)学生基本信息的录入和保存:

这部分的功能主要包括信息的录入和保存和总分、平均分的计算,首先按程序提示输入所要输入的学生人数,接着是分别输入有关学生的相关信息包括学号、姓名、性别以及学生各科成绩的分数等。

在录入数据的同时,系统将对信息的合法性进行检验(学号范围为1001~1020、姓名在7个字节之内、性别只能输入m(男male)或f(女fmale)、各科成绩均限定在0~100之间),若用户录入了不合法的数据系统将会作出提示,并且要求重新输入。

如果合法性成立则录入完毕后系统将显示全部学生相关信息,信息中已包含对学生成绩总分的计算和其平均分的计算结果。

最后输出学生的信息表,与是否保存提示,选择存盘后,系统则自动将学生信息存入(list.dat)电脑。

(2)读取学生信息:

此功能是将原录入并保存的的学生信息读出,并在屏幕上显示出来。

(3)删除学生信息:

进入该项功能界面后,用户可以通过学生的姓名对谋个学生信息进行删除。

(4)追加学生信息:

进入插入界面,系统将提示输入新学生的相关信息,程序则会将新的信息插入原学生信息清单中,并将新的学生信息列表输出,以方便用户的确认。

(5)按学号查找学生信息:

此项功能可以根据拥护输入的学生学号查出该学生的所有信息。

(6)按照平均分输出学生信息清单。

选择次项功能后,系统将自动在屏幕上显示出所有学生按照平均成绩的高低排序后的清单。

(7)退出系统,结束任务。

1.3软件功能的验收标准

一、有较为美观简洁大方的菜单,能保证用户方便、直观、快捷的熟悉并使用软件的各项功能。

二、有严密正确的数据验证功能和数据处理功能,能够求和、求平均成绩,对总成绩进行排序,对数据进行保存和读取,能按学号查找学生信息,以及插入和删除学生信息。

三、系统要有一定的可靠性。

第2章软件设计环境与原理

2.1设计环境与模块的划分

2.1.1软件设计环境

MicrosoftVisualC++6.0

2.1.2软件模块的划分

该软件主要组成模块和各个模块之间的调用关系如图2-1:

学生成绩管理系统

主菜单

主函数(包含

以下所有函数)

图2-1

其中学生基本信息的录入和保存里已经包含了总分和平均分的计算、按学号排序输出的处理。

2.2软件设计主要原理

2.2.1采用的主要数据结构类型

该程序采用的是结构体类型来处理学生的所有基本信息,如下所述。

包含的库函数有:

#include#include

#include#include#include

包含的函数有:

Main()/*主函数*/

Menu()/*菜单函数*/

Input()/*输入与保存函数*/

Bubble()/*排序输出函数*/

Query()/*查找信息函数*/

Insert()/*追加信息函数*/

Delete()/*删除信息体函数*/

Read()/*文件读取体函数*/

包含的类:

Classstudent()

2.2.2各个模块之间的调用关系和数据储存格式说明

各函数模块之间的调用关系主要是主函数调用所有其它功能函数和菜单函数,并利用循环使各个功能函数运行完毕后都会回到菜单。

该程序的数据以二进制储存。

2.2.3主要流程图

一、主函数

开始

图2-2

二、数据的输入和保存

2

输入n、

struct[i]

三、学生信息的读取四、数据的删除

NoYes

Yes

YesNo

图2-4图2-5

五、根据平均成绩排序六、退出系统

 

No

 

Yes

 

图2-7

七、学生信息的追加八、根据学号查询学生信息

 

No

 

Yes

 

图2-9

 

图2-8

第3章软件的设计过程

3.1各软件模块之间的调用方式

程序中各个模块之间的调用方式主要是通过文件的包含和函数的调用实现的,用文件的形式把各个函数分开,再用头文件把它们包含进来,使用主函数进行调用。

3.2软件中实现各项功能的函数与程序代码

一、一个包含学生基本信息的类

classstudent(){

public:

char*name;

intid;

charsex;

floatmath,eng,comp,totll,aver;

……………………………………….

}

二、输入函数

Voidinput()

{…………..

for(j=1;j<=n;j++)

{cout<<"输入学生信息"<

ob[j].setup();

}……………………//用一个佛人for循环将学生信息录入。

}

三、信息的保存与读取

保存:

voidsave()

{inti;

ofstreamfout("list.txt");

if(!

fout)

{

cout<<"Cannotopenoutputfile!

\n,";

}

for(i=1;i<=s;i++)

{fout<

ob[i].math<<""<

}

fout.close();

}

读取:

voidread()

{ifstreamfin("list_1");

if(!

fin)

{

cout<<"Cannotopenoutputfile!

\n,";

}

chara[80];

fin>>a;

cout<

fin.close();

}

四、菜单函数

voidmenu()

{

cout<<"\n\n";

cout<<"------------------学生成绩系统-----------------"<

cout<<"\t\t1.录入与保存学生信息.\n";

cout<<"\t\t2.读取学生信息.\n";

cout<<"\t\t3.删除学生信息.\n";

cout<<"\t\t4.追加学生信息.\n";

cout<<"\t\t5.查询学生信息.\n";

cout<<"\t\t6.显示成绩名次.\n";

cout<<"\t\t7.退出系统......\n\n\n";

cout<<"\t\t请选择功能项:

";

}

五、添加学生信息函数

voidadd()

{

inti,j=1,d=s+1;

cout<<"输入要添加学生的信息:

"<

ob[d].setup();

cout<

cout<

计算机总分平均分"<

for(i=1;i<=s+j;i++)

{ob[i].show();}

ofstreamfout("list.txt");

if(!

fout)

{

cout<<"Cannotopenoutputfile!

\n,";

}

for(i=1;i<=s+j;i++)

{fout<

ob[i].math<<""<

}

fout.close();

getchar();

j++;

}

3.3数据保存方式以及格式

本学生信息系统将能自动把输入的学生信息保存为.dat文件,全名为list.dat,在文件的读取时,系统将能自动把该二进制文件读出,并在屏幕上显示出学生信息。

第4章设计结果与分析

4.1软件使用结果

在此,我们将把软件使用过程写出,并对此程序的一些细节和具体的操作方法加以说明,说明如下:

1、将软件进行初始化。

2、进入程序菜单,界面如图4-1-1:

菜单界面

图4-1-1

界面显示的是“一个学生信息系统”,总的操作流程有七个方面:

(1)输入和存取学生信息;

(2)读取学生信息;

(3)用人名从列表中删除学生信息;

(4)在列表中插入学生信息;

(5)用学号查询学生信息;

(6)按总成绩的高低对学生成绩进行排序;

(7)退出菜单界面。

最后是提示用户做出要软件进行怎样功能运行的选择。

3、输入和存取学生信息:

选择菜单界面的第一个选择,按Enter键进入此选择界面,出现的界面如图4-1-2:

学生人数

图4-1-2

在这个界面给出了学生人数的选择,也就是说,用户想要输入多少个学生的信息,已经输入学生人数后,按Enter键进入输入界面,输入界面如图4-1-3:

输入学生信息

图4-1-3

用户可在此界面上输入想要输入的学生的相关信息(学号、姓名、性别、数学分数、英语以及计算机科目的分数等),但是由于程序合法的要求,所以姓名的范围规定在4到7个字节之间,学号的范围是1001-1021,性别分别是男(m)或女(f),而分数的范围是0-100。

如果输入的数据不在这些范围内,则界面上将显示错的数据输入的句子,用户将重新输入正确的数据,才可以进行下面的程序。

如果全部学生的信息输入完毕,按Enter键则进入了存取界面,如图4-1-4:

存取学生信息

图4-1-4

界面上出现全部学生的清单,最后有提醒用户是否要将如上信息存储的提示信息,如果要存储则输入Y,不存储则输入N,最后按Enter完成当前和结束当前操作。

并回到菜单界面。

4、读取学生信息:

选择菜单界面第二个选择,按Enter键进入此界面,则出现的界面如图4-1-5:

读取学生信息

图4-1-5

界面上的图即显示的是读取学生信息界面的内容,它表示的是全部学生信息的列表,可按Enter键退出此界面。

5、用人名从列表中删除学生信息:

从菜单界面中选择第三个选择,按Enter键入,

则出现图4-1-6的界面;

删除学生信息

图4-1-6

界面上出现的是删除学生信息的界面,在界面的开头有提示用户输入所要删除的那个学生的学号,按Enter键则界面上显示出所要删除的学生的相关信息,重复按Enter键界面则显示出删除此学生信息后的新的学生信息列表。

6、在列表中插入学生信息:

从菜单界面中选择4输入,按Enter键进界面

则出现图4-1-7的界面:

插入学生信息

图4-1-7

首先界面上有提示用户输入所要插入的学生的学号,然后反复按Enter键输入所要插入学生的相关信息。

最后将出现新的学生信息列表。

7、用学号查询学生信息:

从界面选5输入后按Enter进入此程序,则出现界面

图4-1-9:

用学号查询学生信息

图3-3-9

按照提示信息输入所要查询的学生的学号,按Enter键则会出现此学号的学生相关的信息,即可查阅他/她的成绩和其他信息。

8、按总成绩高低对学生成绩进行排序:

从菜单界面选6输入按Enter键进入程序则出现界面如图4-1-10:

排序后的新学生信息列表

图4-1-10

于是界面上显示的是按学生的总成绩从高到低排序的列表,通过此操作程序,用户可以管理学生成绩更轻松。

9、退出菜单界面:

在菜单界面上输入7按Enter键进入界面如图4-1-11:

退出界面

图4-1-11

则屏幕上显示出提示退出的信息,并且提示用户按任意键可退出菜单界面,即完成

当前操作,结束运行。

参考文献

1、《C++面向对象程序设计教程》(第二版)

作者:

陈维新林小茶

出版者:

清华大学=出版社

序号:

ISBN7-302-08900-0

版次:

2004年8月第2版2006年6月第7次印刷

参考内容:

第3章类和对象

第7章C++的I/O流类库

2、《C程序设计》(第三版)

作者:

谭浩强

出版者:

清华大学出版社

序号:

ISBN7-302-10853-6

版次:

2005年7月第3版2006年2月第7次印刷

参考内容:

第5章选择结构程序设计(91-111),第7章数组(131-152),

第8章函数(155-202),第9章预处理命令(211-214)等

3、《数据结构课程设计》

作者:

苏仕华等

出版者:

机械工业出版社

序号:

ISBN7-111-16181-5

版次:

2005年5月第1版第1次印刷

参考内容:

第4章文本文件的检索(47-57),第7章图结构的应用(101-123)

总结

通过两星期的C++语言程序设计实习,我们从中受益匪浅,并且对C++语言程序设计这一门课程有了更深一步的认识。

在实习中,我们可以把这学期所学的理论知识和实践联系起来,在所要开发的项目中渐渐成长。

虽然我们对这些C++语言知识运用得还不是很熟练,但是相信我们也在滴水穿石地成长起来。

发现问题,提出问题,解决问题,使我们从不足之处出发,寻找新的学习方向。

在实习中,我们设计了一组对学生成绩进行管理的系统,它基本满足了界面友好,易于操作的要求,因此更利于用户操作方便,运行简易,从而达到对学生成绩更加有效系统的管理,并且速度更快内容更直接地达到用户所想要的效果。

在该软件中我们实现了对学生信息的输入和存取、读取,对学生相关信息的删除和插入,并且可以按学号查询学生的相关信息,以及按平均分的高低对学生成绩进行排序等的功能。

但软件中仍然存在一些不足,例如在输入有关学生的数据时名字没有限定,插入新的学生信息的程序还有待完善,删除后没有把新的学生成绩列表进行保存,菜单不美观等。

我们一边实习一边探索,发现理论和实践要充分地结合,是需要扎实的基本功的,这就表明学好基础知识是理论付诸实践的前提。

在实习中我们学到了很多,希望在以后我们能充分利用实习的机会充实自己,并希望这样的机会能被更好更多地提供。

实习生:

2007-3-15

致谢

经过这两周的实习,我们获得了许多在课堂上听课而不能获得的知识,首先我们要感谢学校给我们安排的这次的C++语言程序设计实习,然后我要感谢老师们对我们热心的指导和帮助,是他们教会了我们怎样解决问题的方法,这样我们的软件设计才会更加顺利地进行,并且充分掌握了设计程序的方法。

我们还要感谢许多同学的帮助,他们的帮助对于我们来说也是必不可少的。

总之,是有了他们的帮助,我们才能顺利地完成软件设计,在这里我们要向他们说一句:

谢谢,非常感谢!

你们辛苦了!

在设计该软件期间,给予帮助和支持的老师有:

给予帮助和支持的同学有:

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

当前位置:首页 > 法律文书 > 调解书

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

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