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

加入VIP,免费下载
 

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

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

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言学习系统.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言学习系统.docx

1、C语言学习系统目录前言 1第一章 需求分析 21.1 需求概述 21.2 各子系统的功能模块及数据流程图 31.3 数据字典 11第二章 数据库设计 122.1概念结构设计 122.2逻辑结构设计 15第三章 系统的详细设计和实现 193.1数据库连接方案 193.2 登录模块的设计 203.3 主界面模块设计 213.4基础知识管理模块设计 223.4.1基础知识学习管理模块设计 223.4.2 函数学习管理模块设计 233.5经典例题管理模块设计 243.6章节试题管理模块设计 253.7二级模拟测试管理模块设计 293.8我的题库管理模块设计 313.9维护管理模块设计 333.10系统

2、管理模块设计 363.10.1 用户管理模块设计 363.10.2 权限管理模块设计 37第四章 软件调试 384.1 软件测试的目标 38f4.2 应用软件测试方法 384.3各功能模块测试 394.4整体测试 39第五章 结论 40参考文献 41致谢 42附录A 43前言C语言程序设计作为大学理工课必修的课程,是其它编程语言的必学入门课程,要求用一种结构化设计的编程思想,学好C语言可以很好地掌握一般程序设计的方法,这对学生来说是非常重要的。学习C语言不仅需要一定的基础知识,而且要求上机练习,而历年来我校学生参加C语言二级考试通过率偏低。由于C语言概念比较复杂,规则繁多,使用灵活,学生在刚刚

3、学习C语言普遍觉得难度太大,学习起来枯燥乏味,不感兴趣。有些同学不能独立解决编译错误问题,有些复杂程序的编程思路不清晰,鉴于这种情况,开发一款功能强大、界面友好的C语言辅助学习软件是很有必要的,它让您在短时间内学懂、学通C语言。本系统作为辅助教学软件实现“以学生为中心”的开放式管理,使学生能够做到自我学习、自我指导、自我检验。本系统在学习数据库的基础上,灵活运用数据库开发软件Delphi和数据库管理软件SQL Server,开发出能供教学使用的C语言学习系统,以方便教学。本系统可供学生使用,学生可以通过使用本系统,巩固C语言基础知识,对自己进行测试,模拟考试国家计算机二级C语言。创建自己的C语

4、言题库。因此,C语言学习系统应有以下功能:1) 基础知识管理:收集了常用C语言知识点和函数,可以供用户浏览和查询。2) 经典例题管理:收录了一些经典编程实例,并作了详细注释,给同学们起到抛砖引玉的作用,使用户了解编程算法,并提高用户阅读程序的能力。 3) 章节试题管理:用户可以通过此模块测试自己,了解自己的不足,起到查缺补漏的作用。4) 二级模拟测试管理:真实模拟二级笔记考试,使用户熟悉二级C语言考试,提高通过国家二级C语言考试的可能。 5) 系统维护管理:用户可以建立自己特有的题库,提高学习效率。 第一章 需求分析1.1 需求概述C语言学习系统从大的方面分主要集中在C语言基础知识的学习、上机

5、学习、例题详解等。所以该系统主要是实现对数据的录入、插入、删除、查询、等功能。其次,开发这个系统的目的就是帮助学生学好C语言、通过国家二级C语言等级考试,再者,为了帮助学生攻破易错点、难点,系统还应包含我的题库功能,用于构建学生自己独特的C语言题库。根据这个系统所要实现的目的和任务,调查分析总结出这个系统最终实现的主要功能如下:1) 基础知识管理:通过对18大类70多个知识点,通过对C语言的一些最基本的语法知识、函数解释和算法详尽的解释说明,学习C语言的基础知识,使学生打牢基础。基础知识管理主要包含基础知识学习和函数学习两个部分。主要通过浏览和查询功能来实现。 知识浏览,用户可以对自己感兴趣的

6、知识点进行查看。 知识查询,用户输入自己想查看的知识点或函数,然后系统显示对应信息。 2) 经典例题管理:收录一些经典编程实例,配有详细的实例代码,从而给学生起到抛砖引玉的作用,使他们能快速的进阶C语言学习。经典例题管理主要包括题目定位、加入题库和答案及分析的查看。 题目定位,可以查看上一题、下一题,也可以自由转到某一题。 答案及分析的查看,用户可以对例题的答案和分析进行查看。 加入题库,用户把做错的题目或者认为比较好的题目加入到自己的题库中。3) 章节试题管理:通过对每章的测试,了解自己的不足,实现自我检测的功能。章节试题管理主要包括题目定位、用户答题、加入我的题库和作答情况显示。 题目定位

