ImageVerifierCode 换一换
格式:DOC , 页数:16 ,大小:277.49KB ,
资源ID:1675066      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/1675066.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(课程设计——教学管理系统.doc)为本站上传会员【胜****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

课程设计——教学管理系统.doc

1、 1. 课程设计的目的与要求 1.1设计目的 设计一个简单的教学管理系统,要求存储学生基本情况、课程基本情况,教师授课情况与学生成绩记录等,提供成绩录入、信息查询等功能以满足日常教学管理需要。对学生的成绩的管理、查询学生的各科成绩的学生成绩管理系统。该系统可以帮助我们更方便的管理学生的成绩,替代了以前的手工操作管理学生的成绩,节约我们珍贵的时间。而且老师和学生可以以不同个的身份登录,获得不同的操作权限,有效的提高教学管理系统的工作效率。 1.2设计要求 (1)软件开发环境: 操作系统:Windows 7; 数据库使用软件:Microsoft Office Access 2003

2、 开发工具: Microsoft Visual C++6.0 (2) 功能需求 按照提供的各表的数据结构和数据创建数据库与表 实现学生基本情况、课程基本情况、教师授课表情况及学生成绩的数据录入与编辑、删除等。 能够按姓名查询教师授课情况。 1.3 系统总体设计的体系结构图 设计系统的体系结构图 见下页 教学管理系统 教师管理系统 学生管理系统 学生基本

3、课程管 信息管理 理系统 课程基本 学生课程 信息管理 成绩管理 图1. 设计系统的体系结构图 2. 数据库设计 数据库技术是信息资源管理最有效的手段,它是指对于一个给定的应用环境,利用现有的数据库管理系统构造最优的数据库模式,建立数据库及其应用系统,有效存储数据,满足用户信息要求和处理要求。本系统的数据库是采用Microsoft

4、Office Access 2003设计的。 数据库设计分为6个阶段:需求分析阶段、概念结构设计阶段、逻辑结构设计阶段、数据库物理设计阶段、数据库实施阶段、数据库运行和维护阶段。数据库应用系统经过调试运行后即可投入正式运行。在数据库系统运行过程中,必须不断地对其进行评价、调整与修改。设计一个完善的数据库应用系统不可能一蹴而就,它往往是上述6个阶段的不断反复。  2.1 系统数据库概念结构设计 2.1.1 局部E-R图 将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计。它是整个数据库设计的关键所在。它是现实世界的一个真实模型,表达自然、直观,又易于理

5、解。根据学生成绩管理的需求分析建立局部和全局ER图,如下所示。 (1)局部E—R设计 由在系统中描述课程实体的相关信息有专业号,班级号,设计该实体ER图如图2所示。 课程 课程号 课程名 学 时 图2 实体课程局部ER图 由在系统中描述教师实体的相关信息教师姓名,课程号,授课日期,设计该实体ER图如图3所示:系别 教师 教师姓名 性别 图3 实体教师局部ER图 年龄 学生 学生姓名 学号 系别 班级 性别 由在系统中描述学生实体的相关信息有学号,学生姓名,系别,班级,性别,年龄,设计该实体ER图如

6、图4所示: 图4 实体课程局部ER图 2.1.2 系统全局ER图 学生系别 图8 全局ER图 图8 全局ER图 年龄 图8 全局ER图

7、图8 全局ER图 成绩 学号 姓名 教师姓名 性别 学生 班级 讲授 教师 选修 教师系别 性别 课程 课程号 学时 课程名 图6 全局ER图 2.2 数据库逻辑设计 根据系统的需要还要全局ER图向关系模型的转换,要遵循以下规则: (1)一个实体转换为一个关系模型式。实体的属性就是关系的属性,实体的键就是关系的键。如学生实体可以转换为如下关系模式,其中学号为学生关系键。 学生(学号,学生姓名,性别,系别,班级,年龄) 同样课程、教师分别转换为一个关系模式,如下: 课程(课程号,课程名,学

8、时) 教师(教师姓名,教师系别,性别) (2)一个m:n联系转换为一个关系模式。与该联系相连的各实体的键以及联系本身的属性均转换为关系的属性,而关系的键为各实体键的组合。如在成绩联系是一个m:n联系,可以将它转换为如下关系模式,其中学号与课程号为关系的组合键。 成绩(学号,课程号,成绩) 2.3 创建系统数据库与表 创建数据库的过程实际上就是为数据库设计名称,设计所占用的存储空间和存放文件的位置过程等。使用Microsoft Office Access 2003创建数据库,其中数据库中包含了5个表。 (1) 打开Microsoft Office Access 2003,单击文件

