学生选课系统
- 格式:doc
- 大小:4.97 MB
- 文档页数:28
学生选课系统数据流图一、引言学生选课系统是一种用于学生在学校进行选课的工具,通过该系统,学生可以方便地选择自己感兴趣的课程,完成选课过程。
本文将详细介绍学生选课系统的数据流图,包括系统的输入、输出、处理过程等。
二、数据流图的基本概念数据流图是一种图形化的工具,用于描述系统中的数据流动和处理过程。
数据流图由四个基本元素组成:数据流、处理过程、数据存储和外部实体。
1. 数据流(Data Flow):数据在系统中的流动,代表了信息的传递和交换。
数据流可以是输入数据,也可以是输出数据。
2. 处理过程(Process):对数据进行处理的过程,可以是计算、判断、转换等操作。
3. 数据存储(Data Store):用于存储数据的地方,可以是数据库、文件等。
4. 外部实体(External Entity):与系统进行交互的外部对象,可以是人、设备、其他系统等。
三、学生选课系统数据流图的构建1. 上层数据流图(Level 0 DFD)上层数据流图是对整个系统的概览,包括了外部实体、数据流和处理过程的关系。
外部实体:学生、教务处数据流:选课信息、学生信息、课程信息、选课结果、学生选课请求处理过程:选课处理、学生信息查询、课程信息查询2. 学生选课请求处理过程(Level 1 DFD)学生选课请求处理过程是对选课处理过程的详细描述,包括了外部实体、数据流和处理过程的关系。
外部实体:学生、教务处数据流:选课信息、学生信息、课程信息、选课结果、学生选课请求处理过程:验证学生信息、验证课程信息、选课结果生成3. 验证学生信息处理过程(Level 2 DFD)验证学生信息处理过程是对验证学生信息的详细描述,包括了外部实体、数据流和处理过程的关系。
外部实体:学生、教务处数据流:学生信息、学生选课请求处理过程:学生信息查询、学生信息验证4. 验证课程信息处理过程(Level 2 DFD)验证课程信息处理过程是对验证课程信息的详细描述,包括了外部实体、数据流和处理过程的关系。
学生选课系统
学生选课系统是指一种用于学生进行选课的系统,它能
够提供方便快捷的选课服务。
该系统可以帮助学生在学校的课程中选择适合自己的课程,并为选课过程提供必要的帮助和指导。
学生选课系统的实现需要有以下几个基本功能:
1. 课程浏览功能:学生可以通过系统查看学校开设的各
门课程,并了解课程的基本信息,如课程名称、授课教师、上课时间和地点,以及课程的简介等。
2. 选课功能:学生可以通过系统选择自己感兴趣的课程,并将其添加到已选课程列表中。
在选课过程中,学生可以根据自己的需求和兴趣选择不同的课程,系统会自动判断课程的可选性和冲突情况,如果有课程时间上的冲突,系统会进行提醒。
3. 退课功能:如果学生对已选的课程不满意或者出现了
其他问题,可以通过系统进行退课操作。
退课操作可以在一定的时间范围内进行,系统会自动计算退课后的学分和学费的调整。
4. 课程评价功能:学生可以通过系统对已选过的课程进
行评价,包括对课程内容、教师授课水平、课程难度和课程实用性等方面进行评价。
这些评价可以帮助学生了解课程的真实情况,为其他学生选择课程提供参考。
5. 选课结果查询功能:学生可以通过系统查询自己已选
的课程,并查看课程的详细信息和学分情况。
系统会提供相应的界面和查看方式,方便学生随时查看自己的选课情况。
以上是学生选课系统的基本功能说明,通过这样一个系统,学生可以更加便捷地选择自己的课程,并及时了解课程的相关信息。
该系统对于学校管理和学生学习来说,都有很大的帮助和促进作用。
它可以提高学生选课的效率,减轻学校管理的负担,同时也能够让学生更好地规划自己的学习计划,提高学习的积极性和效果。
学生选课系统规定一、学生选课系统规定的背景及重要性学生选课系统是现代教育管理的重要组成部分,它对于高校的教学和学生的学习起着至关重要的作用。
二、学生选课系统的作用与目标学生选课系统的主要目标是为学生提供一个公平、便捷的选课平台,帮助学生规划自己的课程安排,并确保学生能够按照自己的兴趣和需求进行选课。
三、学生选课系统的基本原则学生选课系统应当遵循公平公正的原则,确保各个学生在选课时享有平等的机会和权利。
四、学生选课系统的内容与要求学生选课系统应提供详尽的课程信息,包括课程名称、开课时间、教师信息等,以便学生做出恰当的选课决策。
五、学生选课系统的实施与管理为确保学生选课系统能够有效地实施和管理,学校需要建立一支专门的选课系统管理团队,并制定相应的管理规定和流程。
六、学生选课系统的优点与不足学生选课系统能够提高选课的效率和准确性,但也存在一些问题,如系统容易出现故障、学生难以选择适合自己的课程等。
七、学生选课系统的改进与创新为解决学生选课系统存在的问题,学校应不断改进和创新系统功能和服务,提高系统的稳定性和用户友好性。
八、学生选课系统的对学生的影响与帮助学生选课系统能够帮助学生更好地规划自己的课程,提高学习效果,并为学生提供更多选择的机会。
九、学生选课系统的对学校的影响与帮助学生选课系统的有效实施和管理对学校的教学质量和管理效率提高具有积极的推动作用。
十、学生选课系统的国内外经验与借鉴学校可以借鉴国内外优秀学校的选课系统经验,为自身的选课系统建设提供参考和借鉴。
十一、学生选课系统未来的发展趋势与展望随着科技的不断发展和学生选课需求的增加,学生选课系统将在功能和服务上不断创新和拓展,以适应未来学生选课的需求。
十二、总结学生选课系统作为现代教育管理的重要组成部分,对学生和学校都具有重要意义。
学校应建立完善的选课系统,为学生提供公平、便捷的选课服务,并不断改进和创新系统,以满足学生和学校日益增长的需求。
通过学生选课系统的有效实施和管理,将有助于提高学校的教学质量和管理效率,为学生的学习和发展提供更好的支持和帮助。
学生选课管理系统java+数据库简介学生选课管理系统是一个基于Java编程语言和数据库开发的系统,旨在提供学生选课的便捷和教务管理的智能化。
该系统具有课程管理、学生管理、教师管理、选课关联等功能模块,可以实现学生选课、教师管理课程、生成选课报表等操作。
功能模块1. 课程管理•提供课程信息录入和编辑功能,包括课程号、课程名称、授课教师等信息。
2. 学生管理•支持学生信息的录入、查询、修改和删除,学生信息包括学号、姓名、性别、年级等。
3. 教师管理•实现对教师信息的管理,可以录入教师信息、查询教师信息、修改和删除教师信息。
4. 选课关联•学生可以根据课程列表进行选课操作,系统会检查选课的合法性,避免时间冲突等问题。
数据库设计系统采用关系型数据库存储数据,设计了以下表结构: 1. 课程表:存储课程的信息,包括课程号、课程名称、授课教师等字段。
2. 学生表:存储学生的信息,包括学号、姓名、性别、年级等字段。
3. 教师表:存储教师的信息,包括教师号、姓名、职称等字段。
4. 选课表:记录学生选课的信息,包括学号、课程号、选课状态等字段。
技术实现系统使用Java语言开发,结合数据库技术进行数据存储和查询。
通过编写DAO(Data Access Object)层实现数据访问,实现了数据的持久化和业务逻辑的分离。
在用户界面方面,可以使用Swing或JavaFX等技术实现交互界面,使用户可以方便地操作系统功能。
总结学生选课管理系统是一个方便学生选课和教务管理的工具,通过Java编程语言和数据库技术的结合,实现了课程管理、学生管理、教师管理和选课关联等功能。
系统设计合理,可以提高选课效率,降低管理成本,是教育管理的重要辅助工具。
以上是对学生选课管理系统的介绍,希望能够为你对这一类型系统的理解提供帮助。
学生选课系统
一、引言
学生选课系统是现代教育管理中的重要组成部分,它为学生和教务管理部门提
供了便利。
选课系统的有效运行对学校的教学管理和学生发展至关重要,本文将探讨学生选课系统的重要性、功能和发展趋势。
二、学生选课系统的重要性
学生选课是学生在每个学期进行的重要活动,直接关系到学生的学习进度和学
业规划。
选课系统的存在,能够为学生提供方便快捷的选课流程,减少学生和教务部门的繁琐工作,提高教学管理的效率和准确性。
三、学生选课系统的功能
学生选课系统通常包括以下功能: - 课程查询:学生可以通过系统查看学校开
设的各种课程信息,包括课程名称、授课教师、上课时间等。
- 选课功能:学生可
以通过系统选择自己感兴趣的课程,并提交选课申请。
- 退课功能:学生在一定时
间范围内可以通过系统退选不想修读的课程。
- 成绩查询:系统可以及时显示学生
的课程成绩,方便学生了解自己的学业表现。
四、学生选课系统的发展趋势
随着信息技术的不断发展,学生选课系统也在不断创新和完善。
未来,学生选
课系统可能具有以下发展趋势: - 智能推荐:系统根据学生的学业情况和兴趣偏好,为学生推荐合适的课程。
- 在线选课:学生可以通过手机App或网页端进行选课、退课等操作,简化选课过程。
- 数据分析:系统可以对学生选课情况进行数据分析,为学校教学管理提供决策依据。
五、结论
学生选课系统在学校教学管理中扮演着重要角色,对提高教学效率和学生满意
度具有重要意义。
随着技术的发展,学生选课系统将不断创新和完善,为教育管理带来更多便利和效益。
学生选课系统数据流图一、引言学生选课系统是一个用于管理学生选课的系统,通过该系统,学生可以方便地选择自己感兴趣的课程,并进行相关操作,如添加、删除、修改选课等。
本文将详细描述学生选课系统的数据流图,包括系统的功能模块、数据流、数据存储和处理过程等。
二、系统功能模块学生选课系统主要包括以下功能模块:1. 学生信息管理模块:用于管理学生的基本信息,包括学生的学号、姓名、性别、年级等。
2. 课程信息管理模块:用于管理课程的基本信息,包括课程编号、课程名称、授课教师、上课时间等。
3. 选课管理模块:用于学生进行选课操作,包括添加选课、删除选课、修改选课等。
4. 成绩管理模块:用于管理学生的课程成绩,包括录入成绩、查询成绩、统计成绩等。
三、数据流图描述学生选课系统的数据流图主要包括以下几个部分:外部实体、数据流、数据存储和处理过程。
1. 外部实体外部实体是与系统进行交互的对象,包括学生、教师和管理员。
学生可以进行选课和查询成绩等操作,教师可以录入成绩和查询学生信息等操作,管理员可以管理学生和课程信息等操作。
2. 数据流数据流表示信息在系统内部或与外部实体之间的流动。
在学生选课系统中,主要有以下几个数据流:- 学生信息流:用于传递学生的基本信息,如学号、姓名、年级等。
- 课程信息流:用于传递课程的基本信息,如课程编号、课程名称、授课教师等。
- 选课信息流:用于传递学生的选课信息,如学号、选课课程编号等。
- 成绩信息流:用于传递学生的课程成绩,如学号、课程编号、成绩等。
3. 数据存储数据存储表示系统中用于存储数据的地方。
在学生选课系统中,主要有以下几个数据存储:- 学生信息库:存储学生的基本信息,如学号、姓名、性别、年级等。
- 课程信息库:存储课程的基本信息,如课程编号、课程名称、授课教师等。
- 选课信息库:存储学生的选课信息,如学号、选课课程编号等。
- 成绩信息库:存储学生的课程成绩,如学号、课程编号、成绩等。
学生选课系统数据流图一、引言学生选课系统是为了方便学生在大学期间选择课程而设计的一种信息管理系统。
本文将以数据流图的形式来描述学生选课系统的功能和数据流动。
二、系统概述学生选课系统主要包括学生信息管理、课程信息管理、选课管理和成绩管理等模块。
学生可以通过系统查询课程信息、进行选课和退课操作,并查看自己的成绩。
三、数据流图下面是学生选课系统的数据流图,包括了系统的各个功能模块和数据流动的过程。
1. 学生信息管理模块学生信息管理模块用于管理学生的个人信息,包括学生的学号、姓名、性别、年龄等。
该模块接收来自学生的个人信息输入,并将其存储到学生信息数据库中。
2. 课程信息管理模块课程信息管理模块用于管理课程的相关信息,包括课程编号、课程名称、授课教师、上课时间、上课地点等。
该模块接收来自教务处的课程信息输入,并将其存储到课程信息数据库中。
3. 选课管理模块选课管理模块用于学生选课和退课的操作。
学生可以通过该模块查询可选课程列表,并选择自己感兴趣的课程进行选课。
选课管理模块接收学生的选课请求,并将其发送到选课信息数据库中进行处理。
同时,该模块还会将选课结果反馈给学生,包括选课成功或失败的提示。
4. 成绩管理模块成绩管理模块用于记录学生的课程成绩和计算学生的绩点。
该模块接收来自教师的成绩录入,并将成绩信息存储到成绩信息数据库中。
学生可以通过该模块查询自己的成绩和绩点情况。
四、数据流图说明1. 输入流- 学生个人信息输入:学生在注册或更新个人信息时输入的相关数据。
- 课程信息输入:教务处或教师输入的课程相关信息。
2. 输出流- 选课结果反馈:选课管理模块将选课结果反馈给学生,包括选课成功或失败的提示。
- 学生成绩和绩点查询结果:成绩管理模块将学生的成绩和绩点查询结果反馈给学生。
3. 数据存储- 学生信息数据库:用于存储学生的个人信息。
- 课程信息数据库:用于存储课程的相关信息。
- 选课信息数据库:用于存储学生的选课信息。
学生选课系统数据流图引言概述:学生选课系统是现代教育管理中不可或缺的一部分,通过数据流图可以清晰地展示系统中各个模块之间的数据流动和交互关系。
本文将详细介绍学生选课系统的数据流图,包括系统的整体结构和各个模块之间的数据流动。
一、学生选课系统整体结构1.1 学生模块- 学生信息录入:学生通过系统输入个人信息,包括姓名、学号、班级等。
- 选课功能:学生可以在系统中选择需要修读的课程,系统会实时更新学生的选课信息。
- 成绩查询:学生可以通过系统查询已修读课程的成绩和学分情况。
1.2 课程模块- 课程信息管理:教师或管理员可以在系统中录入课程信息,包括课程名称、授课教师、上课时间等。
- 选课情况统计:系统可以实时统计每门课程的选课情况,包括选课人数和选课情况分布。
- 成绩录入:教师可以在系统中录入学生的成绩信息,系统会自动计算学生的绩点和总成绩。
1.3 管理员模块- 用户权限管理:管理员可以设置不同用户的权限级别,包括学生、教师和管理员。
- 数据备份与恢复:管理员可以对系统中的数据进行定期备份,确保数据安全。
- 系统日志记录:系统会记录管理员的操作日志,以便追踪和排查问题。
二、数据流图中的数据流动2.1 学生选课流程- 学生选择课程:学生通过系统选择需要修读的课程,系统会将选课信息传输到课程模块。
- 课程信息更新:课程模块接收到学生选课信息后,更新相应课程的选课人数和选课情况。
- 学生选课成功:系统会将选课成功的信息反馈给学生,学生可以在成绩查询模块查看选课情况。
2.2 教师成绩录入流程- 成绩录入:教师在系统中录入学生的成绩信息,系统会将成绩数据传输到学生模块。
- 学生成绩更新:学生模块接收到成绩信息后,更新学生的成绩和绩点情况。
- 成绩查询:学生可以在系统中查询到最新的成绩信息。
2.3 管理员权限管理流程- 用户权限设置:管理员可以在系统中设置不同用户的权限级别,系统会将权限信息传输到用户模块。
- 用户权限更新:用户模块接收到权限信息后,更新用户的权限级别。
数据库学生选课管理系统一、引言数据库学生选课管理系统是一种用于高校教务管理的工具,旨在帮助学校管理学生选课、课程信息以及学生成绩等数据。
通过该系统,学生可以方便地进行选课、退课操作,教师可以查看学生成绩并进行评价,学校管理人员可以实时掌握学生选课情况,从而更好地安排教学计划和资源。
二、系统功能1. 学生端功能•学生登录:学生通过账号和密码登录系统;•查看可选课程:学生可以浏览当前学期开设的课程,了解课程内容和开课时间;•选课:学生在规定时间内进行选课操作,选择感兴趣的课程并提交选课申请;•退课:学生在选课期间可以自主进行退课操作,取消已选的课程;•查看成绩:学生可以查询已修课程的成绩和评价。
2. 教师端功能•教师登录:教师通过账号和密码登录系统;•查看所教课程:教师可以查看自己当前任教的课程列表和学生名单;•录入成绩:教师可以录入学生成绩,并进行评价;•查询学生成绩:教师可以查询所教课程学生的成绩。
3. 管理员端功能•管理员登录:管理员通过账号和密码登录系统;•管理学生信息:管理员可以添加、修改、删除学生信息,包括个人信息和选课情况;•管理教师信息:管理员可以添加、修改、删除教师信息,包括个人信息和任教课程。
三、系统实现1. 数据库设计系统数据库包含以下表格:•学生表(Student):用于存储学生基本信息,如学号、姓名、性别等;•课程表(Course):用于存储课程信息,如课程编号、课程名称、学分等;•选课表(Enrollment):用于存储学生选课信息,关联学生和课程;•成绩表(Grade):用于存储学生成绩信息,包括学生、课程和成绩。
2. 系统架构系统采用B/S架构,前端使用HTML、CSS、JavaScript实现页面交互,后端使用Java语言编写业务逻辑,数据库采用MySQL实现数据存储。
3. 用户角色权限系统根据用户角色划分权限,学生可以进行选课、退课和查看成绩操作;教师可以录入成绩和查询学生成绩;管理员可以管理学生和教师信息。
目录1 需求分析1.1任务要求 (2)1.2系统功能需求分析 (2)2 概要设计2.1系统总体设计框架 (3)2.2系统功能模块图 (3)3 详细设计3.1功能模块设计思路 (3)3.2功能函数流程图 (6)4 调试分析4.1错误显示及分析 (8)4.2修改完善 (8)5 用户使用说明5.1适用范围 (8)5.2使用方法 (9)6 测试结果6.1运行结果 (9)7 附录7.1课设小结 (11)7.2详细代码 (12)1 需求分析1.1任务要求制做学生选课系统,共包括课程信息和学生信息两部分。
课程信息包括:课程编码、课程名称、适用专业、课程类型(必修、限选、必选、实践、学习)、学分、学时、主讲教师等。
学生信息管理,学生选课管理(学生选课学分总数有一定范围),学生可以对课程进行查询、浏览,选完课后可以退选、重选,并可以按学号、姓名进行查询和统计。
要求:1.源文件采用多文件的工程结构。
2.数据储存采用文件形式。
3.标准的C输入输出。
4.功能完善,适当的注释。
5.关于文件的内容要自学。
1.2系统功能需求分析1.为存储课程信息,需要定义一个结构体类型,成员包括课程编码、课程名称、适用专业、课程类型、学分、学时、主讲教师,所选人数等等,并建立链表,定义该结构体类型的指针,用于指向各节点;2.为存储学生信息,需要定义一个结构体类型,成员包括学生编码、学生姓名、所选课程编码、所选课程学分和等等,并建立链表,定义该结构体类型的指针,用于指向各节点;3.对于课程信息和学生信息,可以选择从键盘输入也可选择从文件中打开原来存盘的信息,并对他们分别建立添加、删除、浏览、查询等功能的子函数,完成相应的功能,对程序实现模块化。
这其中要用到对链表的删除、插入、增加等知识。
删除包括课程删除和学生信息删除,删除时用一结构体指针指向链表的第一个结点,检查该节点的值是否等于输入的要删除的课程编号或学生学号,若相等就删除,不相等则后移指针,直至表尾。
插入时也要先找到相应结点,再添加。
查询功能要设置按照学生姓名、学生编号等多种方式。
4.学生选课是要先输入自己的学号,如果在已经输入的学生信息中找不到此学号,则提示需要先输入自己的信息。
如找到了自己的学号,则可以进行选课。
在选课之前要先对所有的课程信息进行浏览。
选课有一定的学分限制,超过相应的学分(这里设置的是10个学分),系统就会显示可以选满的信息。
此系统还可以实现删除所选课程的功能,设计思路与选课功能相似。
5.为实现存储功能,需用到文件的相关函数,打开文件,将添加、修改或删除的信息存入磁盘中。
6.实现易于使用者理解和使用的友好界面。
2 概要设计2.1系统总体设计框架对程序进行模块化可以使整个程序清晰明了。
对课程信息和学生信息建立从文件中输入、从键盘中输入、添加、删除、查询和浏览的功能,其各个子函数中运用链表储存数据。
选课管理建立学生选课、推选、查询、浏览的功能,其各个子函数中运用链表储存数据。
从主函数开始执行,依次调用各个子函数,并运用文件的相关知识将信息进行存盘。
2.2系统功能模块图3 详细设计3.1功能模块设计思路主要功能模块的算法设计思路如下:1、课程信息录入函数(void load())①从键盘录入(void zhang( ))I 定义指向结构体变量的指针;II 从头指针指向的结构体开始依次录入结构体中所包含的各个成员;III直到输入的结构体成员的编号为0,录入结束②从文件录入(void zhang1( ))I 分别定义指向结构体变量的指针和指向文件的指针;II 输入文件的路径,打开文件,若没有找到则有提示;III 将文件中的信息依次读出,最后结构体的指针为NULL2、课程信息管理(void managementc())①增加课程信息(void insert(struct course *incourse))I 定义指向结构体变量的指针;II 输入要增加的课程编号,从头指针指向的结构体依次向后,直到链表的最后;III 输入课程结构体各个成员的信息,使最后一个结构体指针值为NULL②删除课程信息(void delc(int num1))I 定义指向结构体变量的指针;II 输入要增加的课程编号,从头指针指向的结构体依次向后,直到找到课程编号为输入值的那个结构体;III 将其删除,其前一个的结构体指针指向其后一个结构体3、学生信息录入函数(void input())①从键盘录入(void putin( ))I 定义指向结构体变量的指针;II 从头指针指向的结构体开始依次录入结构体中所包含的各个成员;III 直到输入的结构体成员的编号为0,录入结束②从文件录入(void putin2( ))I 分别定义指向结构体变量的指针和指向文件的指针;II 输入文件的路径,打开文件,若没有找到则有提示;III 将文件中的信息依次读出,最后结构体的指针为NULL4、学生信息管理(void managements())①增加学生信息(void inserts(struct student * incouse))I 定义指向结构体变量的指针;II 输入要增加的学生编号,从头指针指向的结构体依次向后,直到链表的最后;III 输入学生结构体各个成员的信息,使最后一个结构体指针值为NULL②删除学生信息(void dels(int num2))I 定义指向结构体变量的指针;II 输入要增加的学生编号,从头指针指向的结构体依次向后,直到找到学生编号为输入值的那个结构体;III 将其删除,其前一个的结构体指针指向其后一个结构体5、学生选课管理(void elective())①学生选课(void elect())I 分别定义指向课程和学生结构体变量的指针;II 输入要选课的学生的编号,从头指针指向的结构体依次向后,直到找到学生编号为输入值的那个结构体,如不存在则显示要录入学生信息;III 输入要选课程的编号,从头指针指向的结构体依次向后,直到找到课程编号为输入值的那个结构体;IV 在学生结构体对应的所选课程编号中更改信息,所选学分中加上相应分值,课程结构体所选人数中相应加一②学生退课(void back())I 分别定义指向课程和学生结构体变量的指针;II 输入要退课的学生的编号,从头指针指向的结构体依次向后,直到找到学生编号为输入值的那个结构体,如不存在则显示要录入学生信息;III 输入要退课程的编号,从头指针指向的结构体依次向后,直到找到课程编号为输入值的那个结构体;IV 在学生结构体对应的所选课程编号中更改信息,所选学分中减去相应分值,课程结构体所选人数中相应减一6、信息浏览和保存(void into())①课程信息浏览(void listc())I 定义指向结构体变量的指针;II从头指针指向的结构体依次向后,将课程结构体各成员的信息一次输出,直到最后一个结构体指针的值为NULL②学生信息浏览(void lists())I 定义指向结构体变量的指针;II从头指针指向的结构体依次向后,将学生结构体各成员的信息一次输出,直到最后一个结构体指针的值为NULL③课程信息保存(void intoc())I 定义指向课程结构体变量的指针和指向文件的指针;II 输入保存路径,如果没有保存则有显示;III 将课程信息写入文件中;IV 将课程信息进行保存,关闭文件④学生信息保存(void intos())I 定义指向学生结构体变量的指针和指向文件的指针;II 输入保存路径,如果没有保存则有显示;III 将学生信息写入文件中;IV 将学生信息进行保存,关闭文件7、学生信息查询(void store())①按学生姓名查询(void search2())I定义指向结构体变量的指针;II 输入要查询的学生的姓名,从头指针指向的结构体依次向后,直到找到学生姓名为输入值的那个结构体;III 将该学生结构体成员的各信息依次输出②按学生编号查询(void search1())I定义指向结构体变量的指针;II 输入要查询的学生的编号,从头指针指向的结构体依次向后,直到找到学生编号为输入值的那个结构体;III 将该学生结构体成员的各信息依次输出3.2功能函数流程图以上各个函数的流程图如下:从键盘录入信息按姓名查找按编号查找4 调试分析4.1错误显示及分析a.编译时出现错误,回看程序发现漏掉符号等细节错误。
b.运行时,界面格式与最初的设想不一致,通过重新编排,符号的增减及一进,最终达到理想界面。
c.运行时,输入一个信息后,第二次输入数据时很难将输入光标移到想要的位子,通过按键的摸索,最终了解了输入要领。
d.对输入的信息查询时没有记录,发现文件读取错误。
4.2修改完善1、开始程序执行时,各项大的功能每一次只能执行一个就自动跳出,为了使程序保持连续性和更好的实用性,使用了start,goto start,break,sysyem(“clx”)等实现了逐渐免于更功能的循环。
2、对于学生信息中已选课程的存储,一直不知如何存储。
后用实型数组,并进行循环,依次读入课程的编号,将课程编号进行存储。
5 用户使用说明5.1适用范围适用于管理者将课程信息和学生信息录入到系统,并可以将课程信息和学生信息进行保存,日后如果有需要在对课程和学生信息进行增加可删除。
同时也适用于学生在登录自己的学号后,浏览课程信息选课,进行选课和退课操作。
5.2使用方法首先管理者将现有的课程信息(包括课程编号、课程名称、使用专业、课程类型、学时、学分、教师、已选人数(初始为零))和学生信息(包括学生学号、姓名、已选学时、已选课程编号)录入到系统,并将其进行文件保存,以便以后使用。
若要修改(增加和删除)课程信息和学生信息,需要先从文件中录入已存信息,再输入编号对其查找并进行相关操作。
学生选课需要先输入自己的学号,若没有此学号的学生信息,需先录入此人信息在进行选课和退课。
在选课和退课前,可以先浏览课程信息,并记住要选课程的编号,以便选课时需要。
此外还可以学号和姓名对学生信息进行查询。
6 测试结果6.1运行结果主界面录入课程信息录入学生信息选课后学生信息浏览选课后课程信息浏览7 附录7.1课设小结通过这次课程设计,我对C语言有了更深刻的了解,增强了程序的编写能力,巩固了专业知识,对程序的模块化观念也又模糊逐渐变的清晰了。
在程序的运行与调试过程中出现了很多错误,通过反复地复习课本上的相关知识,不停地修改与调试,我终于完成了这段程序。
在调试过程中,我认识到了C语言的灵活性与严谨性,同一个功能可以由不同的语句来实现,但编写程序时要特别注意细节方面的问题,因为一个小小的疏忽就能导致整个程序不能运行。
当然我也认识到了自己的薄弱之处,如对链表相关知识的欠缺,文件运用的不熟练,在以后的学习中我要集中精力、端正态度,争取把知识学得更扎实、更全面。