7、,用户可以查看上一题、下一题,也可以自由转到某一题。 用户答题,用户根据题目内容选择答案。 加入题库,用户把做错的题目或者认为比较好的题目加入到自己的题库中。 作答情况显示,系统把用户所选择的答案及作答情况进行显示。4) 二级模拟测试管理:模拟考试国家计算机C,使您轻松通过国家计算机等级考试二级C语言。二级模拟测试管理主要包括题目定位、用户答题、作答情况显示和计时。 计时,显示乘余时间,交卷时间到时系统自动提示用户交卷。5) 我的题库管理:方便用户对题目的管理,用户可以添加自己的注释。我的题库管理主要包括题目定位、编辑删除题库、题库情况显示。 题目定位,用户可以查看上一题、下一题,也可以自由转

8、到某一题。 编辑删除题库,用户可添加自己的注释,也可以编辑、删除题目。 题库情况显示,显示题库数量及加入的时间。6) 系统维护管理:管理员可增加删除系统操作人员,并设定操作人员的权限。通过对用户进行权限管理范围设定,减轻操作内容,也可对单个用户权限及范围进行修订,从而保证系统在实施中的灵活性。1.2 各子系统的功能模块及数据流程图C语言学习系统包括系统管理模块、维护模块、基础知识管理模块、经典例题模块、章节试题管理模块、二级模拟管理模块和我的题库管理模块。系统框图如图1.1所示。图1.1 C语言学习系统功能模块框图其中每个功能都由若干相关联的子功能模块组成。C语言学习系统的数据流图如图1.2所

9、示。图1.2 C语言学习系统数据流图1) 基础知识管理基础知识管理主要包含基础知识学习和函数学习两个部分。主要通过浏览和查询功能来实现。包含的功能模块如图1.3所示。图1.3 基础知识管理模块功能框图从以上的分析可以得出其数据流程图,如图1.4所示。图1.4 基础知识管理模块数据流图2) 经典例题管理经典例题管理主要包括题目定位、用户答题、加入我的题库和作答情况显示功能模块如图1.5所示。图1.5 经典例题管理模块功能框图其对应的数据流程图如图2.6所示。图2.6 经典例题管理模块数据流图3) 章节试题管理通过对每章的测试,了解自己的不足,实现自我检测的功能。章节试题管理主要包括题目定位、用户

10、答题、加入我的题库和作答情况显示。功能模块如图1.7所示。图1.7 章节试题管理模块功能框图其对应的数据流程图如图1.8所示。图1.8 章节试题管理模块数据流图4) 二级模拟测试管理二级模拟测试管理用于模拟考试国家计算机C,使您轻松通过国家计算机等级考试二级C语言。包含的功能模块如图1.9所示。图1.9 二级模拟测试管理模块功能框图其对应的数据流程图如图1.10所示。图1.10 二级模拟测试模块数据流图5) 我的题库管理方便用户对题目的管理,用户可以添加自己的注释。我的题库管理主要包括题目定位、编辑删除题库、题库情况显示。功能模块如图1.11所示。图1.11 我的题库管理模块功能框图其对应的数

11、据流程图如图1.12所示。图1.12 我的题库管理模块数据流图6) 系统管理管理员可增加删除系统操作人员,并设定操作人员的权限。通过对用户进行权限管理范围设定,减轻操作内容,也可对单个用户权限及范围进行修订,从而保证系统在实施中的灵活性。功能模块如图1.13所示。图1.13 系统管理模块功能框图其对应的数据流程图如图1.14所示。图1.14 系统管理模块数据流图1.3 数据字典根据以上对各功能模块及其数据流图的分析,可以得出系统的数据字典如表1所示。表1 C语言学习系统数据字典基础知识信息编号,名称,内容章节试题信息章节编号、章节名称、内容、答案经典例题信息例题_题号,内容,分析,答案二级测试