9、—>新建。 (2) 在右边新建文件夹菜单下,选择“空数据库”菜单选项,单击它,系统会显示新建数据库的位置及名称对话框。 (3) 在文件名一栏输入一个数据库名为“JWXT(教学管理系统)”,点击“创建”。 (4) 在出现的对话框下选择“对象”—>“表”—>“使用设计器创建表”,然后输入所需创建的表的列名、数据类型、长度、是否允许为空、默认值、主键。 (5) 然后点击各表名进行数据的添加、修改、删除。 在此系统数据库中设计了6个表,分别是学生信息表(Student)、课程信息表(Course)、 教师信息表(Teacher)、教师授课表(Teachercourse)、学生选课表(Sel

10、ectcourse)、学生成绩表(Score)。 具体数据定义和内容设计如下面表1——表14所示。 学生信息表(Student)结构: 表1 列名 数据类型 长度 是否允许为空 说明 sno(学号) 文本 5 N 主键 sname(姓名) 文本 10 N ssex(性别) 文本 2 Y sdept(系别) 文本 10 N sclass(班级) 文本 2 N sage(年龄) 数字 4 Y 学生信息表(Student)内容: 表2 sno sname sdept sclass ssex

11、 sage 0001 小花 电子系 01 女 19 0002 小华 电子系 01 男 20 0003 小小 电子系 01 男 20 0004 小兰 电子系 02 女 21 0005 小许 电子系 02 男 20 课程信息表(Course)结构: 表3 列名 数据类型 长度 是否允许为空 说明 cno(课程号) 文本 3 N 主键 cname(课程名) 文本 16 N ctime(学时) 数字 Y 课程信息表(Course)内容: 表4 cno cname ctime

12、 001 电路理论 40 002 信号与系统 48 003 工程磁场 56 F01 电机学 72 F02 管理学 32 G01 电子设计自动化 40 G02 日语入门 32 教师信息表(Teacher)结构: 表5 列名 数据类型 长度 是否允许为空 说明 tname(教师姓名) 文本 10 N 主键 tdept(教师系别) 文本 10 Y tsex(性别) 文本 2 Y 教师信息表(teacher)内容: 表6 tname tdept tsex 安大 电力系 男 柴琴 外语系

13、 女 丁小小 电子系 女 董会 电力系 女 董美美 电子系 女 罗华 自动化系 男 杨梅 经管系 女 教师授课表(Teachercourse)结构: 表7 列名 数据类型 长度 是否允许为空 说明 tname(教师姓名) 文本 10 N 主键 cno(课程号) 文本 5 N 主键 time(授课日期) 文本 Y 教师授课表(Teachercourse)内容: 表8 tname cno time 安大 003 2014-04-05 柴琴 G02 2014-04-06 丁小小 001 2

14、014-03-01 董会 F01 2014-04-22 董美美 002 2014-04-12 罗华 G01 2014-04-13 杨梅 F02 2014-04-18 学生选课表(Selectcourse)结构: 表9 列名 数据类型 长度 是否允许为空 说明 sno(学号) char 5 N 主键 cno(课程号) char 5 N 主键 学生选课表(Selectcourse)内容: 表10 sno cno 0001 001 0001 G01 0002 002

15、 0002 G02 0003 003 0003 F02 0004 F01 0005 F02 学生成绩表(Score)结构: 表13 列名 数据类型 长度 是否允许为空 说明 sno(学号) 文本 5 N 主键 cno(课程号) 文本 5 N 主键 score(分数) 数字 5,2 Y 学生成绩表(score)内容: 表14 sno cno 分数 0001 001 98 0001 G01 89 0002 002 87 0002 G02 86 0003 003 90 0003 F02

16、 76 0004 F01 85 0005 F02 93 2.4 创建数据库关系图 图7 3.应用软件的实现 在Microsoft Visual C++6.0 中开发系统的第一步就是创建一个该系统的工程,来编写管理系统中的各种资源和代码。 3.1 创建工程的步骤 (1)打开Microsoft Visual C++6.0 开发环境,在菜单中依次选择“文件”—>“新建”菜单。 (2)在新建对话框窗口选择“工程”菜单下的“MFC AppWizard【exe】”,同时在右边选择存储路径及为工程命名,然后单击“确定”按钮。 (3)在接下来出现的MFC应用程序向导步骤

