asp课程设计-作业提交系统.doc

上传人:豆**** 文档编号:23870690 上传时间:2022-07-02 格式:DOC 页数:76 大小:753KB
返回 下载 相关 举报
asp课程设计-作业提交系统.doc_第1页
第1页 / 共76页
asp课程设计-作业提交系统.doc_第2页
第2页 / 共76页
点击查看更多>>
资源描述

《asp课程设计-作业提交系统.doc》由会员分享,可在线阅读,更多相关《asp课程设计-作业提交系统.doc(76页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateasp课程设计-作业提交系统asp课程设计-作业提交系统 湖南工业大学课 程 设 计资 料 袋 计算机与通信 学院(系、部) 2009-2010 学年第 2 学期 课程名称 WEB程序设计 指导教师 欧阳旻 职称 讲师 学生姓名 肖君诺 专业班级 计本073 学号 07408100321 题 目 作业提交系统 成 绩 起止日期 2010 年 6 月 12 日 2010

2、 年 6 月 20 日目 录 清 单序号材 料 名 称资料数量备 注1课程设计任务书12课程设计说明书13课程设计报告1张WEB程序设计课程设计说明书 作业提交系统起止日期: 2010 年 6 月 12 日 至 2010 年 6 月 20 日学生姓名肖君诺班级计本073班学号07408100321成绩指导教师(签字)计算机与通信学院(部)2010年 6月 20 日教师评语:成绩: 指导教师: 年 月 日一、 实训题目ASP动态网页设计作业提交系统二、 实训目的进一步巩固和加深“ASP动态网页设计”课程的基本知识,了解ASP动态网页设计知识在实际中的应用。综合运用“ASP动态网页设计”课程和先修

3、课程的理论及生产实际知识去分析和解决问题,进行的相关训练。学习ASP动态网页设计的一般方法,了解和掌握通用数据库的连接、数据的相关操作或网站的设计过程和进行方式,培养正确的设计思想和分析问题、解决问题的能力,特别是网站功能规划的能力和实现相关功能的能力。通过能系统的分析、系统设计、数据库设计和功能的实现等,培养ASP动态网页设计的基本技能三、 设计概述设计一个网上作业提交系统设计要求:系统要求教师具有网上作业的布置、题库的修改、解答学生提问等功能,学生用户具有选择章节选择作业、提交作业、查看作业结果等功能。四、 设计思想基于系统开发需要,我们采用了 一下几种技术进行开发:运用ASP做服务端的业

4、务逻辑处理,用DreamweaverCS4进行网页设计,主要利用表单和表格进行数据的展现,用JavaScript进行客户端的验证和事件处理,采用大型数据库SQLServer2005存储数据,用ADO存取数据库,采用OLEDB方式连接数据库,并采用第三方组件ASPUpload进行文件上传,灵活运用。系统的开发主要环境为DreamweaverCS4+IIS5.1服务器+SQLServer2005,这是开发ASP动态网站的理想选择。五、 设计任务本系统包括:管理员,老师,学生三个角色,分别实施不同的动作管理员:院系管理,班级管理,课程管理,用户审核与修改,提问的删除。老师的课程,班级课程的安排等新注

5、册的用户需要管理员审核通过之后才能登录。管理员可以修改增设院系,给院系添加班级,给班级安排课程。课程安排,哪些老师能教什么课,给班级安排课程,一个老师能教多门课程,一个班级有多门课程,两个班级有同一门课程都有可能不是同一个老师教。所以班级、老师、课程这三个实体之间两两都有多对多关系。老师:题库管理,回答提问,布置作业,评阅作业布置作业,作业随机生成,由题库中取出,学生提交过一次之后,记录这次的题目,在老师还没有评阅之前,学生还可以修改。评阅作业,选择题,判断题由电脑阅卷,填空,问答,应用题由老师评阅,最后计算总分,修改状态,公布答案,供学生查看学生:做作业,提问六、 设计要求采用Dreamwe

6、averCS+ASP+SQLSever2005综合进行课程设计,开发一个动态网站系统。要求能够根据设计题目的要求,划分功能模块;根据功能模块的划分,进行相应的数据库设计;画出程序流程图,列出组成网页的文件清单;完成程序代码;对各模块进行整合,并进行调试;编写课程设计报告。七、设计步骤(包括流程图或框图)7.1、总体结构设计系统主要的功能模块如下:作业提交系统管理员老师学生院系管理班级管理课程管理用户管理布置作业评阅作业在线作业查看作业学生提问提问管理题库管理回答提问7.2、数据库设计 物理结构设计7.3 数据字典 略八、设计代码(程序设计类课程)1、连接数据库文件 conn.asp2、编码转换

7、 和权限验证文件 encoding.asp%以上为编码转换得到当前页面的地址 Function GetUrl() On Error Resume Next Dim strTemp If LCase(Request.ServerVariables(HTTPS) = off Then strTemp = http:/ Else strTemp = https:/ End If strTemp = strTemp & Request.ServerVariables(SERVER_NAME) If Request.ServerVariables(SERVER_PORT) 80 Then strTemp

8、 = strTemp & : & Request.ServerVariables(SERVER_PORT) strTemp = strTemp & Request.ServerVariables(URL) If Trim(Request.QueryString) Then strTemp = strTemp & ? & Trim(Request.QueryString) GetUrl = strTemp End Function %if session(roleid)= then session(roleid)=0response.Redirect(loginput.asp)end ifdim

9、 url,realurlrealurl=GetUrl()得到请求的地址url=Request.ServerVariables(URL)response.Write(url&-&left(url,14)if left(url,14)=/network/admin then 判断请求的是否是 文件夹admin里面的资源,如果是则判断是否admin,不是则返回登陆,说明权限不足if session(roleid)1 then response.Redirect(./loginput.asp?message=&server.URLEncode(你不是管理员,权限不足.) end ifelseif le

10、ft(url,16)=/network/teacher thenif session(roleid)1 and session(roleid)2 then response.Redirect(./loginput.asp?message=&server.URLEncode(你不是老师,权限不足.) end ifend if%3、在线作业生成页面 dowork.asp mainFrm 在线作业 % dim sql,uid,wid,makepolicy,courseid,levelid,showans dim selectnum,selectpoint,judgenum,judgepoint,fi

11、llspacenum,fillspacepoint,essaynum,essaypoint,applicationnum,applicationpoint wid=request.QueryString(wid) uid=session(uid) rs.Open select w.state ,w.showans,w.workname,w.levelid,levelname,w.courseid ,coursename, maxtime ,makepolicy,remark from work as w,course as c,courselevel as cl where w.coursei

12、d=c.courseid and w.levelid=cl.levelid and wid=&wid If rs.EOF Then response.write 没有记录 Else courseid=rs(courseid) levelid=rs(levelid) response.Write( 作业名:&rs(workname)&)response.Write( 课程:&rs(coursename)& ) response.Write( 章节:&rs(levelname)&)response.Write( 答题时间:&rs(maxtime)& 分钟)response.Write( 备注:&r

13、s(remark)&)makepolicy=rs(makepolicy)showans=rs(showans)End If rs.closedim arrdim arr2,arr3arr=split(makepolicy,chr(9)dim iFor i=1 To ubound(arr)arr2=split(arr(i-1),:)arr3=split(arr2(1),)select case arr2(0)case select selectnum=arr3(0)selectpoint=arr3(1)case judge judgenum=arr3(0)judgepoint=arr3(1)ca

14、se fillspace fillspacenum=arr3(0)fillspacepoint=arr3(1)case essay essaynum=arr3(0)essaypoint=arr3(1)case application applicationnum=arr3(0)applicationpoint=arr3(1) end select Nextresponse.Write()查找是否已经提交过dim prevquestions,otherans,hasdo,youansArr,thestatehasdo=0rs.Open select * from dowork where uid

15、=&uid& and wid=&wid If not rs.EOF Then hasdo=1prevquestions=rs(questions)otherans=rs(otherans)youansArr=split(otherans,chr(9)thestate=rs(state)response.Write(otherans& &youansArr(0)end ifrs.closefunction getYouAns(quizid,quiztype)dim tansfor i=0 to ubound(youansArr) if left(youansArr(i),len(quiztype

16、)=quiztype then tans=mid(youansArr(i),len(quiztype)+2) exit for end ifnextresponse.Write(tans& - )youansArr2=split(tans,)for i=0 to ubound(youansArr2) if quizid&=left(youansArr2(i),len(quizid&) then getYouAns=mid(youansArr2(i),len(quizid&)+2)response.Write(&left(youansArr2(i),len(quizid&)&)exit fore

17、nd ifnextresponse.Write(getYouAns)end functionfunction findArr(arr,num1,ind)在数组中查找 是否有该数字 如果有则返回1dim jfindArr=0response.Write(num :&num1& ind:&ind&)for j=1 to indresponse.Write(arr(j-1)&find )if arr(j-1)=num1 then findArr=1 exit for end ifnextend function 在数据库中查找出来的合理数据的索引号中 随机生成num2个 不同的数字function

18、getRandArr(num2,maxnum)dim rand ,i1,indexs1()redim indexs1(num2-1)randomize 产生随机化种子for i1=1 to num2do rand =int(maxnum*rnd)+1 产生随机数loop while findArr(indexs1,rand,i1)=1 如果在数组中没有找到 则跳出循环 说明生成了一个有效的 索引 随机数indexs1(i1-1)=rand 将随机数 赋值给索引数组nextgetRandArr=indexs1 end function输出一类题目function makequiz(qtype,q

19、uenum,qpoint)response.Write()如果已经提交过 则解析出提交过的题目的iddim qidsqids=if hasdo=1 thendim qarr,qiqarr=split(prevquestions,chr(9)for qi=0 to ubound(qarr)if left(qarr(qi),len(qtype)=qtype thenqids= mid(qarr(qi),len(qtype)+2)response.Write(qids)exit for end ifnextqids= and qid in (&qids&)quenum=split(qids,)que

20、num=ubound(quenum)end ifdim sqltestsqltest=select * from quiz where qtype=&qtype& and courseid=&courseid & and levelid=&levelid&qidsrs.Open sqltest If rs.EOF Then response.write sqltest Else dim indexs,i2if cint(rs.RecordCount)=cint(quenum) then 随机生成quenum个数字从 1rs.recordcount中indexs=getRandArr(quenu

21、m, rs.recordcount)elseresponse.Write(warning:题库中没有足够的题目,需要&quenum&个,题库中只有&rs.recordcount&个)end ifFor i2=1 To rs.RecordCountIf rs.eof Then Exit Forif cint(rs.RecordCount)=cint(quenum) then 如果题库中的题目数量少于要求的数量则不随机 直接全部输出outquiz(qpoint/quenum)elseif findArr(indexs,i2,quenum)=1 then 题库中有足够多的题目,则查找数组中是否有该索

22、引值,有则输出该题目outquiz(qpoint/quenum)end ifend ifrs.movenextNext End Ifrs.closeresponse.Write()end function输出一个题目function outquiz(qpoint)dim qtype,qid,qname,qkeyqid=rs(qid)qtype=rs(qtype)qname=rs(qname)qkey=rs(qkey)qindex=qindex+1questions=questions&,&qidresponse.Write( &qindex&. &qname&(&formatnumber(qp

23、oint,1)&分)dim youansyouans=-1if hasdo=1 then如果是已经提交过 则处理以前做过的答案youans=getYouAns (qid,qtype)if showans=1 or thestate=已评阅 then如果设定了显示答案 或者 已评阅 则 输出正确答案if qtype=select or qtype=judge thenif youans=rs(qkey) then response.Write( )elseresponse.Write( )end if end ifresponse.Write( 正确答案:&qkey&)end ifif qtyp

24、e=select thenif youans then youans=Asc(youans)-Asc(A)end ifend ifend ifresponse.Write()dim checkselect case qtypecase selectdim ansArr1,ansArr2ansArr1=split(rs(qoption),)for i=0 to ubound(ansArr1)ansArr2=split(ansArr1(i),:)check=if youans=i then check=checked=checked end ifresponse.Write(  

25、;  &ansArr1(i)&)nextcase judgedim check1,check2if youans=1 then check1=checked=checked end ifif youans=0 then check2=checked=checked end ifresponse.Write(   是 不是)case fillspaceresponse.Write(这 是 摆 设)case essayif youans=-1 then youans=答: end ifresponse.Write(&youans&)case applicat

26、ionif youans=-1 then youans=解: end ifresponse.Write(&youans&)end select end function% form action=doworkaction.asp?p=&wid= method=post %questions=questions&select:0response.Write(一、选择题:&selectnum&个 分值:&selectpoint&)makequiz select,selectnum,selectpoint% %questions=questions&chr(9)&judge:0response.Wr

27、ite(二、判断题:&judgenum&个 分值:&judgepoint&)makequiz judge,judgenum,judgepoint% %questions=questions&chr(9)&fillspace:0response.Write(三、填空题:&fillspacenum&个 分值:&fillspacepoint&)makequiz fillspace,fillspacenum,fillspacepoint % %questions=questions&chr(9)&essay:0response.Write(四、简答题:&essaynum&个 分值:&essaypoin

28、t&)makequiz essay,essaynum,essaypoint% %questions=questions&chr(9)&application:0response.Write(五、应用题:&applicationnum&个 分值:&applicationpoint&)makequiz application,applicationnum ,applicationpoint% input type=hidden name=questions value= / input type=hidden name=cid value= / input type=hidden name=uid value= / %if request.QueryString(p)showans then response.Write( )end if% /cen

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