学生选课管理系统设计报告
学生选课信息管理系统课程设计报告

数据库课程设计报告-------学生信息管理系统一、系统开发平台1.1 题目:学生选课管理信息系统⏹(1) 要求系统可以准确地记录和查询学生信息,包括学生的姓名、单位、年龄、性别以及身份证号码等。
⏹(2) 要求系统可以准确地记录学生地每一次奖惩情况。
⏹(3) 系统可以对学校的院系情况进行管理,包括设置学院名称、修改某学院某专业方向的名称等。
⏹(4) 系统应该可以对基础数据进行维护。
⏹(5)系统能够对开设的课程进行管理⏹(6)学生选课管理、考试(登记分数)⏹(7)系统还应该提供强大数据统计、查询、报表生成以及打印等功能。
⏹(8)用户权限管理⏹(9)异常处理1.2 开发语言:Java用Java做设计流程清晰、结构合理,有良好的可扩充性和耦合性。
1.3 开发工具:Eclipse1.4 数据库: MySQL1.5 操作系统:Microsoft Windows 8.1二、数据库规划2.1 任务陈述⏹(1) 要求系统可以准确地记录和查询学生信息,包括学生的姓名、单位、年龄、性别以及身份证号码等。
⏹(2) 要求系统可以准确地记录学生地每一次奖惩情况。
⏹(3) 系统可以对学校的院系情况进行管理,包括设置学院名称、修改某学院某专业方向的名称等。
⏹(4) 系统应该可以对基础数据进行维护。
⏹(5)系统能够对开设的课程进行管理⏹(6)学生选课管理、考试(登记分数)⏹(7)系统还应该提供强大数据统计、查询、报表生成以及打印等功能。
⏹(8)用户权限管理⏹(9)异常处理2.2 任务目标本系统主要可以实现以下任务目标:1、系统可以准确地记录和查询学生信息,包括学生的姓名、专业、生日、性别以及身份证号码等,可以准确地记录学生的每一次奖惩情况。
2、系统可以对学校的院系情况进行管理,包括添加查询修改删除学院信息、添加查询修改删除某学院某专业信息等。
3、系统可以准确地记录和查询教师信息,包括教师的姓名、专业、生日、性别以及身份证号码等。
学生选课系统实验报告

一、实验目的1. 熟悉数据库的基本概念和操作方法。
2. 掌握SQL语言的基本语法和应用。
3. 了解并掌握Java编程语言在数据库应用中的基本操作。
4. 提高学生选课系统的设计与实现能力。
二、实验环境1. 操作系统:Windows 102. 数据库:MySQL 5.73. 开发工具:Eclipse IDE4. 编程语言:Java三、实验内容1. 数据库设计2. 系统模块设计3. 系统实现4. 系统测试四、实验步骤1. 数据库设计(1)创建数据库在MySQL中创建名为“student_course”的数据库。
(2)创建数据表在“student_course”数据库中创建以下数据表:- 学生表(students):包含学生ID、姓名、性别、出生日期、班级等字段。
- 课程表(courses):包含课程ID、课程名称、学分、上课时间、上课地点等字段。
- 选课表(enrollments):包含学生ID、课程ID、选课时间等字段。
(3)建立数据表之间的关系- 学生表和选课表通过学生ID建立一对一的关系。
- 课程表和选课表通过课程ID建立一对一的关系。
2. 系统模块设计(1)登录模块- 用户输入用户名和密码,系统验证用户身份。
- 验证成功后,进入系统主界面。
(2)选课模块- 查询课程信息:学生可以查看所有课程信息,包括课程名称、学分、上课时间、上课地点等。
- 选课:学生可以选择感兴趣的课程,并提交选课请求。
- 查看选课结果:学生可以查看自己的选课结果,包括已选课程、未选课程等信息。
(3)退课模块- 查看选课结果:学生可以查看自己的选课结果,包括已选课程、未选课程等信息。
- 退课:学生可以申请退课,并提交退课请求。
(4)管理员模块- 添加课程:管理员可以添加新的课程信息。
- 删除课程:管理员可以删除课程信息。
- 修改课程:管理员可以修改课程信息。
3. 系统实现(1)使用Java编程语言实现各个模块的功能。
(2)使用JDBC连接MySQL数据库,实现数据操作。
学生选课管理系统设计报告

《学生选课系统》课程设计学院信息工程专业网络工程班级 130461 课题名称学生选课管理系统设计组长学号姓名成绩组员学号姓名成绩组员学号姓名成绩开课时间 2014 至 2015 学年第一学期地点 D509一、课程设计的目的和要求本次学生选课管理系统的课程设计,明白整个系统架构,使得自己所学的Microsoft Visual C++ 6.0和Microsoft Access知识的相互结合,加深对数据库的认识,同时又复习了Microsoft Visual C++ 6.0的编写。
为以后能够合理的、精确地、独立的完成数据库提供了前提。
数据库运用到数据库建立,建立表以及表与表的连接等等,前台用Microsoft Visual 6.0中MFC工程建立需要的界面与编写界面之间连接代码等。
我们想通过本实验解决后台数据库与前台界面连接问题,这也是主要问题所在,只有正确连接才能保证前台用户操作正确的数据,达到数据库中数据资源的共享目的。
本次课程设计开发一套选课系统,由学生选课系统、教师系统和管理员系统三部分组成。
管理员可以通过管理员系统进行管理课程,查看课程选修情况,查看教师授课情况,修改或删除课程或者学生的信息。
教师可以通过教师系统进行查看自己教授的的课程,可以进行对学生的评分,以及对自己密码的修改。
学生可以通过学生选课系统进行查看备选课程及该课程的信息,选择希望选修的课程,以及对自己密码的修改。
二、设计2.1本次课程设计建立学生选课管理系统,通过用户名、密码分别进入3个类别系统,分别是教理系统,教师管理系统,学生选课系统,图2.1 学生管理系统基本图通过管理员,进入系统界面可以执行以下操作:通过学生,进入系统界面可以执行以下操作:图2.4 教师管理系统数据需求(1)学生表信息:学号,姓名,性别,院系,班级,密码,年龄。
(2)课程表信息:课程编号,课程名称,学分,学时,开课学期。
(3)选表信息:学号,课程编号,课程名称,姓名,学分,成绩。
学生选课管理系统数据库设计报告

学生选课管理系统数据库设计报告一、引言学生选课管理系统是为了方便学生选择适合自己学习和兴趣的课程而设计的系统。
该报告旨在介绍该系统的数据库设计,包括数据库表、字段、关系等方面的设计。
二、数据库表设计1. 学生表(student)•字段:学生ID(student_id)、姓名(name)、年龄(age)、性别(gender)、班级(class_id)2. 课程表(course)•字段:课程ID(course_id)、课程名称(course_name)、教师(teacher)、学分(credit)、课程时间(time)、上课地点(location)3. 选课表(enrollment)•字段:选课ID(enrollment_id)、学生ID(student_id)、课程ID (course_id)、成绩(grade)三、数据库关系设计1.学生表与选课表之间的关系:–一个学生可以选择多门课程,一个课程可以被多个学生选择,是多对多关系。
–学生表与选课表通过学生ID(student_id)进行关联。
2.课程表与选课表之间的关系:–一门课程可以被多个学生选择,一个学生也可以选择多门课程,是多对多关系。
–课程表与选课表通过课程ID(course_id)进行关联。
四、数据库操作1.插入操作:向学生表中插入新的学生信息。
INSERT INTO student (student_id, name, age, gender, class_id) VALUES (1, '张三', 20, '男', 'ClassA');2.查询操作:查询学生选择的所有课程。
SELECT*FROM enrollment WHERE student_id=1;3.更新操作:更新学生成绩信息。
UPDATE enrollment SET grade=90WHERE student_id=1AND course_id=101;4.删除操作:删除选课表中的选课记录。
学生选课管理系统总体设计报告

