课程设计报告正文参考模板.docx

上传人:b****0 文档编号:18502331 上传时间:2023-08-18 格式:DOCX 页数:41 大小:189.60KB
下载 相关 举报
课程设计报告正文参考模板.docx_第1页
第1页 / 共41页
课程设计报告正文参考模板.docx_第2页
第2页 / 共41页
课程设计报告正文参考模板.docx_第3页
第3页 / 共41页
课程设计报告正文参考模板.docx_第4页
第4页 / 共41页
课程设计报告正文参考模板.docx_第5页
第5页 / 共41页
课程设计报告正文参考模板.docx_第6页
第6页 / 共41页
课程设计报告正文参考模板.docx_第7页
第7页 / 共41页
课程设计报告正文参考模板.docx_第8页
第8页 / 共41页
课程设计报告正文参考模板.docx_第9页
第9页 / 共41页
课程设计报告正文参考模板.docx_第10页
第10页 / 共41页
课程设计报告正文参考模板.docx_第11页
第11页 / 共41页
课程设计报告正文参考模板.docx_第12页
第12页 / 共41页
课程设计报告正文参考模板.docx_第13页
第13页 / 共41页
课程设计报告正文参考模板.docx_第14页
第14页 / 共41页
课程设计报告正文参考模板.docx_第15页
第15页 / 共41页
课程设计报告正文参考模板.docx_第16页
第16页 / 共41页
课程设计报告正文参考模板.docx_第17页
第17页 / 共41页
课程设计报告正文参考模板.docx_第18页
第18页 / 共41页
课程设计报告正文参考模板.docx_第19页
第19页 / 共41页
课程设计报告正文参考模板.docx_第20页
第20页 / 共41页
亲,该文档总共41页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

课程设计报告正文参考模板.docx

《课程设计报告正文参考模板.docx》由会员分享,可在线阅读,更多相关《课程设计报告正文参考模板.docx(41页珍藏版)》请在冰点文库上搜索。

课程设计报告正文参考模板.docx

课程设计报告正文参考模板

1前言

学生宿舍管理系统对于一个学校来说是必不可少的组成部分。

目前好多学校还停留在宿舍管理人员手工记录数据的最初阶段,手工记录对于规模小的学校来说还勉强可以接受,但对于学生信息量比较庞大,需要记录存档的数据比较多的高校来说,人工记录是相当麻烦的。

而且当查找某条记录时,由于数据量庞大,还只能靠人工去一条条的查找,这样不但麻烦还浪费了许多时间,效率也比较低。

当今社会是飞速进步的世界,原始的记录方式已经被社会所淘汰了,计算机化管理正是适应时代的产物。

信息世界永远不会是一个平静的世界,当一种技术不能满足需求时,就会有新的技术诞生并取代旧技术。

21世纪的今天,信息社会占着主流地位,计算机在各行各业中的运用已经得到普及,自动化、信息化的管理越来越广泛应用于各个领域。

我们针对如此,设计了一套学生宿舍管理系统。

学生宿舍管理系统采用的是计算机化管理,系统做的尽量人性化,使用者会感到操作非常方便,管理人员需要做的就是将数据输入到系统的数据库中去。

由于数据库存储容量相当大,而且比较稳定,适合较长时间的保存,也不容易丢失。

这无疑是为信息存储量比较大的学校提供了一个方便、快捷的操作方式。

本系统具有运行速度快、安全性高、稳定性好的优点,并且具备完善的报表生成、修改功能,能够快速的查询学校所需的住宿信息。

2需求分析

2.1要求

1.开发环境要求:

TurboC3.0。

2.提交课程设计报告一份,包括以下内容:

(1)系统分析:

包括设计题目、设计内容以及系统功能需求分析;

(2)系统设计:

包括总体设计(主要功能模块的划分)及详细设计(各功能模块的算法设计以及对应的流程图);

(3)系统实现:

包括使用的所有变量、自定义函数、结构体的说明,以及完整源程序清单,关键代码应加注释。

(4)系统运行:

包括系统操作使用的简单说明,使用测试数据运行的结果。

(5)总结。

