学生学籍管理系统的设计报告Word格式.docx

上传人:b****4 文档编号:17529056 上传时间:2022-12-07 格式:DOCX 页数:22 大小:23.31KB
下载 相关 举报
学生学籍管理系统的设计报告Word格式.docx_第1页
第1页 / 共22页
学生学籍管理系统的设计报告Word格式.docx_第2页
第2页 / 共22页
学生学籍管理系统的设计报告Word格式.docx_第3页
第3页 / 共22页
学生学籍管理系统的设计报告Word格式.docx_第4页
第4页 / 共22页
学生学籍管理系统的设计报告Word格式.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

学生学籍管理系统的设计报告Word格式.docx

《学生学籍管理系统的设计报告Word格式.docx》由会员分享,可在线阅读,更多相关《学生学籍管理系统的设计报告Word格式.docx(22页珍藏版)》请在冰豆网上搜索。

学生学籍管理系统的设计报告Word格式.docx

 

2.学生成绩管理功能

分数录入:

以班级为单位,录入各科目的期中、期末、总评成绩。

总分及名次:

计算指定班级学生的总分及名次。

补考成绩录入:

修改总评成绩,以决定最终补考人数。

成绩备份:

为指定班级及指定的学期数的学生成绩保存到备份数据库中。

3、课程信息管理功能

课程管理:

提供本学期各年级各专业所开课程名称的录入、修改、删除。

它是学生成绩管理的基础:

用以保证数据库中一致性原则。

4、查询功能。

学生信息查询:

根据用户的要求,查询学生数据库的所有可能的信息,其中包括成绩查询。

备份成绩查询:

按班级为单位查询备份数据库的学生信息,补考情况。

四、软件编码

#include<

iostream>

string>

iomanip>

fstream>

usingnamespacestd;

#defineNULL0

classstudent

{

public:

longnum;

stringname;

stringdizhi,dihua,banji;

student*next;

};

intn;

//链结点的个数

student*head,*stu;

/////////////////////////////////////////////////////////////////////

student*creat(void)//创建动态链表返回以各指向链表头的指针

