教师管理系统毕业设计论文

上传人:jin****ng 文档编号:58571254 上传时间:2022-02-28 格式:DOC 页数:19 大小:643KB
收藏 版权申诉 举报 下载
教师管理系统毕业设计论文_第1页
第1页 / 共19页
教师管理系统毕业设计论文_第2页
第2页 / 共19页
教师管理系统毕业设计论文_第3页
第3页 / 共19页
资源描述:

《教师管理系统毕业设计论文》由会员分享,可在线阅读,更多相关《教师管理系统毕业设计论文(19页珍藏版)》请在装配图网上搜索。

1、1. 系统需求说明本系统的最终用户为宿舍楼管理员,本宿舍楼的学生。(1) 入校时,每位同学都有唯一的学号,并被分配到指定的宿舍楼和指定的宿舍,也会有一 个宿舍号,其入校时间就是他的入住时间。另外,为了管理上的方便,同一院系的学生的宿舍一般 在一起,相应地会有其所在的院系名称。(2) 每间宿舍都有唯一的宿舍号,入校时,宿舍会装公用电话机,相应地就有宿舍电话号码。 和宿舍的人员(3) 宿舍楼在指定的时间关门(比如晚上11点),若有同学晚于关门时间回宿舍,需通知宿 舍楼管理员,同时应登记晚归学生学号,宿舍号,时间和晚归原因,以利于学校的管理和查证。(4) 每当放寒假或暑假时,同学们大部分都会回家;每

2、当五一”或“十一”放假时,同学们也有很多不会留在宿舍。为加强学校对同学假期安全的管理,离校的同学应登记离校时间,待返校后记录返校时间,以便学校查证和管理。基于以上的需求:(1) 宿舍楼管理员能查询上面提到的宿舍楼的所有相关信息,包括某一学号的学生在宿舍楼 中住宿的详细信息和夜归的详细信息和学生离返校的信息。以利于对整个宿舍楼的全面管理。(2) 当学生基本信息发生变化时,宿舍楼管理员能对其进行修改。比如,某些同学搬到其他 的宿舍中去,他们在本宿舍楼中相应的记录就应该删去;或者学生转换专业,他们记录中院系的信 息也要作相应的修改等等。(3 )本宿舍楼的学生能查询其所在的宿舍的所有信息,2. 数据库

3、结构设计使用E-R图表示对数据库中要存储的信息及语义进行详细描述;(2)逻辑结构设计住宿学生表:属性名类型长度备注学号char20住宿学生学号姓名char20住宿学生姓名性别char4专业char40学生专业佰舍号char6住宿学生宿舍号入住时间date8新生搬入时间宿舍表:属性名类型长度备注佰舍号char6宿舍电话char15密码表:属性名类型长度备注用户明char20密码char20用户类型tnyint1管理员或学生离校表:属性名类型长度备注学号char20离校学生姓名佰舍号char6离校学生宿舍号离校时间date8学生离校时间返回时间date8学生返校时间详细描述将E-R图转换成关系模型

4、的过程以及对关系模式的规范化,至少达到3NF) ( 3) ( 3)物理结构设计以表格形式详细描述系统需要的基本表及属性、视图和索引,对基本表的主键、候选键、外键 及被参照表进行说明,对基本表中数据的约束条件进行说明。3. 系统功能设计学生部分:1、处理用户注册2、处理用户登录3、用户可以查询学生信息。4、用户可以修改用户自己密码。管理员部分:1、处理管理员登录2、管理员可以查询学生信息。3、管理员可以插入与查询学生夜归信息。4、管理员可以查询在校与离校学生信息。5、管理员可以修改管理员密码4. 系统实现(1)本软件是基于 SQL Sever 2000和Visual C+6.0的软件开发环境和至

5、少奔腾以上处理器以 上(2) 首先按照上边所设计的逻辑结构,创建数据库,并输入部分数据,例如在密码表中输入用户名为ys密码为1用户类型为管理员和一个用户名为wj密码为0的学生类型的数据。利用系统自带的 ODBC数据库管理器建立一个名为“宿舍管理”的数据源。(3) 建立名为“宿舍管理”的工程。设计用户登录窗口说明:登录串口分为两种一种是管理员登录,一种为用户登录(1 )添加对话框类为 psw,并在psw类中添加 CDatabase类型的变量 m_database和Crecordset 类型的变量 m_recordset; 并且添加相应的全局变量extern CString username,us