包括课程设计过程中的学习体会与收获,出现的问题和解决的方法,没有完成的部分及原因,对C语言和本次课程设计的认识以及自己的建议等内容。

2.2任务

1.进行需求分析,将系统划分为多个模块;

2.为每个模块设计算法及流程;

3.编写代码实现各模块功能;

4.运行调试程序;

5.撰写课程设计报告。

2.3运行环境

(1)WINDOWS2000/XP系统

(2)VisualC++6.0编译环境或TC编译环境

2.4开发工具

C语言

3分析和设计

3.1系统分析及设计思路

按学号进行查询、按姓名进行查询、按班级查询、按寝室号查询这四个功能模块在具体编程实现上基本上是一样的。

因此我们仅以‘按姓名进行查询’为例来说明一下这四个功能模块的详细实现过程。

N

Y

图3.9

信息查询流程图

1.按学号进行查询

图3.10信息查询界面

设计思想:

按学号查询是具体的查询某学生的详细信息,包括学生的基本信息及其住宿情况。

在需要调查学生的详细情况时,可以采用该功能来实现。

具体实现:

(1).首先通过TADOQuery控件实现数据库和该功能模块的关联,再通过TDatasourse实现学生信息表(Student)和TDBGrid的关联,把学生信息显示在下面的表格中。

(2).其次我还为窗体添加了一个TDBNavigator控件,可以实现数据的最上一条、上一条、下一条、最下一条浏览查看。

当然像按学号来查询的话也许用不到该控件,但要是按班级查询或姓名等其他查询,这个控件是非常有用的。

因为通过班级或姓名查出来的学生信息数据量会非常大,所以需要通过该按钮来方便、快捷的查看。

(3).在按学号查询时首先要通过编程判断一下,数据库的学生信息表中是否存在该编号的学生,如果没有系统会提醒你‘学号不存在是不是输入错误,检查一下再重新输入’,所以只有存在学号才能进行查询。

(4).上述完成之后,输入所查询的学号,那么所需学生信息就会在下面表格中显示出来了。

上图所显示的是所有学生信息情况。

2.按姓名进行查询

设计思想:

按学生姓名实现的查询,虽然这样查出来的学生有可能不止一名,但在有些情况下(比如家人、朋友来访时,只记得学生姓名,在不清楚其学号、宿舍号的情况下,可以通过学生信息中的其它信息确定所要找的学生)可以调用此功能来实现。

3.按班级进行查询

设计思想:

实现某个班级所有学生基本信息及住宿情况的查询。

通过该功能模块我们可以统计某个班级的宿舍分配情况,这个班级的学生都住在哪些寝室中。

4.按寝室号查询

设计思想:

在输入寝室号时可以把该宿舍所住的所有学生的信息都统计出来,方便详细了解某宿舍的学生住宿情况。

5.住宿情况查询

图3.11住宿情况查询界面

设计思想:

点击多选框里的按楼房号查询按钮可以查看某栋楼房所有宿舍的住宿情况,看看还有哪些宿舍还有空的床位,可以入住学生。

还可以查看某个宿舍的详细情况。

同时该模块还能够统计某栋楼房的所有学生人数。

具体实现:

(1).首先通过TADOQuery控件实现数据库和该功能模块的关联,再通过TDatasourse实现寝室表(Dorm)和TDBGrid显示表格的关联,把宿舍信息显示在下面的表格中。

(2).其次放置一个复选按钮键,可以方便实现按楼房号和按宿舍号两种方式的查询。

在右边放置一个查询框,进行查询条件的输入。

在按楼房号查询时,用到了模糊查询。

模糊查询的在本部分的基本原理就是:

我们在刚开始建库时考虑到管理方便和减少冗余,在对学生进行宿舍号登记时是这么描述的如:

6-502,将其楼房号和宿舍号放一个字段中,并没有将其分开操作。

所以在查询这部分当需要按楼房号进行查询时,就要注意了。

假如我们要查5号楼的住宿情况,那么在TDBGrid表格中的显示就应该是5-***,而6-502虽然也包含了5这个字符,但它不属于5号楼,所以要将其排除在外。