{student*head;

student*p1,*p2;

n=0;

p1=p2=newstudent;

//开辟新单元,用P1P2指向

cout<

<

"

按顺序输入学生的学号,姓名,地址,电话,班级,输入0****就停止录入(*为任意字符)"

<

endl;

cin>

>

p1->

num>

name>

dizhi>

dihua>

banji;

head=NULL;

while(p1->

num!

=0)//循环输入的作用

{n=n+1;

if(n==1)head=p1;

elsep2->

next=p1;

p2=p1;

p1=newstudent;

//开辟新单元,

cin>

//输入数据

}

p2->

next=NULL;

//p2指向最后

return(head);

///////////////////////////////////////////作为二进制储存和读出二进制文件

voidwrite_read()

{student*p;

studentstud[100];

for(p=head;

p!

=NULL;

p=p->

next)

{stud[n].dizhi=p->

dizhi;

stud[n].dihua=p->

dihua;

stud[n].banji=p->

stud[n].name=p->

name;

stud[n].num=p->

num;

n++;

ofstreamoutfile("

student.dat"

ios:

:

binary);

if(!

outfile)

{cerr<

openerror...."

abort();

for(inti=0;

i<

n;

i++)

outfile.write((char*)&

stud[i],sizeof(stud[i]));

outfile.close();

ifstreaminfile("

infile)

for(intj=0;

j<

j++)

infile.read((char*)&

infile.close();

for(intk=0;

k<

k++)

{cout<

姓名:

"

stud[k].name<

cout<

学号:

stud[k].num<

地址:

stud[k].dizhi<

电话:

stud[k].dihua<

班级:

stud[k].banji<

endl<

///////////////////////////////////////////////////////////////图形的输出

voidexit()

{

┃\n"

┏━━━━┻━━━━┓\n"

┃┃\n"

┏━━━━┻━━━━━━━━━┻━━━━┓\n"

┃^^^^^谢谢使用^^^^^^^┃\n"

┃┃\n"

┃偷得浮生半日闲┃\n"

┗━━━━━━━━━━━━━━━━━━━┛\n"

;

/////////////////////////////////////////////////////////////////////////////////////////////////////

voidprint(student*head)//输出链表

学生信息表"

p=head;

if(head!

=NULL)

学号姓名地址电话班级"

if(head!

do

setw(12)<

p->

num

setw(14)<

name

setw(10)<

dizhi

dihua

banji

p=p->

next;

}while(p!

=NULL);

////////////////////////////////////////////////////////////////////////删除链表

student*del(student*head,longnum)

{student*p1,*p2;

if(head==NULL)

{cout<

此为空表"

p1=head;

while(num!

=p1->

num&

&

p1->

next!

{p2=p1;

p1=p1->

if(num==p1->

num)

{if(p1==head)head=p1->

next=p1->

删除"

num<

n=n-1;

else

没有该同学数据!

/////////////////////////////////////////////////////////////////////////////链表的舔加

student*insert(student*head,student*stud)

{student*p0,*p1,*p2;

//P1指向第一个节点

p0=stud;

//要插入的节点

{head=p0;

p0->

}//是P0指向节点作为头

{while((p0->

num)&

(p1->

=NULL))

{p2=p1;

p1=p1->

if(p0->

{if(head==p1)head=p0;

else

p2->

next=p0;

p0->

}

else

{p1->

}//差如节点之后

n=n+1;

//节点+1

///////////////////////////////////////////////////////////////////////查找学生

voidfind()

inta;

请输入想要找的学生的学号"

a;

{if(a==p->

学号姓名地址地话班级"

banji

break;

continue;

///////////////////////////////////////////////////////////////////////////////删除和添加的链表的多次执行的实现

voidlist()

{inta;

longdel_num;

student*creat(void);

//输入学生数据

student*cunt_put(student*);

student*del(student*,long);

student*insert(student*,student*);

voidprint(student*);

head=creat();

print(head);

//输出全部结点

如果要删除学生资料请输入1,如果需要添加请输入2"

if(a==1)

输入要删除学号"

del_num;

while(del_num!

=0)

{head=del(head,del_num);

print(head);

//调用输出函数

是否继续删除:

是(输入学号),不是(输入0)"

往下执行就按任意数字"

if(a==2)//操作选择

输入要添加的就输入学号"

stu=newstudent;

//开创新的空间

stu->

while(stu->

=0)//可以循环删除,删除多个

{head=insert(head,stu);

//调用添加函数

//调用输出函数

如果需要添加请输入学号,无需添加输入0****就停止录入(*为任意字符)"

stu=newstudent;

/////////////////////////////////////////////////////////////////////////调用各个函数

voidswich()

list();

//删除和添加调用

退出软件输入9直接查看学生资料输入10"

if(a==9)

exit();

if(a=10)

{for(intu=0;

u++)

{

0按学号查某个学生的数据1查看成绩表3退出系统且读取二进制文件"

intt;

t;

if(t==1)

{print(head);

continue;

}

if(t==3)

{exit();

if(t==0)

{find();

读取二进制文件如下"

write_read();

////////////////////////////////////////////////////////密码实现

voidmima()

{intn,m=1988825;

j++)

这是我的地盘,请输入密码:

if(m==n)

{cout<

恭喜你猜对了"

swich();

内有怪物,生人勿进!

//////////////////////////////////////////////////主函数

intmain()

{mima();

return0;

五、测试文档

1、集成测试

集成测试将测试每一个部件之间的工作是否正常。

在这个阶段,我们假设所有的单元已通过开发人员个人在单元测试阶段测试全部通过,没有任何错误。

集成测试包括以下内容:

连续集成测试

数据库测试

数据整合测试

2、功能测试

功能测试环境

操作系统:

windows98

内存:

128M

网络环境:

校园网

本功能测试共分为:

系统功能测试

测试是否可以正常添加用户和修改密码,系统正常退出

测试是否可以正常对班级进行管理,学生的单个或成批添加,删除以及新生信息的导入和学生信息备份

测试成绩管理中是否可以进行分数录入,汇总及排名和成绩备份等操作

测试课程信息模块中针对课程管理,老师和课程的关系之间操作是否正常

测试是否可以正常查询学生,老师和成绩

3、链接测试

这一部分将测试系统各模块之间的超链接跳转是否正确

4、文档测试 

本章主要内容为:

测试文档是否包括全部内容

测试软件功能描述与其他功能有没有冲突

查看软件功能描述是否是原来系统分析和需求

查看文档内容在特定的情况和进度下,以现有人力,物力和资源能否实现

5、负载测试

这一部分将测试正常情况下系统性能和用户数目之间的关系

查看在多个用户同时使用本系统时是否正常

6、极限测试

这一部分将测试所有极端的情况,如速度非常快的情况下和速度非常慢的情况下,以及所有其它的极端情况。

本章主要内容为:

网络资源极限测试

综合极限测试

六、其它

简单的说明学籍管理系统数据库各数据表的结构如下。

(1)数据库名:

student。

(2)student表(学生信息表)如表1-1所示。

表1-1student表(学生信息表)

字段名称

类型

宽度

允许空值

主键

说明

sno

char

8

NOTNULL

学生学号

sname

学生姓名

sex

2

NULL

学生性别

native

20

籍贯

birthday

smalldate

4

学生出生日期

dno

6

学生所在院系编号(外键)

spno

专业代码(外键)

classno

班级号

entime

学生入校时间

home

varchar

40

学生家庭住址

tel

学生联系电话

(3)course表(课程信息表)如表1-2所示。

表1-2course表(课程信息表)

cno

10

课程编号

cname

课程名称

ctno

tinyint

1

课程类型编号(外键)

experiment

实验时数

lecture

授课学时

semester

开课学期

credit

课程学分

(4)student_course表(学生选课成绩表)如表1-3所示。

表1-3student_course表(学生选课成绩表)

tcid

smallint

上课编号

score

学生成绩

注意:

上课编号tcid是指teacher_course(教师上课课表)中的tcid,而不是course表(课程信息表)中的课程编号cno。

(5)teacher表(教师信息表)如表1-4所示。

表1-4teacher表(教师信息表)

tno

教师编号

tname

教师姓名

教师性别

教师出生日期

教师所在院系编号(外键)

pno

教师职务或职称编号

教师家庭住址

zipcode

邮政编码

联系电话

email

电子邮件

(6)department表(院系信息表)如表1-5所示。

表1-5department表(院系信息表)

院系编号

dname

院系名称

header

院系负责人

addr

院系办公地址

del

(7)user表(用户信息表)如表1-6所示。

表1-6user表(用户信息表)

usrno

用户名

usrpw

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

当前位置:首页 > 初中教育 > 语文

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

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