学生成绩管理系统详细设计-冰锋

更新时间:2024-04-18 15:41:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

产品名称:学生成绩管理系统 文档名称:概要设计说明书

姓名: 学号: 冰锋 日期 2014/6/15 J1200728 日期 2014/6/15 日期 审核: 批准: 2014/6/17 2014/6/18 日期

备注:山东电子职业技术学院软件工程实训,系统开发文档说明书。

1引言 ............................................................................................................................................... 2

1.1编写目的 ............................................................................................................................. 3 1.2背景 ..................................................................................................................................... 3 1.3定义 ..................................................................................................................................... 3 1.4参考资料 ............................................................................................................................. 3 2程序系统的结构 ............................................................................................................................ 4 2.1 系统结构图.........................................................................................................................4 3程序设计说明 ................................................................................................................................ 4

3.1 程序结构........................................................................................................................... 32 功能结构............................................................................................................................ 3.3 性能................................................................................................................................... 3.4 输入项............................................................................................................................... 3.5算法.....................................................................................................................................

4 程序代码.及截图.................................................................................................................. 4.1.代码................................................................................................................

4,2 截图...........................................................................................................................

1引言

1.1编写目的

此文档对所要开发的系统的各方面的功能模块,既进行了总体的详细设计也进行了具体分点的描述,同时明确地给出了该系统的机体功能,以及对软件的性能做出评定。

1.2背景

当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。

管理信息系统是进行信息的采集、存储、加工、维护和使用的系统。它是随着管理科学和技术科学的发展而形成的。学生档案管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生成绩管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。

随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。

作为计算机应用的一部分,使用计算机对学生成绩信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生档案管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。因此,开发这样一套管理软件成为很有必要的事情,

学生成绩管理系统提供了强大的学生成绩管理管理功能,方便管理员对学生成绩等信息的添加.修改.删除.查询.汇总.统计等操作。更适合大型数据库的管理。

1.3定义

无定义。

1.4参考资料

《软件工程》第2版 王宜贵 编著 机械工业出版社

2程序系统的结构

系统结构

成绩管理主模块成绩登录成绩查询成绩统计成绩发布单科成绩录入成绩验证成绩查询成绩查询分类成绩表生成成绩表输出发成绩通知书发补考通知书成绩通知书输入参数验证参数个人查询班级查询科目查询成绩通知输出生成成绩通知补考通知书生成补考通知补考通知输出查询结果查询结果输出

3程序设计说明

3.1程序描述

以字符串的形式输入各科成绩

3.2功能结构

开始主菜单输入数字选择相应的菜单调用函数进入子模块在子模块中选择操作结束

开始输入信息重新输入判断数据类型是否正确否是保存信息结束

开始查询页面选择查询方式输入学号/姓名判断学号/姓名是否存在是否重新输入姓名/学号显示该生信息结束

开始删除信息页面选择删除方式输入学号/姓名判断学号/姓名是否存在是否重新输入姓名/学号删除该生信息结束 3.3性能

灵活性:窗口响应绝大部分的快捷菜单和控制面板 操作时间特性:

3.4输入项

各科的成绩

3.6算法

本部分没有采用自定义的算法。

3.7流程逻辑

3.9存储分配

本程序用高级语言C进行编码,直接的内存分配由java运行时分配。

3.10注释设计

注释在本程序中安排注释,如:

1. 在代码部分适当填写中文代码注释。

3.11限制条件

(1)由于本系统的发将是

(2)开发人员在编写代码的过程中需要严格按照软件工程的要求来进行,以利于接下来的

测试和维护及升级。

3.12测试计划

测试日期、测试人员安排请参考测试计划,测试用例的具体内容,请参考测试例说明。

3.13尚未解决的问题

由于系统采用B/S模式开发,所需技术比较简单,暂时无未解决问题。

4代码及截图

4.1.代码

#include #include #include #include using namespace std; #define MaxSize 100

struct student {

int num;

char nam[20]; float chinese; float math; float english; };