因此我们采用了模糊查询,查询结果只显示所需信息。

(3).在住宿统计的实现上,我们使用的SQL集函数SUM()来实现的。

它的主要功能就是计算一列值得总和(此列必须是数值型)。

将要查的楼房号,输入到查询条件中时,还需要判断该楼房号到底存不存在,如果存在在点击该模块中的‘住宿统计按钮’,那么该楼房所有学生的总人数会在’住宿统计’按钮右边的Memo文本显示控件里面进行显示了,同时该楼房的详细住宿情况会在表格中进行具体显示。

综合以上分析,要实现上面的所有功能模块,共需要设计九个表,它们分别是:

学生基本情况表、寝室表、员工表、楼房表、人员来访表、学生财产表、学期注册表、权限表、物品出入楼表。

系统表如下:

1.用户表:

登记管理人员的用户名、密码及登录权限。

2.学生基本情况表:

详细登记学生基本信息及学生住宿情况。

3.寝室表:

登记所有宿舍的详细情况。

4.员工表:

登记所有管理人员的详细情况。

5.人员来访表:

登记所有来访人员的详细情况。

6.物品出入表:

详细登记学生物品出楼信息。

7.楼房表:

登记所有住宿楼情况。

8.学期注册表:

登记学生每学期的注册情况。

9.学生财产表:

登记学生物品情况。

表3.1用户表(LoginIn)

字段名

描述

数据类型

数据长度

NULL

Primarykey

UserName

用户名

char

10

N

Y

UserId

用户密码

char

10

N

Y

UserPower

用户权限

char

20

N

N

表3.2学生基本情况表(Student)

字段名

描述

数据类型

数据长度

NULL

Primarykey

Stu_Id

学号

char

20

N

YandF

Stu_Name

姓名

char

10

Y

N

Stu_Sex

性别

char

10

Y

N

Dor_Id

寝室号

char

10

N

F

Stu_Enr

入学日期

datetime

10

Y

N

Stu_Birth

出生日期

datetime

10

Y

N

Stu_Study

所学专业

char

10

Y

N

Stu_Class

班级

char

10

Y

N

Stu_Polit

政治面貌

char

10

Y

N

Stu_Add

家庭住址

char

50

Y

N

Stu_Tel

联系方式

char

10

Y

N

Stu_Sta

状态

char

10

Y

N

Stu_Des

备注

char

50

Y

N

表3.3寝室表(Dorm)

字段名

描述

数据类型

数据长度

NULL

Primarykey

Dor_Id

寝室号

char

10

N

Y

Dor_Sex

居住性别

char

10

Y

N

Dor_Num

应住人数

char

10

Y

N

Dor_Fact

实住人数

char

10

Y

N

Dor_Price

住宿费用

char

10

Y

N

Dor_Tel

电话

char

10

Y

N

Dor_Des

备注

char

50

Y

N

表3.4员工表(Employee)

字段名

描述

数据类型

数据长度

NULL

Primarykey

Emp_Id

员工号

char

20

N

Y

Emp_Name

姓名

char

10

Y

N

Emp_Age

年龄

char

10

Y

N

Emp_Sex

性别

char

10

Y

N

Hou_Id

楼房号

char

10

N

F

Emp_Job

职位

char

10

Y

N

Emp_Add

家庭住址

char

50

Y

N

Emp_Tel

联系方式

char

10

Y

N

Emp_Des

备注

char

50

Y

N

表3.5人员来访表(Visit)

字段名

描述

数据类型

数据长度

NULL

Primarykey

Vis_Name

来访人姓名

char

10

N

N

Vis_Host

被访人姓名

char

10

Y

N

Dor_Id

宿舍

char

10

N

F

Relation

所属关系

char

10

Y

N

Vis_Data

来访日期

datetime

10

Y

N

Vis_Time

来访时间

datetime

10

Y

N

Lea_Time

离开时间

datetime

10

Y

N

Vis_Watch

值班人

char

10

Y

N

Vis_Cred

证件名称

char

10

Y

N

Vis_Des

备注

char

50

Y

N

表3.6物品出入楼表(Goodsmove)

字段名

描述

数据类型

数据长度