学生选课系统总体设计报告一、引言1.1编写目的总体设计说明书的书写,主要是明确系统的功能,把总任务分解成多个基本的、具体的任务。
将系统分成若干个模块,确定各个功能模块的具体用途总体设计是系统开发过程中关键的一步。
系统的质量及一些整体特性基本上是由这一步决定的。
系统越大,总体设计的影响越大。
项目开发的专业人员需要了解系统的总体设计,并以次为行动指南,开展下一个阶段的具体工作。
1.2背景a.待开发的系统的名称:学生选课管理系统b.项目的任务提出者:田翠微岳鑫陆栋梁项目任务的开发者:田翠微岳鑫陆栋梁用户:在校的全日制老师和学生1.3参考资料《软件工程导论》张海藩,清华大学出版社。
二、总体设计2.1需求规定学生选课管理系统的主要功能是学生选课并且查询,修改,删除已选课程,老师查询所教课程和已选学生信息。
因此,该系统需要具备的具体功能如下:系统管理:包括用户信息(用户名,密码,用户类型等)的录入,删除,查询,还为用户提供密码修改的功能。
教师管理:包括教师的基本信息(如教师编号,姓名,性别,所属院系,职称)的查询,录入和修改等功能。
课程管理:包括课程的基本信息(如课程号,课程名,学分,课程类别和授课院系)的查询,录入和删除的功能。
学生管理:包括学生的基本信息(如学生编号,姓名,性别,所属院系,)的查询,录入和修改等功能。
2.1.1 系统功能图2-1 系统功能模块图2.1.2 输入输出要求系统的输入由用户(包括普通用户系统管理员)根据从外界各种渠道获得的相关的数据信息,将其分类整理,按照系统为用户提供的界面,有选择的将所需要的信息录入到系统的数据库中保存,用户可以通过各个模块为大家提供的查询功能来查询确认自己刚刚录入的信息有没有被系统存入数据库中保存。
如果保存成功的话,当用户查询时,系统会给用户提供相应的表单来告诉用户,您的信息已经入库保存了。
2.2处理流程图2-2系统流程图--登陆部分登陆完毕后,用户可以选择进入三个模块:教师管理模块、课程管理模块、学生管理模块中的任意一个或几个,由用户根据需要自行选择。
选课系统课设报告

选课系统课设报告全文共四篇示例,供读者参考第一篇示例:选课系统课设报告一、引言随着教育领域的不断发展,高校教学管理系统也在不断完善,选课系统作为高校教学管理系统的一个重要组成部分,对学生和教师的教学生活起着至关重要的作用。
本报告将针对选课系统进行设计与开发,以提高选课效率、方便学生和教师的教学活动。
二、系统需求1. 学生端需求:(1)学生能够浏览课程信息,包括课程名称、授课老师、上课时间等;(2)学生能够进行选课操作,包括添加课程、删除课程等;(3)学生能够查看自己的选课情况,并进行调整;(4)学生能够进行退课操作,包括退选已选的课程;(5)学生能够查看课程成绩、考试信息等。
三、系统设计1. 系统架构设计:(1)选课系统采用B/S架构,即浏览器/服务器结构,学生和教师都可以通过浏览器访问系统;(2)系统后台采用MySQL数据库进行数据存储;(3)系统前台使用HTML、CSS、JavaScript进行开发。
2. 模块设计:(1)课程信息模块:包括课程的发布、浏览、修改和删除等功能;(2)选课模块:包括学生的选课和退课功能;(3)成绩管理模块:包括教师对学生成绩的录入和统计分析功能;(4)反馈模块:学生和教师可以在系统内进行交流和反馈。
3. 功能设计:(1)学生注册登录:学生需要先注册账号并登录系统才能进行选课操作;(2)选课流程优化:学生可以根据自己的兴趣和实际情况进行选课,并进行灵活调整;(3)成绩统计分析:教师可以根据系统提供的成绩统计功能,对学生成绩进行全面分析;(4)平台信息推送:系统可以根据学生和教师的需求,进行相关信息推送,如课程变更、考试安排等。
四、系统实现1. 系统开发工具:(1)后台开发:使用Spring Boot进行后台服务开发;(2)前端开发:使用Vue.js进行前端界面开发;(3)数据库管理:使用MySQL进行数据管理。
2. 系统测试:(1)功能测试:测试系统的各项功能是否正常运行;(2)兼容性测试:测试系统在不同浏览器和设备上的兼容性;(3)性能测试:测试系统的性能是否稳定;3. 系统部署:系统部署在高校的教学管理平台上,学生和教师可以通过互联网访问系统进行选课操作。
学生选课管理系统规划报告

学生选课管理系统规划报告第一篇:学生选课管理系统规划报告学生选课管理系统规划报告1、系统的意义与目标网络的飞速发展深刻地影响了人们的日常生活和商业运作方式。
社会的方方面面渗透着互连网的应用,使得一向烦琐的手工程序变得方便,快捷,而学校网上选课系统正是基于这一思想而发展起来的。
传统的手工选课不仅复杂,也牵涉了很多的人力,对管理也造成了诸多不变,而借助网上选课系统,学生在规定选课时间段内,可以不受地点和时间的限制完成系统登录、选修课的申请和查询,而学校也可以方便地对系统进行管理和控制,提高工作效率。
2、系统的用户需求用户的需求具体体现在各种学习成绩的提供、保存、更新和查询方面,这就要求数据库结构能充分满足各种信息的输入和输出。
收集基本数据、数据结构及数据处理的流程,组成一份详尽数据字典,为后面的具体设计打下基础。
学生选课管理系统的设计为选课及成绩管理提供了一个良好的工具,此系统基本实现的设计要求有:(1)用户登录系统提供良好的用户登录界面,输入用户名,密码进行登录。
(2)学生的需求网上选课、选课情况查询、成绩查询。
(3)管理员(录入、查询、修改和删除)学生、课程基本资料。
(4)教师的需求(录入、查询、修改和删除)学生所选课程成绩,统计每个学生的总分、平均分以及排名等功能。
3、系统经费概算初步估算使用经费15万元,包括硬件资源、技术资料、开发费用、培训费用等。
其中,开发开发期间约需9万员,调试与运行期间约需6万元。
4、系统开发计划本系统开发计划由开发小组用10个月完成。
具体时间安排计划如下:(1)系统调研、系统分析:3个月。
(2)系统设计:2个月。
(3)系统程序设计:3个月。
(4)系统调试:1.5个月。
(5)系统试运行:1.5个月。
第二篇:学生选课管理信息系统规划学生选课管理信息系统规划(1)系统的意义与目标随着学校的办学规模不断扩大,生源的急剧增加,有关学生的各种信息量也成倍增长。
面对庞大的信息量,学校如何做管理才能够降低成本又能够提高管理质量;老师如何工作才能达到既能减轻工作量又能提高工作水平成为一直探讨和研究的一门学科。
课程设计报告--学生选课管理系统

数据库课程设计报告学生选课管理系统班级:10软件本2成员:常东亚 100913010彭红明 100913028章鑫 100913050目录一、课程设计任务和目的 (2)二、需求描述 (2)三、系统总体设计 (3)1.系统架构设计 (3)2.功能模块设计 (3)3.数据库设计(概要设计) (5)(1)E-R图 (5)(2)关系模式 (5)(3)数据库管理系统 (6)(4)数据库命名 (6)(5)数据库表 (6)四、系统界面设计 (11)1、用户登录账号和密码 (11)2、窗体功能描述 (12)3、页面/窗体关系结构图 (16)五、系统实现技术小结 (16)六、课程设计体会 (19)七、系统主要源程序清单 (20)一、课程设计任务和目的完成学生选课管理系统的开发并掌握SQL数据库的建立和使用。
二、需求描述本系统是一个单机版的小型的学生选课管理系统,在本系统中,开发了一个面向管理员、学生和教师这三个对象的教务平台,对学生提供的服务有登录、选课、、修改登录密码、和查询成绩这几个服务,所选课程总数不能超过3门;对教师提供的服务有登录、修改登录密码和登录成绩;对管理员提供的服务有登录开设学生和教师帐号、删除学生和教师帐号的服务。
三、系统总体设计1.系统架构设计(1)架构:单机(2)运行软件环境: windows XP 、jdk1.6(3)开发环境:硬件平台:CPU:P41.8GHz内存:256MB以上软件平台:windows XP SP3 、jdk1.6操作系统:WindowsXP数据库:SQL Server 2000、SQLServer SP4补丁开发工具:Eclipse 3.3分辨率:1024*7682.功能模块设计各模块功能:● 登录界面:登录界面是有帐号,密码两个JTextField ,管理员帐号一字母A开头,教师帐号一字母T 开头,学生帐号以字母S 开头,登录帐号或密码输入错误会弹出相应的提示对话框。
学生选课管理系统课程设计报告报告

