电子生词库软件学生选修课程系统设计C语言版.doc





《电子生词库软件学生选修课程系统设计C语言版.doc》由会员分享,可在线阅读,更多相关《电子生词库软件学生选修课程系统设计C语言版.doc(42页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流电子生词库软件学生选修课程系统设计C语言版.精品文档.程序设计基础 题目:电子生词库软件C语言程序设计实训任务书题目:学生选修课程系统一、设计目的1.进一步掌握和利用C语言进行程序设计的能力;2.进一步理解和运用结构化程序设计的思想和方法;3.初步掌握开发一个小型实用系统的基本方法;4.学会调试一个较长程序的基本方法;5.学会利用流程图或N-S图表示算法;6.掌握书写实训开发文档的能力(书写实训报告)二、设计任务及内容假定有n门课程,每门课程有课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(
2、如总学分不得少于60)自由选课。试设计一选修课程系统,使之能提供以下功能:1.系统以菜单方式工作2.课程信息录入功能输入3.课程信息浏览功能输出4.查询功能:算法(选一)1)按学分查询课程信息2)按课程性质查询课程信息5.学生选修课程6.按课程编号顺序插入一门课程信息7.按课程名称删除一门课程信息8.按课程名称的字典顺序输出所有课程信息。三、设计要求1.用C语言实现系统;2.利用结构体、数组等实现数据结构设计;3.系统具有增加、查询、插入、排序等基本功能;4.系统的各个功能模块要求用函数的形式实现;5.文档:实训说明书每个学生一份,并装在统一的资料盒中; 6.光盘:每个学生文档和程序资料分别建
3、在一个以自己学号和姓名命名的文件夹下,并要求每班负责人汇总每个学生的文件放在以班级姓名命名的文件夹下,刻录成一张光盘,放在一个专门的资料袋中。四、提交的成果1. 设计任务书一份(学校统一格式)2. 设计说明书一份,内容包括:1) 中文摘要100字,关键词3-5个。2) 实训题目、内容、要求。3)总体设计(包含几大功能模块)。4)详细设计(各功能模块的具体实现算法流程图)5)数据结构设计描述,各模块(函数)的功能介绍,参数说明等。6)调试分析(包含各模块的测试用例,及测试结果。)7)总结(实训完成了哪些功能,还有哪些地方需要改进,及通过实训有何收获,调试程序的体会等)8) 参考文献、致谢等。五、
4、主要参考资料1. 王连相.C/C+程序设计 武汉大学出版社.2013.72. 谭浩强C语言程序设计(第2版)学习指导清华大学出版社.2012.12 3. 杨莉,龚义建C语言程序设计实训指导教程华中科技大学出版.2009.64. 张小东,郑宏珍C语言程序设计与应用人民邮电出版社.2009.45. 郭翠英C语言课程设计案例精编中国水利水电出版社 2004.03.016郭有强C语言程序设计清华大学出版社 2009.02.017李丹程,刘莹,那俊C语言程序设计案例实践清华大学出版社2009.02.018李丽娟C语言程序设计教程人民邮电出版社2013.01.019武雅丽,王永玲,解亚利C语言程序设计清华
5、大学出版社2009.02.01六、各阶段时间安排(共1周)日期内容地点完成情况教师签字星期一教师讲解设计要求,准备参考资料教室星期二分析系统,方案设计教室星期三方案设计,编程教室星期四调试程序,书写实训说明书教室星期五完成实训说明书,答辩教室摘 要20世纪末,随着计算机科学的发展,网络的应用越来越广泛,为广大用户提供了更加周到和人性化的服务。本文研究了以一种基于文件存储的学生选修课程系统。本系统是根据现代化校园的发展而设计的学生学修课程系统,本系统方便老师、家长来学校查找学生成绩、最近奖罚等多种情况。随着教育改革的不断深入和素质教育的加强完全学分制的实施,选修课在一个学生的培养计划中站的比重越
6、来越大!使用了网上选课系统以后,可以在开课前就在网上选课,每个学生的课程在开课前就确定好,不用浪费体力去选课,还可以使教学资源合理平均地分配。关键词:学生选课;C语言;文件存储 目 录1绪 论11.1基本内容11.2发展趋势11.3用途及特点12问题需求分析32.1问题的提出32.2问题的分析33总体设计53.1总体设计思路53.2总体设计模块介绍及框图54详细设计74.1各模块流程图7 4.1.1主函数模块7 4.1.2管理员模块7 4.1.3 学生模块8 4.1.4 创建链表模块9 4.1.5 浏览模块10 4.1.6 查询模块11 4.1.7插入链表模块12 4.1.8 添加模块13 4
7、.1.9 删除模块14 4.1.10 选修课程模块15 4.1.11 读取文件模块16 4.1.12 保存文件模块174.2函数功能具体实现及算法185.调试及分析过程195.1各模块运行结果20 5.1.1开始运行20 5.1.2管理员菜单20 5.1.3按1进入录入课程模块21 5.1.4输完课程信息后进入管理员浏览模块21 5.1.5按课程性质查询22 5.1.6按课程学分查询22 5.1.7按4进行管理员删除模块23 5.1.8学生菜单23 5.1.9按1学生浏览所有课程24 5.1.10按学分查询课程25 5.1.11按3进入选修课程模块25 5.1.12按4进入浏览已选修的课程26
8、 5.1.13按5进入删除错选课程模块27 5.2调试过程中出现的问题28 5.2.1问题的提出28 5.2.2问题分析28 5.2.3问题解决建议296总结297设计优缺点307.1不足之处与改进之处317.2收获与总结317.3程序的优缺点31参考文献32致 谢33附录:34源程序代码351绪 论1.1基本内容随着教育改革的不断深入和素质教育的加强完全学分制的实施,选修课在一个学生的培养计划中站的比重越来越大!学生在选课时要查看各个课程的详细信息,还有选择一些感兴趣的课程,需要生成课表,在发现课程有冲突后能够修改先前选择的信息。各高校课程改革的不断深入,学校规模不断扩大、课程项目不断增多,
9、为了解决学生选课管理上的复杂繁琐的人工操作,制作一个选修课程系统已经迫在眉睫了。全校性选修课的目的在于扩大学生的知识面,加强学生素质教育,培养复合型高级人才,具有不可替代的重要性!1.2发展趋势对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。本系统就是为了管理好学生选课信息而设计的。当今时代是飞速发展的信息时代,在各行各业中离不开信息处理,这正是计算机被广泛应用于信息系统的环境。计算机的最到好处的于利用它能够进行信息管理,使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。基于这个问题,我认为有必要
10、建立一个学生选课系统,使学生选课信息管理工作规范化、系统化、程序化,避免学生选课管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改选课情况。1.3用途及特点现代的社会是信息化的社会,信息无所不在。在生产领域、流通领域、各个部门每天都和信息打交道,如何处理如此多的信息成为了一个重要的课题。学生在学期开始选课是教学活动中的一个重要环节,该环节如果能管理好,它不仅能加快学生的选课速度,也提高了整个活动工作的效率。大学一般都有上万名学生,每学期开始学生都要选课,因而产生了大量的课程信息。考虑到用户使用的方便和处理的信息量系统要完成录入,保存,查询,修改和删除课程信息的各种过程,
11、能打印出课程信息表。系统的主要使用对象是需要选课的学生。需要随学生选课选课的变化,计算相应的总学分。在全部选定后打印报表。系统还需要管理员来查看和修改学生的总体选课情况课程信息和学生信息。此系统系统选课方便、快捷,用简单的界面来展示学生的选课信息,应用简单明了、存储量大、可靠性高、保密性好、寿命长、成本低等优点,可以极大的提高对学生信息管理的效率。利用C语言开发,实现了简单的学生课程信息的录入、修改、查询、删除等操作,并且能够利用文件系统长久的保留原始数据。2问题需求分析2.1问题的提出 随着教育的改革,各高校的大规模扩展,专业的剧增,以老师授课为主的传统的教育模式已不再适应当今中国的各高校的
12、现状。并且,在课表的编排上市意向十分复杂、棘手的工作。在派克过程中,除了满足大量的制约条件外,还必须解决许多冲突域矛盾。因此,利用网络进行选课和对学生的授课,应经成为名正言顺的事,并且必不可少了。那么如何创建一个网络选修课程系统呢?如何实现学生网上根据自己的时间安排,随时随地的学习呢?这成了研究网络选修课程人员的一大问题了。2.2问题的分析大学期间总会有很多公共选修课,以往的选课方法是随堂报名。这种方法虽然直接,但是造成选课的盲目性,有些课堂选课时人满为患,有些课堂无人选课。原因是传统的选课方法没有预见性,大家没有事先协调好。这种局面是长期以来在高校中产生的,短时间内根本无法改变这个现状。使用
13、了网上选课系统以后,可以在开课前就在网上选课,每个学生的课程在开课前就确定好,不用浪费体力去选课,还可以使教学资源合理平均地分配。 本系统开发的目的是采用信息化和网络化的手段,帮助学生和学校信息化的管理选课教学任务。教育制度的改革,学生数量的剧增,无疑给网络选修课程提供了一个前所未有的机会。为方便用户根据自己时间随时随地的学习,特开发此系统。为学校将老师的授课视频直接放在学校官网上,学生通过官网,随心所欲地在学生选课系统进行学习。这样不仅节省了学生们的时间,更为学校省下了许多师资资源。学校可以将这部分省下来的师资资源用在学术研究方面、教育方式研究等方面。 当前大部分学校没有一个完善的学生选修课
14、程系统,计算机使用主要基于microsoft office,不能发挥有效的作用,而且随着我国教育的改革,学生可以选择科目多样化,使得学校对学生选修课程管理趋于繁琐、复杂,工作量大,这种传统的学校选修课程模式已不能满足当前的发展。实现学生选修课程的系统化、规范化、自动化以及全面的、相对集中化,为学生提供全面的选课数据信息,为有效的控制选课提供有力的帮助;为学校做到及时、准确地掌握选课情况,为选修课程做好部署工作。本系统是为高校学院制定的个人选课及管理的现代化信息平台,学生能过浏览器进行网上选课和并且可以查询自己的选课计划及所选课程进度。同时,管理员可以通过游览器进行课程添加、删除和修改。这无论对
15、于学生和教师管理员来说都节省了大量的工作量。充分利用网上选课系统来提高教学选课管理的效率,实现全面网络化、规范化和集成化。3总体设计3.1总体设计思路通过对课题的分析,程序的要求是设计选修课管理系统,对选修课程能够进行录入和修改操作等,要求有主界面和退出功能。首先,考虑到程序的数据输入,可以设置一个管理员登陆选项,通过该界面,进行选修课的录入和修改操作,最后将录入的课程存到相应的文件中。然后定义各种函数的功能包括:查看、查询、删除等。另一个为学生登陆界面,该界面学生可以进行课程选择和浏览查询等操作。在进行该操作之前需要对管理员保存的文件进行读取,然后对其中的东西进行查询等。在学生选好课程以后,
16、可以将选好的课程保存于相应的文件中,以便下次进行修改。通过函数的层层调用来实现程序的逻辑结构。中间通过文件的打开和关闭实现对文件内部所包含的数据操作。然后通过对课题的分析,必须实现的功能有主线程对四大线程的随机调度以及输出结果显示等。我们为了方便用户控制管理,又添加了一些更人性化的功能如人工调试,运行配置等功能。主要运用了顺序结构、选择结构和循环结构等多种基本结构,同时文件存储信息的方式更是简化了程序结构,使程序读起来更容易懂。除此之外,本系统采用分块实现功能,将要实现的增加课程信息、修改课程信息、删除课程信息、增加学生信息和修改学生信息等功能分别用不同的子程序来完成,这样不仅方便了我们程序调
17、试,更提高了程序的移植性。 为了方便用户控制管理,本系统添加了一些更人性化的功能如人工调试,运行配置等功能。主要运用了顺序结构、选择结构和循环结构等多种基本结构,同时文件存储信息的方式更是简化了程序结构,使程序读起来更容易懂。除此之外,本系统采用分块实现功能,将要实现的增加课程信息、修改课程信息、删除课程信息、增加学生信息和修改学生信息等功能分别用不同的子程序来完成,这样不仅方便了我们程序调试,更提高了程序的移植性。3.2总体设计模块介绍及框图本系统由一个主模块和多个子模块组成,主模块有管理员和学生两个模块。管理员模块主要功能是添加课程信息、删除课程信息等,而学生模块则主要管理学生信息及选课问
18、题等。主模块管理员模块学生模块浏览课程查询课程添加课程删除课程浏览所有课程查询课程信息选择选修课程浏览所选课程删除错选课程 图3-1 总体模块框图4详细设计4.1各模块流程图4.1.1主函数模块主函数设计地比较简洁,只是提供一个主菜单和几个函数的调用以及显示函数。switch语句将整个程序分为三个大的功能模块。其具体流程图如下:开始选课系统以管理员身份登录以学生身份登录退出系统 图4-1 主函数模块图4.1.2管理员模块管理员的功能一共有四个功能:浏览,查询,添加,删除课程,运用字符串处理函数处理密码的问题,若密码正确,则可以进入管理员模块。否则重新输入名,当密码输入错误达到3次,则不能进入管
19、理员模块。密码次数用了一个int型的变量来计数。用一个switch语句实现函数的调用: 输入密码进入系统密码次数3开始结束 图4-2 管理员模块流程图 4.1.3 学生模块 学生的功能一共有四个功能:浏览所有课程信息、查询课程信息、选择选修课程、浏览所选课程、删除错选课程等。用一个switch语句实现函数的调用:开始输入是否为2查询课程信息break输入是否为1浏览所有课程break结束输入是否为3选择选修课程break输入是否为4浏览所选课程break输入是否为5删除错选课程break输入是否为6返回主菜单break 图4-3 学生模块流程图4.1.4 创建链表模块 利用链表的创建、插入、删
20、除和查询等功能。以菜单选项形式体现出来,实现课程信息的增加、学生信息的增加、课程信息的删除以及学生信息的修改等等。运用链表实现这些功能可以与用户良好的交互。Scanf(num,name,kind,&stime,&ttime,&etime,&score,&term);Tail-next=NULL;Return head;开始输入选修课程信息Num1!=0为结构体的每个元素都创建一个链表Num1!=0Tail-next=p;Tail=p;Head=p创建失败创建成功创建失败 图4-4 链表创建流程图4.1.5 浏览模块浏览模块主要用管理员中的“浏览课程”和学生功能中的“浏览所有所有课程”,将所有的
21、课程信息输出,即将2.txt文件里面的内容全部输出: 浏览所有课程SUB *ptr;head=NULL;readfile();Head=NULLPrintf(NO RECORDS);Return;输出课程信息结束 图4-5 浏览模块流程图4.1.6 查询模块查询模块主要用于管理员功能中的“查询课程”和学生功能模块中的“查询所有课程”,查询模块共分为三个查询方法:按课程名称查找,按课程性质查找和按学分查找switch语句中,每一个case语句就是一中查询方法:开始输入是否为1按课程性质查找break输入是否为2按学分查找break结束输入是否为0按学分查找break 图4-6 查询模块流程图4.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子 生词 软件 学生 选修 课程 系统 设计 语言版

限制150内