NULL

Primarykey

Stu_Id

学号

char

20

N

Y

G_In

进楼物品

char

10

Y

N

G_Out

出楼物品

char

10

Y

N

G_Date

时间

datetime

10

Y

N

Watch

值班人

char

10

Y

N

G_Des

备注

char

50

Y

N

 

表3.7楼房表(House)

字段名

描述

数据类型

数据长度

NULL

Primarykey

Hou_Id

楼房号

char

20

N

Y

Hou_Num

楼层数

char

10

Y

N

Hou_Rom

房间数

char

10

Y

N

Hou_Peo

应住人数

char

10

Y

N

Hou_Des

备注

char

50

Y

N

表3.8学期注册表(Enroll)

字段名

描述

数据类型

数据长度

NULL

Primarykey

Stu_Id

学号

char

20

N

Y

Dor_Id

寝室

char

10

N

F

Enr_Date

注册日期

datetime

10

Y

N

Enr_Price

所交费用

char

10

Y

N

Enr_Sta

交费情况

char

10

Y

N

Enr_Year

所交年度

datetime

10

Y

Y

Enr_Des

备注

char

50

Y

N

表3.9学生财产表(Riches)

字段名

描述

数据类型

数据长度

NULL

Primarykey

Stu_Id

学号

char

20

N

Y

Dor_Id

寝室

char

10

Y

F

Bed

床位

char

10

Y

N

Stool

凳子号

Char

10

Y

N

Desk

桌子号

char

10

Y

N

Telphone

电话

char

10

Y

N

KeySend

钥匙发否

char

10

Y

N

Box

箱子

char

10

Y

N

Bedding

被子

char

10

Y

N

Description

备注

char

50

Y

N

3.2主要数据结构及算法

本管理系统共用到九个表:

用户表(LoginIn)、学生基本情况表(Student)、寝室表(Dorm)、员工表(Employee)、人员来访表(Visit)、物品出入楼表(Goodsmove)、楼房表(House)、学生财产表(Riches)、学期注册表(Enroll),各表之间均有一定的关系,可以进行关联。

1.学生基本情况表(Student)、学生财产表(Riches)、学期注册表(Enroll)、物品出入楼表(Goodsmove)这四个表里面都有一个相同的字段:

学号(Stu_Id),通过学号这个字段就可以将系统的这四个表关联了起来。

当某个表发生插入、修改、删除等方面的改动时,相联的表之间也要进行相应的改动。

学生基本情况表(Student)和寝室表(Dorm)也有一个相同的字段:

寝室号(Dor_Id)将两表相关联。

.由于员工是负责管理某栋楼房的,因此员工表(Employee),楼房表(House)这两个表之间有一个相同的字段:

楼房号(Hou_Id)来进行关联。

3.3函数流程图

图3.1系统功能流程图

4具体代码实现

1.增加用户源代码

procedureTAddUserForm.BitBtn1Click(Sender:

TObject);

begin

ifEdit1.Text=''then

begin