17、1中创建的应用程序类型选择单文档,语言为中文简体,接下来步骤2~6选择默认设置。 这样,教学管理系统工程就创建完成。 3.2 向单文档窗口添加菜单项 (1) 在菜单栏中依次添加菜单名“学生”和“老师”以区分学生和老师的功能 (2) 在“学生”下添加菜单选项“教师授课情况”,在“教师”下分别添加菜单选项“学生情况”、“课程名基本情况”、“教师授课情况”、“学生成绩”。如图8——图9所示

18、 图8 图9 3) 对菜单项“学生情况”设置ID为ID_person,并点击建立类向导,添加单击消息函数响应,添加代码如下: void CMainFrame::Onperson() { // TODO: Add your command handler code here CGS m; m.DoModal(); } 并在该类预定义那添加头函数 #include"GS.h"。“课程名基本情况”、“教师授课情况”、“学生成绩”、“教师授课查询”菜单消息响应添加同上。 3.3 对话框的设

19、计 (1) 对话框界面的设计及实现功能展示 ADO数据连接。在RescoureView下打开Dialog插入几个对话框,然后对各个对话框进行控件设置及界面的设计。界面设计及功能实现,如图10——图14所示。 图10 图11 (2) 对话框与数据库连接的实现 1) 在文件Header File下的stdAfx.h中引入ADO库代码 #import "c:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF","adoEOF") 2) 初始化COM环境,创建连接对象 在

20、对话框类加入成员变量:ConnectionPtr m_pConnection1; 并实现初始化,代码如下: CGS::OnInitDialog() { AfxOleInit(); m_pConnection1.CreateInstance(_uuidof(Connection)); m_pConnection1->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=jwxt.mdb","","",adModeUnknown); 3) 打开记录集,初始化对话框 在对话框类加入成员变量:_Recor

21、dsetPtr m_pRecordset3; 用ClassWizard给窗口中每个编辑框添加成员变量,本对话框添加了:m_sno, m_sname, m_sdept, m_sclass, m_ssex ,sage 在对话框初始化函数CGS::OnInitDialog()中添加 { m_pRecordset3.CreateInstance(_uuidof(Recordset)); m_pRecordset3->Open("SELECT*FROM Student",m_pConnection1.GetInterfacePtr(),adOpenDynamic,ad

22、LockOptimistic,adCmdText); } 4) 对对话框中各个按钮添加消息响应函数即功能实现的代码,学生基本情况对话框各种功能的实现代码如下: 显示函数: CGS::DispRecord()//在对话框显示数据 { _variant_t theValue1; if(!m_pRecordset3->adoEOF) { theValue1=m_pRecordset3->GetCollect("sno"); if(theValue1.vt!=VT_NULL) m_sno=(char*)_bstr_t(theVa

23、lue1); theValue1=m_pRecordset3->GetCollect("sname"); if(theValue1.vt!=VT_NULL) m_sname=(char*)_bstr_t(theValue1); theValue1=m_pRecordset3->GetCollect("sdept"); if(theValue1.vt!=VT_NULL) m_sdept=(char*)_bstr_t(theValue1); theValue1=m_pRecordset3->GetCollect("

24、sclass"); if(theValue1.vt!=VT_NULL) m_sclass=(char*)_bstr_t(theValue1); theValue1=m_pRecordset3->GetCollect("ssex"); if(theValue1.vt!=VT_NULL) m_ssex=(char*)_bstr_t(theValue1); theValue1=m_pRecordset3->GetCollect("sage"); if(theValue1.vt!=VT_NULL) m_sage=theV

25、alue1.iVal; } UpdateData(false); } void CGS::OnButton5() //前一条函数:可以浏览数据 { // TODO: Add your control notification handler code here m_pRecordset3->MovePrevious(); if(m_pRecordset3->BOF) m_pRecordset3->MoveFirst(); DispRecord(); } void CGS::OnButton6() //后一条:可以浏览数据