class SeqList {

private:

student stu[MaxSize]; int size; public:

SeqList(){size=0;} ~SeqList(){}

void load(void);

void add(); //增加学生信息

student del(int number); //删除指定学号的学生信息

void changeInfo(int number); //修改指定学号的学生信息 void search(int number)const; //按学号查找学生信息 void search(char name[20])const; //按姓名查找学生信息

void tj(string subj,float low,float high)const; //按指定范围进行成绩统计 void sort(string subj); //按指定学科成绩排序(从高到低) void displayall(); //显示所有学生的信息

void save(); //将学生信息保存到myList.dat文件中 };

void SeqList::load(void) {

size=0;

ifstream infile;

infile.open(\if(infile) {

infile.read((char*)&size,sizeof(int)); infile.seekg(sizeof(int)); for(int i=0;i

infile.read((char*)&stu[i],sizeof(student)); }

infile.close(); } else {

cout<

void SeqList::add() {

cout<<\请依次输入该学生的学号,姓名以及语文、数学、英语三科成绩:\cin>>stu[size].num;

cin>>stu[size].nam; cin>>stu[size].chinese; cin>>stu[size].math; cin>>stu[size].english; size++; }

student SeqList::del(int number) {

student temp;

for(int i=0;i

if(stu[i].num==number) {

temp=stu[i];

for(int j=i;j

return temp; }

void SeqList::changeInfo(int number) {

for(int i=0;i

if(stu[i].num==number) {

cout<<\请选择要修改的选项:1-学号,2-姓名,3-语文成绩,4-数学成绩,5-英语成绩\

int input;cin>>input; switch(input) {

case 1:cin>>stu[i].num;break; case 2:cin>>stu[i].nam;break; case 3:cin>>stu[i].chinese;break; case 4:cin>>stu[i].math;break; case 5:cin>>stu[i].english;break; }

break; } } }

void SeqList::search(int number)const

{

for(int i=0;i

if(stu[i].num==number) {

cout<

cout<

if(i>=size) cout<<\无此学生信息!\}

void SeqList::search(char name[20])const {

int f=0;

for(int i=0;i

if(strcmp(stu[i].nam,name)==0) { f=1;

cout<

cout<

if(f==0) cout<<\无此学生信息!\}

void SeqList::tj(string subj,float low,float high)const {

int count=0;

if(subj==\{

for(int i=0;i

if(stu[i].chinese>low&&stu[i].chinese

else if(subj==\{

for(int i=0;i

if(stu[i].math>low&&stu[i].math

else if(subj==\{

for(int i=0;i

if(stu[i].english>low&&stu[i].english

cout<

void SeqList::sort(string subj) {

student temp;

if(subj==\{

for(int i=1;i

if(stu[j].chinese

temp=stu[j]; stu[j]=stu[j+1]; stu[j+1]=temp; } }

cout<<\按语文成绩排名如下:\}

else if(subj==\{

for(int i=1;i

if(stu[j].math

temp=stu[j]; stu[j]=stu[j+1]; stu[j+1]=temp; } }

cout<<\按数学成绩排名如下:\}

else if(subj==\{

for(int i=1;i

for(int j=0;j

if(stu[j].english

temp=stu[j]; stu[j]=stu[j+1]; stu[j+1]=temp; } }

cout<<\按英语成绩排名如下:\}

cout<

cout<

cout<

cout<

void SeqList::displayall() {

cout<

cout<

cout<

cout<

void SeqList::save() {

ofstream myoutfile; //定义输出文件

myoutfile.open(\if(myoutfile) {

myoutfile.write((char *)&size,sizeof(int)); myoutfile.seekp(sizeof(int)); for(int i=0;i

myoutfile.write((char *)&stu[i],sizeof(student)); myoutfile.close(); } else {

cout<

void main() {

SeqList List; List.load();

List.displayall();

cout<<\学生成绩查询系统*****************\

cout<<\操作提示: 1-添加学生信息;2-删除学生信息;3-修改学生信息;4-查询学生信息;5-成绩统计;6-单科成绩排序;7-显示所有学生信息;8-退出\float low,high; int enter,number; string subj; char name[20]; cin>>enter; for(;;) {

switch (enter) {

case 1:List.add();break;

case 2:cout<<\请输入学生学号:\

case 3:cout<<\请输入学生学号:\ case 4:cout<<\按学号查询;2-按姓名查询\ if(enter==1) {

cout<<\请输入学生学号:\ }

else if(enter==2) {

cout<<\请输入学生姓名:\ }

break;

case 5:cout<<\请输入统计科目及分数范围:\ List.tj(subj,low,high);break;

case 6:cout<<\请输入学科名称:\ case 7:List.displayall();break; case 8:List.save(); exit(0); }

cout<<\请继续选择所需操作!\ cin>>enter; } }

4.2.截图

本文来源:https://www.bwwdw.com/article/z0dp.html

Top