MessageBox(handle,'请输入用户名!

','',MB_OK+MB_ICONWARNING);

Edit1.SetFocus;

exit;

end;

ifEdit2.Text=''then

begin

MessageBox(handle,'请输入用户密码!

',',MB_OK+MB_ICONWARNING);

Edit2.SetFocus;

exit;

end;

ifComboBox1.Text=''then

begin

MessageBox(handle,'请选择用户权限!

','',MB_OK+MB_ICONWARNING);

Edit2.SetFocus;

exit;

end;

WithDataMD.ADOAddUserdo

begin

datamd.ADOAddUser.Insert;//插入一条空白记录datamd.ADOAddUser.FieldByName('UserName').AsString:

=trim(edit1.Text);

datamd.ADOAddUser.FieldByName('UserId').AsString:

=trim(edit2.Text);datamd.ADOAddUser.FieldByName('UserPower').AsString:

=trim(ComboBox1.Text);

IfMessageDlg('确定要添加吗?

!

',mtconfirmation,[mbYes,mbNo],0)=mrYesthen

begin

post;

edit1.Text:

='';

edit2.Text:

='';

MessageBox(handle,'用户信加!

','!

',MB_OK+MB_ICONWARNING);

end

else

begin

cancel;

edit1.Text:

='';

edit2.Text:

='';

end;

end;

end;

procedureTAddUserForm.BitBtn2Click(Sender:

TObject);

begin

close;

end;

end;

2.删除用户源代码

procedureTAddUserForm.BitBtn3Click(Sender:

TObject);

var

deleteName:

string;

deletePass:

string;

deletePower:

string;

begin

ifEdit1.Text=''then

begin

MessageBox(handle,'输入所删用户名',MB_OK+MB_ICONWARNING);

Edit1.SetFocus;

exit;

end;

ifEdit2.Text=''then

begin

MessageBox(handle,'输入所删用户密码',MB_OK+MB_ICONWARNING);

Edit2.SetFocus;

exit;

end;

ifComboBox1.Text=''then

begin

MessageBox(handle,'输入所删用户权限!

',MB_OK+MB_ICONWARNING);

Edit2.SetFocus;

exit;

end;

Datamd.ADOAdduer.Close;

Datamd.ADOAdduer.SQL.Clear;

Datamd.ADOAdduer.SQL.Add('select*fromLoginInwhereusername='''+Edit1.Text+'''and');

Datamd.ADOAdduer.SQL.Add('userId='''+Edit2.text+'''');

Datamd.ADOAdduer.Prepared;

Datamd.ADOAdduer.Open;

ifDatamd.ADOAdduer.Eofthen

begin

MessageBox(handle,'该用户信息不存在,请确认后再输入!

','警告',MB_OK+MB_ICONWARNING);

Edit1.SelectAll;

edit1.Text:

='';

edit2.Text:

='';

exit;

end;

deleteName:

=edit1.Text;

deletePass:

=edit2.Text;

deletePower:

=ComboBox1.Text;

WithDataMD.ADOAddUserdo

IfMessageDlg('确定删除?

!

',mtconfirmation,[mbYes,mbNo],0)=mryesthen

begin

datamd.ADOCommand1.CommandText:

='deletefromloginInwhere(username='''+deleteName+''')and(useriD='''+deletepass+''')and(userpower='''+deletepower+''')';

datamd.ADOCommand1.Execute;

edit1.Text:

='';

edit2.Text:

='';

MessageBox(handle,'用户信息已删除!

','!

',MB_OK+MB_ICONWARNING);

end

else

begin

cancel;

edit1.Text:

='';

edit2.Text:

='';

end;

end;

procedureTAddUserForm.BitBtn4Click(Sender:

TObject);

begin

close;

end;

-------------------------------密码修改源代码---------------------------------

procedureTUserChange.BtsubmitClick(Sender:

TObject);

begin

ifUserNameEdit.Text=''then

begin

messagedlg('请输入用户名',mtwarning,[mbok],0);

UserNameEdit.SetFocus;

exit;

end;

ifOldPassWordEdit.Text=''then

begin

messagedlg('请输入原始密码',mtwarning,[mbok],0);

OldPassWordEdit.SetFocus;

exit;

end;

ifNewPasswordEdit.Text=''then

begin

messagedlg('请输入新密码',mtwarning,[mbok],0);

NewPasswordEdit.SetFocus;

exit;

end;

ifsubmitEdit.Text=''then

begin

messagedlg('请输入确认密码',mtwarning,[mbok],0);

submitEdit.SetFocus;

exit;

end;

//判断两次输入的新密码是否相同

iftrim(newpasswordedit.Text)<>trim(submitedit.Text)then

begin

messagedlg('请重新输入,新密码与确认密码不一致!

',mtinformation,[mbok],0);

NewPasswordEdit.Text:

='';

submitEdit.Text:

='';

newpasswordedit.SetFocus;

end

else

begin

withdatamd.ADOchangedo

begin

close;

sql.Clear;

sql.Add('select*fromLoginInwheresername='''+usernameedit.Text+''''+'anduserId='''+oldpasswordedit.Text+'''');

open;

ifeofthen//当没有查询到该记录时,就说明当前为空

b

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

当前位置:首页 > 表格模板

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2