12、信息套数_编号,题型,答案、题目内容我的题库信息题库_编号,用户名、题号,题目内容、用户注释用户信息用户编号,用户名、密码、权限函数信息编号,函数名称,函数内容第二章 数据库设计在概念结构的设计过程中,设计者要对用户需求进行综合、归纳和抽象,形成一个独立于具体计算机和数据库管理系统的概念模型。数据逻辑设计的主要任务是将概念结构转换为SQL Server 2000支持的数据模型,并将性能进行优化。2.1概念结构设计根据以上分析可以得出各个实体关系图如下:1) 基础知识E-R图图2.1 基础知识E-R图2) 函数E-R图图2.2 函数E-R图3) 经典例题E-R图图2.3 经典例题E-R图4) 章

13、节试题E-R图图2.4 章节试题E-R图5) 二级试题E-R图图2.5 二级试题E-R图6) 我的题库E-R图图2.6 我的题库E-R图7) 用户E-R图图2.7 用户E-R图8) 系统E-R图系统E-R图如图2.8所示。图2.8系统E-R图2.2 逻辑结构设计1) C语言基础知识表 C语言基础知识表用于记录各个C语言基础知识点的信息,C语言基础知识表包括编号,名称,内容,C语言基础知识表的设计如表2.1所示。表2.1 C语言基础知识表字段名数据类型长度允许空说明编号int4主键 名称varchar30内容varchar10002) 函数表 函数表用于记录各个函数的信息,函数表包括编号,函数名

14、称,函数内容,函数表的设计如表2.2所示。表2.2 函数表字段名数据类型长度允许空说明编号int4主键 函数名称varchar30函数内容varchar10003) 经典例题表经典例题表主要记录经典例题的相关信息,包括例题号,内容,分析,答案等基本字段,表的设计如表2.3所示。表2.3 经典例题表字段名数据类型长度允许空说明题号int4主键内容varchar500分析varchar300答案varchar54) 章节试题测试表章节试题测试表表用于记录章节试题测的信息,主要包括编号,章节名称,题号,题目内容,题目答案等这些字段,表的设计如表2.4所示。表2.4 章节试题测试表字段名数据类型长度允

15、许空说明编号int4主键章节名称varchar30题目内容varchar1000题目答案varchar105) 二级试题表二级试题表用于记录教职工学历的信息,主要包括编号,套数,题型,题目内容,答案等字段,表的设计如表2.5所示。表2.5 二级试题表字段名数据类型长度允许空说明编号int4主键套数varchar20题型varchar20题目内容varchar1000答案varchar306) 我的题库表我的题库表表用于记录我的题库的信息,主要包括题编号,日期,内容,用户名,答案,注释等字段,表的设计如表2.6所示。表2.6 我的题库表字段名数据类型长度允许空说明用户编号int4主键题目编号da

16、tatime8用户编号varchar1000注释varchar200日期datatime87) 用户表用户表用于记录用户的信息,主要包括编号,用户名,密码,权限,P_0,P_N等字段,表的设计如表2.7所示。表2.7 用户表字段名数据类型长度允许空说明编号int4主键用户名varchar20密码varchar10权限varchar15P_0bit1P_Nbit1第三章 系统的详细设计和实现该系统设计主要包括九大模块,分别为登录模块、主界面模块、系统管理模块、基础知识管理模块、经典例题模块、章节试题管理模块、二级模拟管理模块和我的题库管理模块、维护模块。3.1数据库连接方案3.1.1 方案分析S

17、QL Server 2000数据库连接方案就是通过驱动程序与数据库建立连接,对数据库进行访问。SQL Server 2000是C/S类型的数据库,客户端应用程序可以通过ADO技术,选择合适的驱动程序连接服务器端的数据库,能够使多客户连接同一数据库,从而实现数据共享。客户端连接数据库的过程如图3.1所示。3.1.2 实施过程在delphi中新新建一个工程,再在工程中新建一个数据模块Data Module,在Data Module 中放置一个TADOConnection和其它数据库访问组件(如图3.2),其它数据库组件都引用模块中的TADOConnection组件作为数据源,这种方式保证一个工程中

18、只建立了一个数据库连接,减少了对资源的占用。图3.1 ADO通过驱动程序连接数据库 图3.2 Data Module窗体双击TADOConnection组件,打开ConnectionString属性对话框,进行数据库连接设置,如图3.3所示。图3.3 TADOConnection组件连接3.2 登录模块的设计本系统的登录模块采用的是用户级别登录,进入系统时,必须输入正确的用户名和密码才能进入,并且登录时按不同的权限进行登录,这各登录方式可以将用户的使用权分为不同的等级,以防止普通用户对程序的错误操作。登录模块流程图如图3.4所示。图3.4 登录模块流程图用户登录窗体设计界面含tlabel 和t