26、 { // TODO: Add your control notification handler code here m_pRecordset3->MoveNext(); if(m_pRecordset3->adoEOF) m_pRecordset3->MoveLast(); DispRecord(); } void CGS::OnButton1() //录入函数:在录入数据前先点击录入 { // TODO: Add your control notification handler code here Refresh

27、Data(); try { // 写入各字段值 m_pRecordset3->AddNew(); } catch(_com_error *e) { AfxMessageBox(e->ErrorMessage()); } } CGS::RefreshData()//清空函数 { m_sno=""; m_sname=""; m_sdept=""; m_sclass=""; m_ssex="男"; m_sage=0; UpdateData(FALSE); } void CGS::OnButton4() //保存

28、函数:录入数据后,实现保存数据功能 { // TODO: Add your control notification handler code here UpdateData(TRUE); m_pRecordset3->PutCollect("sno",_bstr_t(m_sno)); m_pRecordset3->PutCollect("sname",_bstr_t(m_sname)); m_pRecordset3->PutCollect("sdept",_bstr_t(m_sdept)); m_pRecordset3->PutCollect("

29、sclass",_bstr_t(m_sclass)); m_pRecordset3->PutCollect("ssex",_bstr_t(m_ssex)); m_pRecordset3->PutCollect("sage",long(m_sage)); m_pRecordset3->Update(); m_pRecordset3->MoveLast(); } void CGS::OnButton3() //删除函数:删除不要的数据 { // TODO: Add your control notification handler code he

30、re try { AfxMessageBox("删除当前记录"); m_pRecordset3->Delete(adAffectCurrent); m_pRecordset3->MoveNext(); if(m_pRecordset3->adoEOF) m_pRecordset3->MoveLast(); DispRecord(); } catch(_com_error *e) { AfxMessageBox(e->ErrorMessage()); } } void CGS::OnButton2() //编

31、辑函数:对数据进行更改 { // TODO: Add your control notification handler code here UpdateData(TRUE); m_pRecordset3->PutCollect("sno",_bstr_t(m_sno)); m_pRecordset3->PutCollect("sname",_bstr_t(m_sname)); m_pRecordset3->PutCollect("sdept",_bstr_t(m_sdept)); m_pRecordset3->PutCollect("sclass"

32、bstr_t(m_sclass)); m_pRecordset3->PutCollect("ssex",_bstr_t(m_ssex)); m_pRecordset3->PutCollect("sage",long(m_sage)); m_pRecordset3->Update(); m_pRecordset3->MoveLast(); } 5) 上述为学生基本情况的对话框实现代码,课程基本情况、教师授课表情况及学生成绩三个个对话框的各功能实现代码与上述代码相似。 6) 对于学生查询教师授课情况主要查询功能实现代码如下: void tc::OnBu

33、tton1() { // TODO: Add your control notification handler code here m_pRecordset.CreateInstance(_uuidof(Recordset)); UpdateData(true); CString strSql; strSql.Format("SELECT*FROM Teachercourse WHERE tname='%s'",m_tname); m_pRecordset->Open(strSql.AllocSysString(),m_pConnec

34、tion.GetInterfacePtr(),adOpenDynamic, adLockOptimistic, adCmdText); _variant_t theValue; if(!m_pRecordset->adoEOF) { theValue=m_pRecordset->GetCollect("tname"); if(theValue.vt!=VT_NULL) m_tname=(char*)_bstr_t(theValue); theValue=m_pRecordset->GetCollect("cno"); if(

35、theValue.vt!=VT_NULL) m_cno=(char*)_bstr_t(theValue); theValue=m_pRecordset->GetCollect("time"); if(theValue.vt!=VT_NULL) m_time=(char*)_bstr_t(theValue); } UpdateData(FALSE); } 4. 课程设计的心得体会 在本次的课程设计中我负责实现的部分是: 1.按照提供的各表的数据结构和数据创建数据库与表 2.实现学生基本情况、课程基本情况、教师授课表情况及学生成绩的数据录

36、入与编辑、删除等。 3.能够按姓名查询教师授课情况。 以上功能基本实现,由于本人是初次开发软件,在知识、经验方面都存在着不足,因此,设计中必然会存在一些缺陷。但是通过这次的课程设计使我对计算机软件设计与基础这门课程有了更深刻的认识,也让我感受到了计算机软件开发工具功能的强大。这次学习过程由于技术知识与时间的限制,我只是通过基础知识设计了简单的功能,如有机会更深入的学习数据库,我会继续完善它。 课程设计完成了,首先非常感谢学校给我们这次机会,让我们扩大了知识量,弥补了知识的欠缺,进一步完善了自我。衷心的感谢老师在设计过程中对我的问题进行耐心的解答,使我的设计顺利完成。我还要感谢我的同学们,在这一阶段给了我极大的帮助。 5. 参考文献 [1]吕兵 曲宝军等编Visual C++从初学到精通,北京:电子工业出版社,2010-6

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服