学生选课管理系统东北大学**分校**:*国锋**:3090908指导教师:朱世敏日期:2022 年06 月19 日目录0一、总体说明1二、功能模块构造图2三、变量说明(公有、私有、本地变量3四、数据库、表的设计及描述41.数据库:42. 〔1〕管理员表:4〔2〕学生根本信息表:4〔3〕课程表:4〔4〕学生成绩表:4〔5〕密码表:4五、操作说明4六、各模块代码及结果图6封面:6登录:7主界面:8可选课程信息表单:8学生选课记录查询8记录修改下的表单:9学生选课信息:9课程信息修改表单:9报表:9密码修改:10菜单:10七、课程设计总结:11总体功能介绍:1、在学生选课信息管理系统中,先打**面,两秒后自动关闭并跳转至登录界面;2、首先输入用户名和密码等登录信息,点击确定登录进入主界面,点击退出登录,退出系统;3、登陆成功,进入主界面以后,有以下模块“数据查询〞、“记录修改〞、“报表〞、“密码安全〞。
在“数据查询〞中,包含“课程查询〞;在“记录修改〞中包含“课程和学生选课修改〞和“学生选课〞;在“报表〞中包含以下两项子菜单:“学生选课情况〞,“可选课程〞;在“密码安全〞中有“密码修改〞子菜单。
4、进入主界面1、在“数据查询〞下的“课程查询〞在其中输入中输入相应课程名称可以显示已将选课的内容,早课程信息上边的框中输入相应的课程名称可以查询该门课的课程信息;也可以在“数据查询〞中的“选课记录查询〞中可以通过按照“**〞对学生的选课记录发展统计;2、在“记录修改〞的下拉菜单中的“课程和学生选课修改〞中可以对课程信息发展修改,主要包括添加、删除、和退出等;在该下拉菜单下的“学生选课〞子菜单中可以添加选课信息和删除选课信息;3、“报表〞的下拉菜单中有“学生选课情况〞和“课程信息〞的报表,通过这两*报表可以查看和打印学生的选课情况,以及所有的课程信息内容,并可以按照**、班级、系别显示学生的选课情况;4、在“密码安全〞下拉菜单中有“密码修改〞通过“密码修改〞可以使原用户还可通过密码修改来不定期修改自己的原始密码,保证了数据的真实性和安全性。
学生选课管理系统设计

管理信息系统实验报告题目: 学生选课管理系统设计学院: 信息管理与工程学院专业: 信息管理与信息系统班级: 08级信管2班**: ***学号: ***************: ***完成日期: 2011年6月5日序言:该部分设计包括学生选课管理系统的总体设计和详细设计。
其中主要包括功能结构图设计、信息处理流程图、输出设计等方面的设计, 最后的出系统的物理模型。
1.功能结构图设计学生选课管理系统划分子系统后, 每个子系统都可以视为系统总体目标下的第一层功能。
每层功能还可以往下继续向下分解, 逐层细化。
学生选课管理系统功能结构图就是按照系统功能的从属关系画出的图。
在图中, 每个方框称为一个功能或功能模块。
每个功能模块的大小有具体情况而定。
图3-1为学生选课管理系统功能结构图。
图3-12.系统信息处理流程图学生选课管理系统流程图主要说明的是信息(即数据)在选课系统内部的流动、转换、存储、和处理的情况。
他不对具体处理情况进行描述, 也不对模块调用关系或具体功能进行描述。
该学生选课管理系统信息处理流程图是根据该系统的数据流程图绘制的。
该系统的数据关系图如图3-2所示。
图3-23.输出设计学生选课管理系统通过输出设计将实物直接反映给广大师生用户, 该输出设计使用方便, 而且可以为用户提供及时、准确、全面的选修课信息, 采用表格的形式输出方便师生阅读和理解。
4.存储文件格式设计根据学生选课管理的具体情况本系统采用索引的组织方式进行存储, 并且以主文件的形式直接存储。
5.输入设计学生选课管理系统的输入设计是系统的关键环节, 他保证了数据准确的传到系统中。
因此, 学生选课管理系统采用网络数据传送的方式直接传送数据, 保证了选修课数据的正确性。
输入格式主要采用报表的形式便于填写、归档和操作。
6.编码设计7.程序设计说明学生选课管理系统采用PAD图的基本结构, 进行程序设计描述程序各个模块的具体内容。
程序设计说明书如图3-6所示。
学生选课管理系统体系结构设计报告

目录0. 文档介绍........................................... 错误!未定义书签。
文档目的............................................. 错误!未定义书签。
文档范围............................................. 错误!未定义书签。
读者对象............................................. 错误!未定义书签。
参考文献............................................. 错误!未定义书签。
术语与缩写解释....................................... 错误!未定义书签。
1. 系统概述........................................... 错误!未定义书签。
概述................................................. 错误!未定义书签。
功能描述............................................. 错误!未定义书签。
2. 设计约束........................................... 错误!未定义书签。
需求规定 ............................................. 错误!未定义书签。
运行环境............................................. 错误!未定义书签。
接口约束............................................. 错误!未定义书签。
质量约束............................................. 错误!未定义书签。
学生选课系统设计报告

学生选课系统设计报告1摘要随着无纸化办公的普遍实现,信息的自动处理以及网络式的信息交互方式已经被人们广泛应用。
让计算机来管理学生的信息是现在各个高校都在积极进行的工作之一,也是高校教学管理工作的重要内容之一。
网上选课与传统的选课方式相比更加节约资源,增加了学生选课自主权。
学生选课系统作为一种现代化的教学技术,越来越受到人们的重视,是一个学校不可或缺的部分,学生选课系统就是为了管理好选课信息而设计的。
学生选课系统的将使选课管理工作规范化、系统化、程序化,避免选课管理的随意性,提高信息处理的速度和准确性,能够准确、及时、有效的查询和修改学生选课情况。
与传统的选课方式相比,网上选课系统利用局域网为学生选课带来了极大的便捷。
学生在公共机房,或者宿舍的个人电脑上便可以通过校园网络来选课。
在选课期间内,学生能够使用选课系统灵活的修改自己的选课情况,大大提高了学校选课工作的效率。
教务处的教师则可以通过选课系统的管理员子系统来管理学生的选课情况,使得学生选课工作达到系统化和自动化,大大提高了学校的工作效率,为广大师生及相关人员节省了极多的时间。
目录一概要1.系统需求2.功能需求二数据传输1.数据来源2.数据流图三数据库设计1.E-R图2.数据库表的设计3.数据库的安全性四总结一概要1.系统需求随着信息时代科技不断提高,学校规模不断扩大,教学质量不断提高,大学期间有许多公共选修课,以往的选修课方法是课堂报名或者纸上填写方式报名,这种方法虽然直接,但是造成选课的盲目性,而且学生选过课程后不好在更改查看,一方面浪费大量的人力,物力资源,另一方面浪费时间以及在认为统计过程中不可避免的出现差错的情况。
这给广大的老师和学生带来诸多的不便,管理起来也相当困难。
使用网上选课系统可以提前进行网上选课,并且选课以后学生还可以在查看和更改,随意选择各个老师的课程,老师管理起来也比较方便。
鉴于它的重要性,这就迫切需要一款网上选课系统。
学生选课管理信息系统实验报告

学生选课管理信息系统实验报告一、概述随着现代教育的发展,学生选课管理变得越来越重要。
为了提高教学质量和提升教学效率,学校需要建立一套完善的学生选课管理信息系统。
该系统可以帮助学校实现选课上线化、自动化和智能化,为学生、教师和管理人员提供便利。
二、系统架构1. 前端界面设计2. 后端数据库设计3. 业务逻辑设计三、功能实现1. 学生端功能a. 学生信息管理b. 选课功能c. 退课功能2. 教师端功能a. 教师信息管理b. 课程管理c. 成绩录入3. 管理员端功能a. 管理员信息管理b. 课程安排管理c. 数据统计分析四、系统优化1. 前端界面优化2. 后端数据库优化3. 业务逻辑优化五、实验结果分析1. 系统稳定性a. 在大数据量情况下,系统依然能够稳定运行。
b. 平均响应时间短,用户体验良好。
2. 功能完善性a. 学生选课流程简单方便。
b. 教师管理课程和录入成绩高效准确。
c. 管理员能够全面监控各项数据并进行统计分析。
3. 用户满意度a. 调查结果显示,学生、教师、管理员对系统使用体验满意度较高。
六、结论通过本次实验,我们成功建立了一套学生选课管理信息系统,该系统在稳定性、功能完善性和用户满意度方面均表现良好。
该系统将为学校提高教学质量和效率提供有力支持。
七、展望随着技术的不断发展,学生选课管理信息系统也将不断完善。
我们将继续优化系统,提高系统的性能和用户体验,为学校打造更加智能化、便捷化的选课管理系统做出更大的贡献。
八、系统架构扩展在系统架构方面,随着学校规模的不断扩大和教学需求的增加,我们计划对当前的学生选课管理信息系统进行扩展和升级。
具体包括:1. 前端界面设计:我们将进一步优化前端界面,增加响应式设计,以适配不同终端设备,如手机、平板和电脑,使学生、教师和管理员可以在任何时间、任何地点方便地使用系统进行选课、管理课程和数据统计分析。
2. 后端数据库设计:我们将对数据库进行扩展,并引入高级的数据存储技术,以提高系统的稳定性和处理能力。
学生选课系统详细设计报告

学生选课系统详细设计报告班级:网络10—2班姓名:张宇飞(08103639)王籽硕(08103631)目录第一章需求分析 (3)1.1.1.1 系统管理员需求分析 (3)1.1.1.2教师需求分析 (4)1.1.1.3 学生需求分析 (4)1.2 任务概述 (5)1.2.1 目标 (5)1.2.2 运行环境 (5)1.3 数据流图 (6)1.4 数据字典 (6)1.5系统完整性、安全性 (8)1.5.1 对服务的要求 (8)1.5.2 对性能的规定 (8)第二章概念结构设计 (10)2.2 学生选课系统概念结构设计 (10)2.2.1 系统实体E-R图 (11)2.2.2学生选课系统的分E-R图 (12) (12)图4 教务处需求管理的E-R图 (13)2.2.3学生选课系统E-R图 (14)第三章逻辑结构设计 (15)3.1 逻辑结构设计 (15)3.2 学生选课系统的逻辑结构设计 (15)第四章物理设计 (17)4.1 关系中的关系模式 (17)4.2 基本表设计 (17)第五章数据库的实施和维护 (21)5.1 数据的载入 (21)5.3 数据库的维护 (21)5.3.1 维护 (22)5.3.2检测并改善数据库性能 (22)5.3.3重新组织和构造数据库 (22)第一章需求分析1.1 需求分析1.1.1 分析阶段本项目所开发的学生选课系统完成学校对学生的选课信息的统计与管理,减少数据漏掉的情况,同时也节约人力、物力和财力,告别以往的人工统计。
方便学生、老师、管理员使用,学生可以在线查看可选课程信息、在线选课、信息修改、成绩查看,老师可以查选自己的课程人数、课程信息(包括开课时间、地点、开课方式),管理员可以对整个系统进行管理(包括系统管理、用户管理、课程管理)。
系统模块划分如下:1.1.1.1 系统管理员需求分析系统管理员负责整个系统的维护,其需求最为复杂,包括对学生、教师、选课进行管理和统计,及系统状态的查看、维护并生成选课报表、排课报表。
学生选课管理系统课程设计报告

学生选课管理系统东北大学秦皇岛分校姓名:刘国锋学号:3090908指导教师:朱世敏日期:2011 年06 月19 日目录目录 0一、总体说明 (2)二、功能模块结构图 (3)三、变量说明(公有、私有、本地变量 (4)四、数据库、表的设计及描述 (4)1.数据库: (4)2.(1)管理员表: (5)(2)学生基本信息表: (5)(3)课程表: (6)(4)学生成绩表: (7)(5)密码表: (7)五、操作说明 (8)六、各模块代码及结果图 (9)封面: (9)登录: (10)主界面: (11)可选课程信息表单: (12)学生选课记录查询 (12)记录修改下的表单: (13)学生选课信息: (13)课程信息修改表单: (14)报表: (14)密码修改: (16)菜单: (17)七、课程设计总结: (19)一、总体说明总体功能介绍:1、在学生选课信息管理系统中,先打开封面,两秒后自动关闭并跳转至登录界面;2、首先输入用户名和密码等登录信息,点击确定登录进入主界面,点击退出登录,退出系统;3、登陆成功,进入主界面以后,有以下模块“数据查询”、“记录修改”、“报表”、“密码安全”。
在“数据查询”中,包含“课程查询”;在“记录修改”中包含“课程和学生选课修改”和“学生选课”;在“报表”中包含以下两项子菜单:“学生选课情况”,“可选课程”;在“密码安全”中有“密码修改”子菜单。
4、进入主界面1、在“数据查询”下的“课程查询”在其中输入中输入相应课程名称可以显示已将选课的内容,早课程信息上边的框中输入相应的课程名称可以查询该门课的课程信息;也可以在“数据查询”中的“选课记录查询”中可以通过按照“学号”对学生的选课记录进行统计;2、在“记录修改”的下拉菜单中的“课程和学生选课修改”中可以对课程信息进行修改,主要包括添加、删除、和退出等;在该下拉菜单下的“学生选课”子菜单中可以添加选课信息和删除选课信息;3、“报表”的下拉菜单中有“学生选课情况”和“课程信息”的报表,通过这两张报表可以查看和打印学生的选课情况,以及所有的课程信息内容,并可以按照学号、班级、系别显示学生的选课情况;4、在“密码安全”下拉菜单中有“密码修改”通过“密码修改”可以使原用户还可通过密码修改来不定期修改自己的原始密码,保证了数据的真实性和安全性。
学生选修课程系统设计报告

学生选修课程系统设计报告1. 介绍本报告旨在设计一个学生选修课程系统,该系统允许学生在规定的选修课程范围内自主选择感兴趣的课程,并方便管理对应的课程信息和学生选课情况。
2. 系统目标该学生选修课程系统的目标如下: 1. 提供学生选择适合自己兴趣和学业规划的选修课程。
2. 管理选修课程的相关信息,包括课程名称、课程描述、授课教师等。
3. 记录学生的选课情况,包括已选修的课程和已获得的学分。
4. 接受学生的选课请求,并进行相应的课程冲突检查。
5. 提供选修课程的查询和管理功能,包括查看课程列表、课程详情和学生选课记录。
3. 系统设计3.1 数据库设计为了支持系统的功能和需求,需要设计以下数据库表格: - 学生表:记录学生的基本信息,包括学号、姓名、专业等。
- 课程表:记录选修课程的信息,包括课程编号、课程名称、课程描述、教师等。
- 选课表:记录学生的选课情况,包括学号、课程编号、选课时间等。
3.2 系统模块设计为实现系统的功能需求,设计以下模块: - 学生信息管理模块:用于添加、修改和删除学生信息。
- 课程信息管理模块:用于添加、修改和删除选修课程信息。
- 选课功能模块:用于学生选择和取消选修课程。
- 选课冲突检查模块:用于检查学生选修课程中是否存在时间冲突。
- 查询功能模块:用于查看选修课程列表、课程详情和学生选课记录。
4. 系统流程4.1 学生选课流程以下是学生选课的流程: 1. 学生登录系统。
2. 学生查询可选修的课程列表。
3. 学生选择感兴趣的课程。
4. 系统检查选修课程中是否存在时间冲突。
- 如果存在冲突,系统提示学生并要求重新选择课程。
- 如果不存在冲突,系统记录学生的选课记录。
5. 学生成功选修课程,系统更新学生的选课记录和已获得的学分。
4.2 课程管理流程以下是课程管理的流程: 1. 教务处添加新的选修课程。
2. 教务处修改选修课程的相关信息。
3. 教务处删除无效的选修课程。
选课系统课设报告

选课系统课设报告全文共四篇示例,供读者参考第一篇示例:选课系统课设报告一、引言选课系统是一个学校管理的重要组成部分,它能够帮助学生根据自己的兴趣和需求选择适合自己的课程,同时也能够有效地帮助学校管理课程资源和教学计划。
本课设报告将详细介绍我们设计的选课系统,包括系统的功能设计、架构设计、数据库设计等方面,旨在帮助学校更好地管理和组织课程资源。
二、系统的功能设计1. 学生模块(1)学生登录:学生可以通过输入账号和密码登录选课系统,以便查看课程信息和进行选课操作。
(2)课程查询:学生可以通过系统查询课程信息,包括课程名称、教师、上课时间等详细信息。
(3)选课操作:学生可以根据自己的需求选择适合自己的课程,并进行选课操作。
(4)课程评价:学生可以对已修课程进行评价,包括教学质量、课程内容等方面。
2. 教师模块(2)课程管理:教师可以管理自己的课程信息,包括添加课程、修改课程内容等操作。
(3)学生成绩:教师可以查看学生的成绩情况,以便及时调整教学计划。
3. 管理员模块(3)学生管理:管理员可以管理所有学生的信息,包括添加新学生、删除学生信息等操作。
4. 系统设置(1)个性化设置:学生和教师可以根据自己的需要进行个性化设置,如修改密码、更改头像等。
(2)通知功能:系统可以向学生、教师发送通知信息,包括选课通知、考试通知等。
我们选用了B/S架构设计选课系统,即浏览器/服务器架构。
用户通过浏览器访问系统,系统通过后台服务器进行数据处理和相应操作。
这种架构有以下优点:1. 用户友好性:B/S架构模式简单直观,用户只需通过浏览器即可访问系统,无需安装额外的客户端软件。
2. 数据安全:系统的数据都存储在后台服务器上,避免了数据泄露和信息丢失的风险。
3. 维护方便:B/S架构可以集中管理后台服务器,对系统的维护和更新更加方便快捷。
我们设计了以下几张数据库表来存储系统的数据信息:1. 学生表:用来存储学生的基本信息,包括学号、姓名、性别、年龄等字段。
学生选课系统课程设计报告

学生选课管理系统摘要随着社会的发展,学生的人数和课程的种类急速增加,传统的选课管理模式已经无法满足当前的实际需求,为此,我们开发了学生选课管理系统。
本人结合学生选课管理的实际需要,完成了对学生选课管理系统的需求分析、功能模块划分、数据库模式分析等,并由此设计了后台数据库以及前台应用程序。
文中首先对课题背景,数据库基础理论和SQL语言进行了简单的讨论;接着,对系统前台开发工具PowerBuilder9.0,学生选课管理系统进行了详细分析,划分了具体的功能模块;最后,给出了学生选课系统应用程序的设计过程,以及每个功能模块的核心代码。
系统可以实现学生选课的一些重要功能,如:课程的添加、删除,信息查询、选课、生成课表,以及学生选课管理人员、用户个人信息的维护等。
关键词管理系统;数据库;PowerBuilder9.0;SQL Server 2000Select CourseManagement System of StudentsABSTRECTWith the development of society, not only the stud ent’s number but also the kinds of course increased rapidly, the traditional management mode has been unable to adapt to actual need, so we develop the select course management system of students.According to the actual need of select course, I analyzed t he demand, divided function nodule, analyzed database mode of the system. Then, I designed database of backstage and application program of stage.Firstly, I simply discussed the background of this subject and the basic theory of the database and SQL langu age in the article. Then I analyzed the development tool—PowerBuilder9.0,analyzed in detail to system and divided the concrete function module. Finally, I provided the design process of the system and the key code of each function nodule.The system accomplished some important functions of management system of books, such as: course’s input, output, information inquiry, select courses, create table of course, modify information of the administrators and students, etc.KEY WORDS Management System,Database, PowerBuilder9.0, SQL目录摘要 (I)ABSTRECT (II)1 绪论 (1)1.1 课题的背景 (1)1.2 课题的设计 (2)1.3 本文的结构 (2)2 相关知识基础 (3)2.1 数据库的基础知识 (3)2.2 关系型数据库 (5)2.3 PowerBuilder9.0开发工具简介 (7)2.4 SQL概述 (8)2.5 本章小结 (11)3 系统分析 (13)3.1 系统分析 (13)3.1.1 用户要求 (13)3.1.2 业务流程分析 (13)3.1.3 系统实体E-R图分析 (14)3.2本章小结 (15)4 系统实现 (16)4.1 创建一个工作空间和应用程序对象 (16)4.2创建数据库表 (16)4.3创建主窗口 (18)4.4 创建主菜单 (18)4.5系统管理模块的实现 (19)4.5.1创建课程查询窗口 (19)4.5.2 创建添加选课窗口 (21)4.5.3 创建生成课表窗口 (26)4.5.4 创建个人信息窗口 (28)4.5.5 生成课表窗口的设计 (29)4.5.6 创建登录窗口 (31)4.5.7 splash界面的实现 (32)结束语 (34)致谢........................................ 错误!未定义书签。
学生选课系统课程设计报告

学生选课系统课程设计报告1. 引言学生选课是大学教务管理中常见的重要环节,影响着学生的学习计划和课程安排。
为了提高选课效率和便捷性,设计一个学生选课系统至关重要。
本报告旨在介绍学生选课系统的设计与实现。
2. 需求分析学生选课系统应满足多方面需求,包括但不限于以下几点: - 学生能够浏览可选课程信息; - 学生能够自主选择并提交选课请求; - 管理员能够管理课程信息、学生选课情况等; - 系统需具备良好的用户界面和操作体验。
3. 系统设计3.1 数据库设计•学生表(Student):包含学生基本信息;•课程表(Course):包含课程信息;•选课表(Selection):记录学生选课情况。
3.2 系统模块设计•学生模块:实现学生登录、浏览课程、选课等功能;•管理员模块:实现管理员登录、管理课程、学生选课情况等功能。
3.3 界面设计采用简洁直观的界面设计,方便学生和管理员使用。
4. 系统实现4.1 技术选型•前端:采用HTML、CSS、JavaScript实现;•后端:采用Java语言,使用Spring框架搭建后台服务;•数据库:使用MySQL存储数据。
4.2 功能实现•学生模块:学生可以注册登录,浏览课程信息,选择并提交选课请求;•管理员模块:管理员可以管理课程信息,查看学生选课情况等。
5. 系统测试进行单元测试、集成测试和系统测试,确保系统功能正常。
6. 结论学生选课系统的设计与实现对提高教务管理的效率和质量具有重要意义。
通过本文介绍的系统设计和实现,希望能够为大学教务管理提供一定的参考和借鉴。
以上是本文对学生选课系统的课程设计报告,感谢阅读!。
学生选课管理系统课程设计报告

学生选课管理系统课程设计报告一、引言学生选课管理系统是现代高校管理系统中不可或缺的一部分,它为学生提供了方便、高效的选课流程,并为学校管理者提供了便捷的课程管理工具。
本文将介绍一个基于Web的学生选课管理系统的设计与实现。
二、系统概述学生选课管理系统主要包括学生信息管理、课程管理、选课管理和成绩管理等模块。
学生可以通过系统查询课程信息、选课、查看成绩等功能,教师可以管理课程、录入成绩等操作。
三、需求分析1. 功能需求•学生注册登录:学生通过注册信息登录系统;•课程信息管理:管理员发布课程信息,包括课程名称、授课教师、开课时间等;•选课管理:学生可以根据个人需求选择课程;•成绩管理:教师录入学生成绩;•系统管理:管理员管理用户信息和系统设置。
2. 非功能需求•安全性:用户信息加密存储,确保数据安全;•可靠性:系统稳定、可靠;•界面友好:用户操作简单、界面友好。
四、系统设计1. 数据库设计•学生表:包括学生ID、姓名、密码等字段;•课程表:包括课程ID、名称、教师等字段;•选课表:记录学生选课信息。
2. 系统架构•前端:使用HTML、CSS、JavaScript实现用户界面;•后端:使用Java语言、Spring框架实现系统逻辑;•数据库:使用MySQL数据库存储数据。
五、系统实现1. 学生注册登录学生填写注册信息,系统验证信息并存储用户信息,用户登录时验证身份。
2. 课程信息管理管理员发布课程信息,包括课程名称、授课教师、上课时间等。
3. 选课管理学生登录系统后可以查看课程信息,选择感兴趣的课程进行选课。
4. 成绩管理教师录入学生的成绩并保存到数据库,学生可以查看个人成绩。
六、系统测试系统测试主要包括功能测试、性能测试、安全性测试等,确保系统能够正常运行,并符合需求和非功能要求。
七、总结与展望通过本次学生选课管理系统的设计与实现,实现了学生选课、教师录入成绩等基本功能。
未来可以进一步完善系统的功能,提高系统的可扩展性和稳定性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机程序设计实践课程设计报告班级计算机 1002班学号 *********姓名喻祥尤指导教师常燕2012年 5月 11日学生选课管理系统设计报告摘要:本系统实现环境为Windows visual c++ 6.0 , 使用面向对象c++程序设计方法;基于MFC类库的基本系统,主要实现学生选课管理、资料修改;管理员对数据信息的增删改查,管理学生信息等功能。
关键字:学生;课程;管理员;选课;录入;删除;浏览。
1 引言随着计算机的普及,各高校均采用计算机进行学生选课。
而对学生选课相关信息的管理由学生选课管理系统实现。
学生选课系统是一个学校不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生选课系统应该能够为用户提供充足的信息和快捷的查询手段。
2 需求分析2.1 系统功能分析1)学生①学生登录②学生选课,退选,选课浏览③学生信息修改(修改密码)④学生查询课程,浏览课程信息2)管理员①管理员登录②管理员资料修改(密码修改)③管理系统a.录入课程、学生b.删除课程、学生c.修改课程、学生(权限有限制)d.浏览课程、学生信息(学生密码不可见)3)文件读取与保存①学生文件保存与读取②课程文件保存与读取2.2 系统设计目标学生选课系统是一个学校不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生选课系统应该能够为用户提供充足的信息和快捷的查询手段。
但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
因此为了减缓这些困难,该系统总体实现学生性息管理、课程信息管理、学生选课等功能;该系统分两类型用户:1、学生2、管理员。
两用户通过登录进入不同的界面。
学生主要实现选课,通过查询、浏览本学期所开设课程进行选课与退选课程;管理员可以通过特别用户身份登录,对系统进行全面的管理,对新用户与课程的添加、删除、修改,对信息进行管理。
3 概要设计3.1 系统功能设计1)学生功能模块图3.1.1学生功能结构图2)管理员功能模块图3.1.2管理员功能结构图3.2 系统工作流程见图3.2.1系统工作流程图3.3类设计与类结构1)学生类属性:学号,名字,班级,密码,性别,出生年月,入学年份,籍贯,电话,选课数。
2)课程类属性:课程号,课程名,课程类别,上课老师,选课上限,已选人数,上课时间,上课地点。
3)管理员类属性:编号,名字,密码,性别,年龄。
图3.2.1系统工作流程图4)界面类①登录界面②管理员界面类③学生界面类④学生、课程查找界面⑥学生信息修改界面、密码修改界面5)图3.2.5.1学生属性图图3.2.5.2学生属性图+N3.4开发与运行环境Microsoft visual C++ 6.0MFC AppWizard(.exe)平台实现4 详细设计设计每个模块的算法和流程(内容为五号宋体)4.1 界面设计1)登录模块开始输入帐号密码帐号密码管理员或学生界面结束图4.1.1登录流程图概要:登录模块主要实现学生和管理员的登录,在登录界面设置身份选项使用户以不同身份登录,进入不同的界面和有不同的权限。
按登录键进入所选的界面,按退出键退出系统。
选择用户身份登录图4.1.1登录界面2)先点击列表控件,选择课程后再按按钮图4.1.2学生界面图学生界面模块主要实现学生应用此系统实现的相应操作,使学生与计算机交互便捷;不同按钮分别实现不同的功能。
①查询课程:弹出查询课程对话框;②课程浏览:按下后可浏览系统所保存的所有课程数据,显示在“课程浏览区”的列表框里;③修改资料:按下后弹出学生资料修改对话框;④清空列表:按下后实现把界面中说有列表中的数据清空,但未删除。
⑤选课:先点击“课程浏览区”列表中的课程,再按下选课按钮实现学生选课功能;⑥退选:先点击“选课浏览区”列表中的课程,在按下退选按钮实现学生退选功能;⑦选课浏览:按下后在“选课浏览区”的列表中显示学生所选的课程;⑧退出:按下后退出系统;3)管理员界面选择操作对象先点击列表,选择编辑对象,再选择操作按钮图4.1.3管理员功能界面图①选择身份单选按钮:管理员界面顶上两单选按钮提供选择接下来的操作对象;初始化为学生。
②信息编辑区:按钮左旁是课程信息编辑区,右旁为学生信息编辑区;③添加:下载学生(课程)信息编辑框输入信息,按下添加按钮就增加一位学生(课程);功能为学生(课程)录入;④浏览:按下后先学生(课程)浏览区浏览系统记录的所有学生(课程);⑤删除:先点击学生(课程)信息浏览区中的记录,再按下删除按钮删除所选择的学生(课程);实现系统的删除功能;⑥查询:按下后弹出学生(课程)查询对话框;⑦修改:先点击学生(课程)信息浏览区的记录;再在相应的信息编辑区输入修改后的信息,最后按下修改按钮实现系统数据的修改;⑧修改资料:弹出管理员资料修改界面;⑨清空:按下后清空学生(课程)列表中的数据(未删除!);⑩退出:按下后退出系统;4)学生(课程)查找界面图4.1.4.1学生查询界面图4.1.4.2课程查询界面学生查找模块:在编辑区输入所查找的信息(只能填写一项并且必须填写一项)后,按下确定按钮查找学生(课程)并显示在列表控件中。
4.2 模块详细设计注:代码见附件1) 登录模块图4.2.1登录功能实现流程图2) 学生模块3) 管理员模块图4.2.3管理员界面流程图4)4.3 测试与运行结果主要功能:1)管理员界面课程查询图4.3.1管理员课程查询截图2)学生界面选课操作过程:先点击课程浏览区的编号为1002的课程,再点击选课按钮;弹出提示是否选课对话框。
选择确定,弹出提示选课成功.图4.3.2.1学生选课实例1图4.3.2.1学生选课实例2图4.3.2.1学生选课实例3 图4.3.2.1学生选课实例45 结语5.1结论与讨论通过此次的课程设计,我们小组通过讨论与合作,基本完成了简单的学生选课系统。
该系统包含两种用户:管理员、学生;实现管理员对系统进行管理,对信息的增删改查;学生实现选课等基本功能,还有待改进。
5.2 设计体会在此次课程设计中我发现了很多的问题,知道自己在程序设计方面严重不足,已经落后同学很远,为了很好的完成这次课程设计我查询了很多的书籍,对我程序设计能力有很大的提高让我体会到了自己做出一个软件后的乐趣,让我对C++充满了好奇心和无比的兴趣。
更重要的是除此之外,这次的课程设计也增加了我学习计算机编程的信心。
在今后的学习中,我会更加努力地去学习,学习在C++课程设计里体现的知难而进,主动积极问别的同学问题,找回持之以恒的态度,今后我的成绩也会越来越好。
参考文献[1] 刘锐宁,宁坤. Visual C++从入门到精通(第2版). 北京:清华大学出版社,2010[2] WEN Y D. Forced vibration. /vibram,1999[3]刘必广. 基于对任务的并行程序设计方法. 计算机与数字工程, 2010,19(12):45-《计算机程序设计》课程设计任务划分课程设计题目:C++面向对象课程设计附录4.2模块详细设计1.登录模块void CSelectCourseSystemDlg::OnBtnok(){UpdateData(true);if (m_istudent==1){if(CManager::mNumber!=m_number)AfxMessageBox("帐号或密码错误!");else if(CManager::mPassWord!=m_password)AfxMessageBox("帐号或密码错误!");else{CDialog::OnOK();CManagersDlg manager;manager.DoModal();}}else{CSelectCourseSystemDlg::OnLoad();for(int i=0;i<CStudent::count;i++){int Sign=0;if(CStudent::stu[i].snumber==m_number){CStudent::current=i;Sign=1;if(CStudent::stu[i].spassword==m_password){OnOK();CStudentDlg student;student.DoModal();}elseAfxMessageBox("密码错误!");break;}else if(i==CStudent::count-1&&Sign==0){AfxMessageBox("学号错误!");}}}UpdateData(false);}2.学生界面模块1)选课void CStudentDlg::OnBtnSelCourse(){UpdateData(true);for(int i=0;i<m_clist.GetItemCount();i++){if(m_clist.GetItemState(i,L VIS_SELECTED) == L VIS_SELECTED){int Cur=m_clist.GetNextItem(-1,L VNI_ALL|LVNI_SELECTED);CStudent::selcourse(m_clist.GetItemText(Cur,0));break;}}OnBtnCourseView();OnBtnSelectView();}2)退选void CStudentDlg::OnBtnBackSelect(){// TODO: Add your control notification handler code hereUpdateData(true);for(int i=0;i<m_sellist.GetItemCount();i++){if(m_sellist.GetItemState(i,L VIS_SELECTED) == L VIS_SELECTED){int Cur=m_sellist.GetNextItem(-1,L VNI_ALL|LVNI_SELECTED);CStudent::selcoursedelete(m_sellist.GetItemText(Cur,0));OnBtnCourseView();OnBtnSelectView();break;}}}3)选课浏览void CStudentDlg::OnBtnSelectView(){m_sellist.DeleteAllItems();if(CStudent::stu[CStudent::current].sc!=0)for(int i=0;i<CStudent::stu[CStudent::current].sc;i++){for(int j=0;j<CCourse::cNO;j++){if(CStudent::stu[CStudent::current].selcour[i]==CCourse::cou[j].cNumber){CString sTmp1,sTmp2;intpos=m_sellist.InsertItem(m_sellist.GetItemCount(),CCourse::cou[j].cNumber);m_sellist.SetItemText(pos,1,CCourse::cou[j].cName);m_sellist.SetItemText(pos,2,CCourse::cou[j].cTeacher);sTmp1.Format("%d",CCourse::cou[j].cMax);m_sellist.SetItemText(pos,3,sTmp1);sTmp2.Format("%d",CCourse::cou[j].cCount);m_sellist.SetItemText(pos,4,sTmp2);m_sellist.SetItemText(pos,5,CCourse::cou[j].cTime);m_sellist.SetItemText(pos,6,CCourse::cou[j].cPlace);m_sellist.SetItemText(pos,7,CCourse::cou[j].cKind);break;}}}elseAfxMessageBox("你还没有选课!");}4)查询课程void CStudentDlg::OnBtnCoursesearch(){if(CCourse::cNO==0)AfxMessageBox("没有记录课程!");else{CCourseSearch search;search.DoModal();}}5)浏览课程void CStudentDlg::OnBtnCourseView(){UpdateData(true);if(CCourse::cNO==0)AfxMessageBox("没有记录课程!");else{m_clist.DeleteAllItems();for(int i=0;i<CCourse::cNO;i++){CString sTmp1,sTmp2;int pos=m_clist.InsertItem(m_clist.GetItemCount(),CCourse::cou[i].cNumber);m_clist.SetItemText(pos,1,CCourse::cou[i].cName);m_clist.SetItemText(pos,2,CCourse::cou[i].cTeacher);sTmp1.Format("%d",CCourse::cou[i].cMax);m_clist.SetItemText(pos,3,sTmp1);sTmp2.Format("%d",CCourse::cou[i].cCount);m_clist.SetItemText(pos,4,sTmp2);m_clist.SetItemText(pos,5,CCourse::cou[i].cTime);m_clist.SetItemText(pos,6,CCourse::cou[i].cPlace);m_clist.SetItemText(pos,7,CCourse::cou[i].cKind);}}}6)学生信息修改void CStudentEditDlg::OnBtnEdit(){UpdateData(true);if(m_name==""||m_number==""||m_banji==""||m_phone==""||strlen(m_phone) !=11||strlen(m_number)!=9){//判断是否输入数据if(strlen(m_phone)!=11||strlen(m_number)!=9){if(strlen(m_number)!=9)AfxMessageBox("学生学号是9位的!");else if(strlen(m_phone)!=11)AfxMessageBox("电话号码是11位的!");}elseAfxMessageBox("请输入全部数据!");}else{//判断学号是否重复int Sign=0;for(int i=0;i<CStudent::count;i++){if(CStudent::stu[i].snumber==m_number){AfxMessageBox("该学号已经存在!");Sign=1;break;}}if(Sign==0){if(AfxMessageBox("确定要修改吗?",MB_YESNO|MB_ICONQUESTION)==IDYES){sGetV alue();AfxMessageBox("修改成功!");}}}}7)密码修改void CEditpasswordDlg::OnBUTTONeditpassword(){UpdateData(true);if(m_old==""||m_new1==""||m_new2=="")AfxMessageBox("密码不能为空!");else if(CStudent::stu[CStudent::current].spassword==m_old){if(m_new1==m_new2){CStudent::stu[CStudent::current].spassword=m_new1;AfxMessageBox("修改成功!");OnOK();}elseAfxMessageBox("两次输入的密码不相同!");}elseAfxMessageBox("原密码错误!");m_old="";m_new1="";m_new2="";UpdateData(false);}3.管理员界面模块1)添加void CManagersDlg::OnBtnadd(){UpdateData(true);if(m_mStudent==0){if(m_strsName==""||m_strsNumber==""||m_strsClass==""||m_strPhone==""||str len(m_strPhone)!=11||strlen(m_strsNumber)!=9){//判断是否输入数据if(strlen(m_strPhone)!=11||strlen(m_strsNumber)!=9){if(strlen(m_strsNumber)!=9)AfxMessageBox("学生学号是9位的!");else if(strlen(m_strPhone)!=11)AfxMessageBox("电话号码是11位的!");}elseAfxMessageBox("请输入全部数据!");}else{//判断学号是否重复int Sign=0;for(int i=0;i<CStudent::count;i++){if(CStudent::stu[i].snumber==m_strsNumber){AfxMessageBox("该学号已经存在!");Sign=1;break;}}if(Sign==0){sGetV alue(CStudent::count);sToList(CStudent::count);CStudent::count++;}}}else{if(m_strcName==""||m_strcNumber==""||m_strcTeacher==""||m_strcPlace=="" ||m_strcTime==""||strlen(m_strcNumber)!=4){AfxMessageBox("请正确的输入数据!\n数据不能为空\n 编号为四位的......");}else{//判断学号是否重复int Sign=0;for(int i=0;i<CCourse::cNO;i++){if(CCourse::cou[i].cNumber==m_strcNumber){AfxMessageBox("该课程编号已经存在!");Sign=1;break;}}if(Sign==0){cGetV alue(CCourse::cNO);cToList(CCourse::cNO);CCourse::cNO++;}}}UpdateData(false);}2)删除void CManagersDlg::OnBtndelete(){UpdateData(true);// TODO: Add your control notification handler code hereif(m_mStudent==0)for(int i=0;i<m_StudentList.GetItemCount();i++){if(m_StudentList.GetItemState(i,L VIS_SELECTED) == LVIS_SELECTED){int Cur=m_StudentList.GetNextItem(-1,L VNI_ALL|LVNI_SELECTED);if(AfxMessageBox("确定删除此学生?",MB_YESNO|MB_ICONQUESTION)==IDYES){CStudent::stuDelete(m_StudentList.GetItemText(Cur,0));m_StudentList.DeleteItem(i);}break;}}elsefor(int i=0;i<m_CourseList.GetItemCount();i++){if(m_CourseList.GetItemState(i,L VIS_SELECTED) == L VIS_SELECTED) {int Cur=m_CourseList.GetNextItem(-1,L VNI_ALL|LVNI_SELECTED);if(AfxMessageBox("确定删除此课程?",MB_YESNO|MB_ICONQUESTION )==IDYES){CCourse::couDelete(m_CourseList.GetItemText(Cur,0));m_CourseList.DeleteItem(i);}break;}}UpdateData(false);}3)浏览信息void CManagersDlg::OnBtnview(){UpdateData(true);// TODO: Add your control notification handler code hereif(m_mStudent==0){if(CStudent::count==0) AfxMessageBox("没有学生性息!");this->m_StudentList.DeleteAllItems();int temp=CStudent::count;//记录count值CStudent::count=0;for(int i=0;i<temp;i++){sToList(CStudent::count);//浏览stu[count]的信息CStudent::count++;}CStudent::count=temp;//复位count}else{if(CCourse::cNO==0) AfxMessageBox("没有课程性息!");this->m_CourseList.DeleteAllItems();int temp=CCourse::cNO;//记录cNO值CCourse::cNO=0;for(int i=0;i<temp;i++){cToList(CCourse::cNO);//浏览cou[cNO]的信息CCourse::cNO++;}CCourse::cNO=temp;//复位cNO}UpdateData(false);}4)修改信息void CManagersDlg::OnBtnEdit(){UpdateData(true);// TODO: Add your control notification handler code hereif(m_mStudent==0)for(int i=0;i<m_StudentList.GetItemCount();i++){if(m_StudentList.GetItemState(i,L VIS_SELECTED) == LVIS_SELECTED){int Cur=m_StudentList.GetNextItem(-1,L VNI_ALL|LVNI_SELECTED);CString temp=m_StudentList.GetItemText(Cur,0);studentEdit(temp);m_StudentList.DeleteAllItems();OnBtnview();break;}}else{for(int k=0;k<m_CourseList.GetItemCount();k++){if(m_CourseList.GetItemState(k,L VIS_SELECTED) == LVIS_SELECTED){int Cur2=m_CourseList.GetNextItem(-1,L VNI_ALL|LVNI_SELECTED);CString temp1=m_CourseList.GetItemText(Cur2,0);courseEdit(temp1);m_CourseList.DeleteAllItems();OnBtnview();break;}}}UpdateData(false);}5)管理员资料修改void CMeditself::OnBtneditself(){// TODO: Add your control notification handler code hereUpdateData(true);if(m_oldpassword!=CManager::mPassWord)AfxMessageBox("密码输入错误!");else if(m_strnumber!=""&&m_strpassword!=""&&m_strname!=""){if(AfxMessageBox("确定修改!",MB_YESNO|MB_ICONQUESTION)==IDYES){CManager::mNumber=m_strnumber;CManager::mPassWord=m_strpassword;CManager::mName=m_strname;AfxMessageBox("修改成功!");OnOK();}}elseAfxMessageBox("请输入全部信息!");}6)清空列表void CManagersDlg::OnBTNmClear(){// TODO: Add your control notification handler code here//CStudent::count=0;if(m_mStudent!=0){m_CourseList.DeleteAllItems();}elsem_StudentList.DeleteAllItems();}7)4.查询课程(学生)模块void CCourseSearch::OnBtncFind(){// TODO: Add your control notification handler code hereUpdateData(true);m_clist.DeleteAllItems();int temp=0,temp1=0;if(m_cnumber!=""){temp=1;temp1++;}if(m_cteacher!=""){temp=2;temp1++;}if(m_cname!=""){temp=3;temp1++;}if(m_ctime!=""){temp=4;temp1++;}if(temp==0)AfxMessageBox("必须填写一项!");else if(temp1!=1){AfxMessageBox("只能填写一项!");m_cnumber="";m_cname="";m_ctime="";m_cteacher="";temp=0;}int i,Sign=0;if(temp==1){for(i=0;i<CCourse::cNO;i++){if(m_cnumber==CCourse::cou[i].cNumber){m_cnumber="";Sign=1;cSearchToList(i);break;}if(i==CCourse::cNO-1&&Sign==0){AfxMessageBox("没有找到相关课程!");m_cnumber="";} }}if(temp==2){for(i=0;i<CCourse::cNO;i++){if(m_cteacher==CCourse::cou[i].cTeacher){Sign=1;cSearchToList(i);}if(i==CCourse::cNO-1&&Sign==0){AfxMessageBox("没有找到相关课程!");m_cteacher="";} }m_cteacher="";}if(temp==3){for(i=0;i<CCourse::cNO;i++){if(m_cname==CCourse::cou[i].cName){Sign=1;cSearchToList(i);}if(i==CCourse::cNO-1&&Sign==0){AfxMessageBox("没有找到相关课程!");m_cname="";} }m_cname="";}if(temp==4){for(i=0;i<CCourse::cNO;i++){if(m_ctime==CCourse::cou[i].cTime){Sign=1;cSearchToList(i);}if(i==CCourse::cNO-1&&Sign==0){AfxMessageBox("没有找到相关课程!");m_ctime="";} }m_ctime="";}UpdateData(false);}5.文件保存读取模块1)打开文件void CSelectCourseSystemDlg::OnMENUcOpen(){// TODO: Add your command handler code hereifstream cfile("course.txt"),cfile1("cNO.txt");cfile1>>CCourse::cNO;for(int i=0;i<CCourse::cNO;i++){cfile>>cous[i].cNumber>>cous[i].cName>>cous[i].cTeacher>>cous[i].cMax> >cous[i].cKind>>cous[i].cCount>>cous[i].cTime>>cous[i].cPlace;CCourse::cou[i].cCount=cous[i].cCount;CCourse::cou[i].cKind.Format("%s",cous[i].cKind.c_str());CCourse::cou[i].cMax=cous[i].cMax;CCourse::cou[i].cName.Format("%s",cous[i].cName.c_str());CCourse::cou[i].cNumber.Format("%s",cous[i].cNumber.c_str());CCourse::cou[i].cPlace.Format("%s",cous[i].cPlace.c_str());CCourse::cou[i].cTeacher.Format("%s",cous[i].cTeacher.c_str());CCourse::cou[i].cTime.Format("%s",cous[i].cTime.c_str());}}2)保存文件void CSelectCourseSystemDlg::OnMENUcSave(){// TODO: Add your command handler code hereofstream cfile("course.txt"),cfile1("cNO.txt");cfile1<<CCourse::cNO;for(int i=0;i<CCourse::cNO;i++){cous[i].cCount=CCourse::cou[i].cCount;cous[i].cKind=CCourse::cou[i].cKind.GetBuffer(CCourse.cou[i].cKind.GetLen gth());cous[i].cMax=CCourse::cou[i].cMax;cous[i].cName=CCourse::cou[i].cName.GetBuffer(CCourse.cou[i].cName.Get Length());沈阳工业大学 10级计算机科学与技术专业课程设计报告 3030cous[i].cNumber=CCourse::cou[i].cNumber.GetBuffer(CCourse.cou[i].cNumb er.GetLength());cous[i].cPlace=CCourse::cou[i].cPlace.GetBuffer(CCourse.cou[i].cPlace.GetLe ngth());cous[i].cTeacher=CCourse::cou[i].cTeacher.GetBuffer(CCourse::cou[i].cTeach er.GetLength());cous[i].cTime=CCourse::cou[i].cTime.GetBuffer(CCourse.cou[i].cTime.GetLe ngth());cfile<<cous[i].cNumber<<"\n"<<cous[i].cName<<"\n"<<cous[i].cTeacher<<"\n"<<cous[i].cMax<<"\n"<<cous[i].cKind<<"\n"<<cous[i].cCount<<"\n"<<cous[i].cTime<<"\n"<<cous[i].cPlace<<"\n\n";}}。