19、edit 及tbutton ,窗体的运行界面如图3.5所示。图3.5 用户登录窗体登录窗体显示后,在窗体中输入用户名、密码和用户级别,单击确定按钮,在该按钮的OnClick事件中对用户名、密码和用户级别进行判断,如果与数据表中的某行记录相同,则进入主窗体;否则,清空用户名、密码和用户级别文本框,进行重新输入,当登录次数超过3次时,退出本系统。为了美化界面,本模块中使用了一副登录图片。3.3 主界面模块设计主界面承担整个应用程序导航的作用,是应用程序的导航界面,使用户更直观、更清晰地了解程序业务流程和操作流程。主界面的设计在保证界面美观的同时还要注意主界面的易于操作性,使用户方便、快捷地通过主界

20、面导航引擎进入业务界面。主程序界面如图3.6所示。图3.6 主界面窗体3.4基础知识管理模块设计基础知识管理基础知识管理主要包含基础知识学习和函数学习两个部分。实现的主要是浏览和查询功能。3.4.1基础知识学习管理模块设计基础知识学习管理的流程图如图3.7所示。图3.7基础知识学习管理的流程图 图3.8函数学习管理的查询流程图在窗体设计中,基础知识学习管理使用了Treeview和数据感知控件DBmemo,用户在Treeview控件中单击想查看的C语言知识点后,通过DBmemo来显示知识点内容。基础知识学习管理窗体如图3.9所示。图3.9基础知识学习管理窗体3.4.2 函数学习管理模块设计函数学

21、习管理又分两个模块,分别是浏览和查询模块,浏览模块流程图如图3.7所示,查询流程图如图3.8所示。函数学习管理使用了Combobox、DBmemo、Edit和button, 函数学习管理除了浏览功能外,还有查询功能,在Edit中输入想查询的函数名称,单击确定按钮后,函数内容就显示在DBmemo中。函数学习管理窗体如图3.10所示。图3.10 函数学习管理窗体3.5经典例题管理模块设计经典例题管理主要是对一些经典编程实例进行查看,经典例题管理的流程图如图3.11所示。图3.11 经典例题管理的流程图图3.12 经典例题管理窗体经典例题管理主要用了button、DBedit、DBmemo和Grou

22、pbox等控件。经典例题管理窗体如图3.12所示。查看分析按钮代码如下:if btnjie.Caption=查看分析 then begin btnjie.Caption:=取消查看; dbmemo2.DataField:=题目分析; end else begin dbmemo2.DataField:=; btnjie.Caption:=查看分析; end;通过以上代码可以自由切换查看状态。3.6章节试题管理模块设计用户在进行章节试题测试时,可以选择综合练习方式或者章节练习方式,在设计综合练习方式时,自定义了一个过程,用于生成互不相同的随机数,随机数存放在数组中。在题目定位中,定义了一个位置指针

23、,通过试题起始位置和位置位置指针便可以定位出题目编号。作答情况通过StringGrid显示。相关流程图如图3.13、3.14和3.15所示。 图3.13综合练习流程图 图3.14 章节练习流程图 图3.15 加入题库流程图章节试题管理窗体设计中,练习方式的选择用了Radiobutton,题目定位用了Button,作答情况的显示用了StringGrid,此外还使用了RadioGroup,Panel等控件。章节试题管理窗体如图3.16所示。图3.16 章节试题管理窗体相关代码: 随机数组生成代码procedure creatrandon;var j,k,compare:integer; begin

24、 j:=1; while j0 then begin s:=timer1.Tag-1;timer1.Tag:=s;n:=s div 60;s:=s mod 60;if n10 then min:=0+inttostr(n)else min:=inttostr(n);if s10 then sec:=0+inttostr(s)else sec:=inttostr(s);label2.Caption:=剩余时间: +min+:+sec end else begin timer1.Enabled:=false; showmessage(时间到,请交卷!); BtnJiao.OnClick(sender); end;end; 作答情况显示代码if(point=0)and(radiogroup1.Itemindex15)and(point=20) then /1620为填空题string1:=edit1.Text; string2:=DataModule1.ADOQuery.Fields4.AsString; stringgrid1.Cells1,point:=string1;/第二列显示用户所做答案 if string1

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

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