6、erpower;(2)添加消息相应函数,并编写如下代码UpdateData(true);if(!m_database .1 sOpe n ()if(m_database.Open(_T(宿舍管理)m_crecordset.m_pDatabase=&m_database;CString sql,select;if(m_select.GetCurSel()=0)select=管理员; elseselect=学生;sql.Format(select * from 密码表 where 用户名=%s and 密码=%s and 用户类 型=%s,m_username,m_psw,select);m_cr

7、ecordset.Ope n( CRecordset:forward Onl y,sql);if(m_crecordset.GetRecordCo un t ()=0)MessageBox(用户名密码错误”);else userpower=select;CDialog:O nOK();m_crecordset.Close ();m_database.Close ();elseMessageBox(不能打开数据库”);F210P设计启动界面。加载 MFC组建Csplash并设置启动时间为1500ms0708030220相应的代码如下:int CSplashWnd:O nCreate(LPCREA

8、TESTRUCT lpCreateStruct) if (CWnd:O nCreate (l pCreateStruct) = -1)return -1;/ Cen ter the wi ndow.CenterWindow();/ Set a timer to destroy the splash screen. SetTimer(1, 1500, NULL);return 0; 在资源中加入一张位图 IDB_BITMAP1 并且在 Ondraw 函数中加入下列代码,以实现单文档背景 void CMy2View:OnDraw(CDC* pDC)CMy2Doc* pDoc = GetDocume

9、nt();ASSERT_VALID(pDoc);CBitmap m_Bitmap;m_Bitmap.LoadBitmap(IDB_BITMAP3);/设备上下文/创建内存设备上下文/将位图选人设备上/声明 BITMAP 对象/获得位图信息/获得位图的宽度/获得位图的高度/声明区域对象/获得编辑框客户区CDC memDC;memDC.CreateCompatibleDC(pDC); memDC.SelectObject(&m_Bitmap);下文BITMAP m_Bmp;m_Bitmap.GetBitmap(&m_Bmp);int x = m_Bmp.bmWidth;int y = m_Bmp.

10、bmHeight;CRect rect;GetClientRect(rect);/绘制位图背景域pDC-StretchBlt(0,0,rect.Width(),rect.Height(),&memDC,0,0,x,y,SRCCOPY); memDC.DeleteDC();/ TODO: add draw code for native data here 设计用户注册对话框运行后效果学生洼册学号性别姓名袁帅专业 计算机宿舍号8_506学生信息議輝翩踽鑼:2皿注册1RH * imiiiarviHiirann mi ill*退出图为输入注册相关信息后的界面void zhuce:O nOK()Upd

11、ateData(l);if(!m_database .1 sOpe n()if(!m_database.Open(_T(” 宿舍管理)MessageBox(不能打开数据库!);if(!(m _n ame&m _zhua nye&m_sn o)MessageBox(输入信息不完整,不能入库!);elseCStri ng strSQL,sex;if(m_sex.GetCurSel()=O)sex=男;elsesex=女;strSQL.Format(insert into住宿学生(学号,姓名,性别,专业,宿舍号,入住时间) values(%s,%s,%s,%s,%s,%s),m_s no,m_n a

12、me,sex,m_zhua ny e,m_rooms no, m_data);m_database.ExecuteSQL(strSQL);MessageBox(注册成功!,学生注册);m_database.Close();CStri ng str;str.Format(”学号:%s性别:%s姓名:srn专业:%s宿舍号:%s入住时 间:sr n,m_s no,m _n ame,sex,m_zhua ny e,m_rooms no,m_data);m_sql+=str;UpdateData(O);CDialog:O nOK();学生查询和管理员查询工具栏中的两个“学生查询”和“管理员查询”对应于

13、一个对话框。只是查询时查询的结果处理不同,当时学生查询时,只能查自己的,管理员课以查看全部学生时,运行界面:当是管理员时,其查询界面为:查询至统竽号用户类别|管理员 J宿舍号)8-506学号1姓名专业宿舍号 1住宿时可070803.王新平i-8 5010070803.袁帅舅V叽3_5062007 9 1070803.吴金刚叽8_506.2007 070803.田洪涛男V叽8 506.200707寰询学生信息査询宿舍信息删除学生信息退出列表控件初始化代码:BOOL stu_check:OnlnitDialog()CDialog:O nlni tDialog();/ TODO: Add extra

14、 ini tialization heremist.lnsertColumn(0,学号);mist.lnsertColumn(1,姓名);mist.lnsertColumn(2,性别);mist.lnsertColumn(3,专业);m_list.lnsertColumn(4,宿舍号);mist.lnsertColumn(5,住宿时间”);CRect r;mist.GetWi ndowRect(&r);int wid=r.Width ();for(i nt i=0;i-CDms()八 if(一 mldaQrbasesopen() 宀if(mldafabase.open(IT(=a哺區=)宀cs

15、=ring s=rSQLS mlrecordsemlpDaQrbaseuQOmldaQrbasp if(userpowerH=哺區洒=) 宀s=rSQLFOrmaf(=se-ecf * from 审战where4u-%s-=mlsno= mlrecordse!-*open(AFXIDBIUSEIDEFAULTITYPEgrsQL=e-seSFOrmaf(=se-ecf * from 审战舟=)八 mlrecordse!-*open(AFXIDBIUSEIDEFAULTITYPEn= mlrecordse!-*open(AFXIDBIUSEIDEFAULTITYPEn=rSQL= mlrecor

16、dse!-*MoveFirso八 infllo 八 whi-e (一 mlrecordser*-SEOF() 宀 CSfringCDmp 八 ml=s!-*-nsert-fem(iJemp)八 mis!-*sef-CDmTexf(ioymlrecordse!-*mlco-umnl )八 mis!-*sef-CDmTexf(L 严 mlrecordse!-*mlco-umn2 )八 mis!-*sef-CDmTexf(L2ymlrecordse!-*mlco-umn3 )八 mis!-*sef-CDmTexf(L3mlrecordse!-*mlco-umn4 )八 mis!-*sef-CDmTe

17、xf(L4ymlrecordse!-*mlco-umn5 )八 mis!-*sef-CDmTexf(L5ymlrecordse!-*mlco-umn6 )八+ mlrecordse!-*MoveNexf()八 updaCDDaQr(o)八m_database.Close();学生与管理员密码修改:添加确认消息函数;UpdateData(l);if(!m_database .I sOpe n()if(!m_database.Open(_T(” 宿舍管理)MessageBox(不能打开数据库);m_recordset.m_pDatabase=&m_database;CStri ng strSQL;

18、strSQL.Format(select * from 密码表 where 用户名=%s and 密码=%s ”,m_username,m_oldpsw);m_recordset.Ope n( CRecordset:forward Onl y,strSQL);if(m_recordset.lsBOF() 记录集为空MessageBox(用户密码不正确,请重新输入”);elseif(m_n ewpsw!=m _n ewpsw2)MessageBox(两次输入密码不一致,请重新输入);elsestrSQL.Format(update 密码表 set 密码=%swhere 用户名=%s,m _n e

19、wpsw2,m_username);m_database.ExecuteSQL(strSQL);MessageBox(密码修改成功”);UpdateData(O);m_recordset.Close();m_database.Close();管理员具有查询学生离校的情况:查询代码:void stu_check1:OnOK()/ TODO: Add extra validation hereUpdateData(1);if(userpower!= 管理员 )MessageBox( 非管理员不能进行此项操作! );return;elseif(!m_database.IsOpen()if(!m_da

20、tabase.Open(_T( 宿舍管理 )MessageBox(Cannot open database!, 信息查询 );return;CString strSQL;m_recordset.m_pDatabase=&m_database; strSQL.Format(select * from 离校 where 学号 =%s,m_sno); m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL); if(m_recordset.GetRecordCount()=0)MessageBox( 宿舍没有此人 !, 学生信息查询 );m_recordset

21、.Close();m_database.Close();return;m_list.DeleteAllItems();m_recordset.MoveFirst();int i=0;while(!m_recordset.IsEOF()CString temp;m_list.InsertItem(i,temp);m_list.SetItemText(i,0,m_recordset.m_column1 );m_list.SetItemText(i,1,m_recordset.m_column2 );m_list.SetItemText(i,2,m_recordset.m_column3 );m_l

22、ist.SetItemText(i,3,m_recordset.m_column4 ); i+;m_recordset.MoveNext();UpdateData(0);m_database.Close();当学生回来后要删除其离校记录:删除代码同上;创建工程文件及窗体,添加所需的控件,为相应控件的事件编写代码,以实现目标功能。 (在 此包括:代码、运行后的界面)五、实验总结在本次实验前我本来打算做好友管理系统,后来了解到做通讯录的同学较多,就放弃了原来的想法,想到宿舍管理好像更有用和实际,所以就导致了最终的实验结果。在本次实验前我花了大量的时间去了解VC+ 在 ODBC 中的使用方法并且看了

23、像 visual c+SQL severSQL sever实验指导Visual C+数据库卡发Visual C+从入门到精通等数据库 相关书籍。 开始时觉得有好多都不理解, 不明白。后来通过老师和同学的帮助总算大概了解了 Visual C+ SQL sever 的开发步骤和开发方法。通过这次的实验我也了解到一些关于ADO 编程的基本方法,虽然在实验中没有使用但我觉得 Visual C+ADO 开发功能更加强大,所以我决定利用寒假的 有效时间再好好做做 ADO 的数据库编程。本次实验中:通过反复的实验了解了(1)有关记录集的使用和数据库的基本连接( 2)基本的增删改查功能 (3)在用列表控件显示数据与用列表控件删除数据时的一些错误 ( 4) 由于管理员和普通学生都拥有查询的功能, 但是他们查询的范围又不一样, 这就必须全局变量来予以控制,并处以不同的尚未解决的问题:SQL 执行( 5)在进行界面处理时的启动界面的显示(1)在使用不同变量类型的变量时函数的使用方法的模糊(2)美化界面的基本方法( 3) 不同权限的用户使用同一对话框时的不同处理方法写出收获和体会,包括已解决和尚未解决的问题,进一步完善的设想与建议。 )

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!