学生选课管理系统规划报告

时间:2019-05-15 13:51:03下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《学生选课管理系统规划报告》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《学生选课管理系统规划报告》。

第一篇:学生选课管理系统规划报告

学生选课管理系统规划报告

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)系统的意义与目标

随着学校的办学规模不断扩大,生源的急剧增加,有关学生的各种信息量也成倍增长。面对庞大的信息量,学校如何做管理才能够降低成本又能够提高管理质量;老师如何工作才能达到既能减轻工作量又能提高工作水平成为一直探讨和研究的一门学科。伴随着计算机的盛行,信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟,学校需要与时俱进的发展,达到科学化和高效化的管理,就需要建立一套与自身特点相适应的管理信息系统来满足学校学分制改革的要求,便于操作使用。

通过正确的口令进入系统,进行数据库的维护操作和运用,对数据安全性有一定的保障,保密性好;进入系统后可对学籍信息、班级信息进行添加、修改、删除、查询操作;用来实现学生信息管理工作流程的系统化、规范化和自动化。

(2)系统的用户需求

通过调查,要求系统需要有以下功能:

⑴ 由于操作人员的计算机知识普遍较差,要求有良好的人机界面;

⑵ 由于该系统的使用对象多,要求有较好的权限管理;

⑶ 原始数据修改简单方便,支持多条件修改;

⑷ 方便的数据查询,支持多条件查询;

⑸ 在相应的权限下,删除数据方便简单,数据稳定性好;

⑹ 数据计算自动完成,尽量减少人工干预;

学生选课管理系统的性能要求;

⑴软件的可行

以Windows XP为操作系统,运用SQL的数据库技术,根据科学的管理方法与编程技术设计、开发学生信息管理系统,能符合各种技术要求,拥有较高的存储能力和处理速度。该系统的运行硬件环境PC机,当用户使用系统时,通过正确的口令进入系统,进行数据库的维护操作和运用,对数据安全性有一定的保障,用户放心使用

(2)系统科学的分析

待开发模块的一般描述

本设计主要为学校学生信息管理提供一个使用方便、经济实用的系统模块,以替代传统的手工操作方式。对学生的基本信息模块进行了设计,包括添加、删除、查询学生信息等操作。

(3)模块设计

3.1 登录界面

登录界面的设计,主要是本着实用简便的原则设计制作。

3.2 主界面

当操作员的名称和密码均正确的时候,系统便会进入信息管理(主界面)。信息管理包括系统的所有主功能模块:学籍管理、班级管理、查询管理、退出系统。它可以实现录入学籍信息、录入班级信息、查询学籍信息(按学号、按姓名、按班级查询)、退出系统等功能。

3.3 信息管理

3.3.1添加学籍信息

当操作员点击学籍管理图片按钮进入子目录,继续点击添加学籍信息图片按钮,便可进入添加学籍信息界面,对学籍信息进行录入,添加学籍信息界面的结构(如图4):

3.3.2 修改学籍信息

当操作员点击学籍管理图片按钮进入子目录,继续点击修改学籍信息图片按钮,便可进入修改学籍信息界面,对学籍信息进行更改、删除,修改学籍信息界面的结构

3.3.3修改班级信息

当操作员点击班级管理图片按钮进入子目录,继续点击修改班级信息图片按钮,便可进入修改班级信息界面,对班级信息进行录入,修改班级信息界面的结构

3.3.5 数据库表

记录表信息,添加、修改后的信息保存于学籍信息表或班级信息表中。表中包含学号、姓名等字段,使用户直观、便捷的了解学生的基本情况3.3.4查询学籍信息

学籍信息的查询基于表,其中提供了按学号,按姓名,按班级三种查询,在选择按学号、按姓名或按班级后,可在文本框中输入要查询的姓名、学号或班级,然后点击“查询”可得到满足条件的查询结果。功能是便于操作人员对学籍信息的检索查询。如按班级查询,输入要查询的班级

4.系统调试

完成对流程的编码后,最重要的是对系统的测试工作。测试在系统设计阶段有两个时期,一个时期是在编码写完每个模块后做单元测试,另一个是对系统做综合测试。

第一、模块测试:在模块测试的时候,设计者从下面几个方面考虑:模块的结构;局部数据结构;重要执行通道;出错的处理通道;影响上述方面的边界条件。

第二、整体测试:总体测试是组装软件的系统技术,本系统采用渐增集成测试,即测试单一模块,再将测试完的模块加入到系统中,进行一次系统测试,以此类推将所以模块加入系统中,在具体测试时,采用自顶向下的结合方式,从主控模块开始,沿各控制层向下移动,逐渐把所以模块结合。

第三、评估运行可靠性的问题:结果正确;运行速度;空间利用率;

算法的可靠性

(3)系统经费概算

初步估算约需要20万,包括硬件资源,技术资源,开发费用。培训费用等。其中,开发期间约需8万。调试与运行约需6万元。

(4)系统开发计划

本系统计划由开发小组(开发人员4人)用12个月完成,具体时间安排计划如下:

系统调研,系统分析:3个月

系统设计:2个月

系统程序设计:3个月

系统调试:2个月

系统试运行:2个月

第三篇:学生选课系统可行性分析报告

学生选课系统可行性分析报告

学院:数学计算机学院组长:马琴

组员:许慕霄、伏敏润、王佩军

1.引言

1.1编写目的每学期的课程都是学校安排的,学生没有选择的自由,而且课程的安排由于各方面诸多的原因经常有不适之处,尤其是先行课的问题。另外,每学期考完试,同学们都要一次又一次的往系里跑,大家挤在一个小小的布告栏前面,在几张A4纸上寻找自己的名字和成绩。虽然从去年开始,全学校也改成了“学分制”,但整个选课过程的管理从我们学生的角度来看,变得更加混乱。同学们不知道每学期有什么课可以选,哪些是选修,哪些是必修,哪些是专业课;也不确定每门课多少学分,自己已经修了多少学分;更不用说考虑一下哪门课要先学,哪门课要后学,哪些课属于一系列。所以说,大部分同学都是为了“选课”而选课,完全没有实现鼓励同学发展个性,学各自之所爱的效果。不仅如此,每当选课的时候,同学们忙,老师更忙,学校和系里都需要投入大量的人力、物力对整个选课过程进行管理。

随着科学技术的发展,计算机已经是日常生活中不可或缺的工具,将学生选课系统从人工管理方式转变成为计算机软件控制。具有检索迅速、查找方便、可靠性高、存储量达、保密性好、寿命长、成本低等巨大优点。如今,学生选课系统已成为日常教学工作中必不可少的管理软件,可对学生信息、选修课程、科目成绩进行各方面的管理,为用户提供充足的信息和快捷的查询、修改手段。选课管理系统。既面向教务处,又面向教师和学生。不同的人,不同的身份操作的权限也不同。作为教师,他可以向教务处申请增加、删除、修改课程信息,并随时了解选修本课的学生名单,还可以输入并分析考试成绩。作为教务处管理员,它的权限是最宽的。他可以对教师提出的课程设置申请进行审批,同时对教学进行安排(包括时间和教室分配、选课结果管理)。作为学生,他可以查询可以选什么课,已有多少学分,还差多少学分。最后进行选课,在学期末还可以随时进行成绩查询。现筹划一学生选课系统管理软件以代替人工管理方式,最大程度的满足各方面用户的需求。

1.2 项目背景

项目名称:学生选课系统软件。

项目提出者:宁夏大学

项目开发者:开发小组

用户:宁夏大学

1.3 定义

SQL:结构化查询语言

Eclipse:开发源代码的、基于java的可扩展开发平台。

1.4 参考资料

《软件工程》

2.可行性研究的前提

2.1 要求

主要功能:教师对学生资料、成绩以及所选课程进行修改管理;学生可通过查询自身成绩,自主选择相关课程;管理员(教务处)统管所有学生、教师的相关信息。

性能要求:所有数据实时更新保持同步,且定时备份。

输出要求:简单、快捷、实时。

输入要求:及时的修改和更新学生、教师和课程的信息。

安全与保密要求:系统本身配备一定的安全机制,保证各项数据的完整、正确。

每类用户进入系统时,均需输入唯一的用户名和密码;教师有权对学生所选课程成绩进行录入、查询和修改;学生有权对选修课程进行修改;管理员有权对学生信息、所选课程、科目成绩进行管理、修改。

2.2目标

近几年来,我们宁夏大学一直都在扩招学生,外地生源的比例也比以前大了许多,而且还有日益增多的外国留学生,在管理上更增加了管理人员的劳动量,如此多的档案资料,以原有的工作人员数量要管理好实在不容易,但如果增加工作人员,管理成本必然也会增加,得不偿失,而我们这套系统这时就会发挥出它大大的作用,让实用这领会到它的优越之处,帮助老师轻轻松松管理好学生各方面的资料,无论学生是多是少,一切都会被管理得井井有条。节省更多的人力与设备,让学生选课管理成为一项很直接人性化的管理。

2.3条件、假定何限制

运行环境:Windows98/2000/XP/Vista/7,与Windows office软件高度兼容。硬件环境:奔4以上计算机。

开发环境:SQL Server、eclipse等。

该系统预期寿命五年。

2.4决定可行性的主要因素

学生选课系统软件满足各方用户需求。

成本/效益分析结果:效益>成本。

3.对现有系统的分析

3.1处理流程和数据流程

教师登录:可上传、修改、管理学生选课和成绩的查询。

学生登录:;学生可通过查询自身成绩,自主选择相关课程,查询各科成绩。学校登录:可查询、管理所有信息。

3.2工作负荷

当前系统负担全校将近20000余名教师、学生的日常选课管理工作。

3.3人员

当前系统需要4位管理员,对其专业技术要求不高,熟悉基本的电脑操作即可。

3.4设备

一台服务器,两台PC机。

3.5局限性

由于当前系统开发技术过于老旧,稳定性、安全性能尤为不佳,致使系统频繁遭遇恶意攻击。系统反应过慢,运行效率低。由此分析得出,需要开发新的学生选课系统软件。

4.技术可行性

我们身为首都经济贸易大学信息系的学生,最骄傲的就是拥有令其他系羡慕、向往的系机房。因特尔奔腾四的中央处理器,40G大容量的硬盘,加上256M的内存,配上经久耐用、定位准确的光电鼠标,这都为系统的开发与运行提供了良好的硬件环境,就是这样一台台先进傲人的电脑躺在机房里供我们随时使用,便利程度真是如此了得啊!

身为计算机科学与技术专业大三的学生,通晓一些计算机软件知识是肯定的,运用软件编写程序的能力也是必备的。当然,我们毕竟还是学生,能力还是有限的,但我们计算机系最不缺乏的就是计算机人才,向知识渊博、诲人不倦的郑小玲老师必会给我们以极大的帮助。更何况,俗语说的好:三个臭皮匠赛过诸葛亮。我们组有4个人,起码也顶两个诸葛亮呢。相信通过我们大家的集思广益,相得益彰,我们的系统将会以最完美的姿态展现在大家的面前。

我校自建校至今已有几十年的历史,各种课程比较齐备,且比较有条理。学分制度也比较完善。教师整体水平较高。这使我们开发这一对我们来说比较复杂的系统成为可能。虽然有如此好的客观条件,但始终没有一套完善简单易用的管理系统。现行系统虽然拥有了比较规范、科学的管理方法,并积累了大量的数据信息,具有一定的可行性,但是并不能掩盖其工作量大,管理不够系统的缺点。而我们的系统将充分利用学校为我们提供的宝贵信息,在继承其优点的基础上,开发出一套更为可行的学生管理系统。这套学生选课管理系统在今后的应用中再经过不断的修正与改进,将会使我学生选课更加完善、尽美。

5.经济可行性

成本方面,关于各种软、硬件及辅助设备的购置、调试、机房及辅助设施(电源等)以及系统维护,内务开销这些费用都可以忽略不计,因为我们有自己的电脑。

学生选课管理系统省去了老师为学生展示学校为学生提供的选修课程,并作介绍,考试后把分数抄录多次以做备案和公告这些大量繁杂而由单一枯燥的劳动,可以让老师把精力放在教学和组织教学等更重要更具创造性的事情上,这就显著的提高了他们的工作效率。

取消了抄录成绩后,学校里也不会再出现残破的成绩单一层盖一层的贴在公告栏或黑板上的情景,校园环境也会因此而变得更整洁,而且也为学校省下了大量的纸张,虽然数量并不是很多,但将来系统扩展到整个学校也将是很可观的。况且,在资源日益缺乏的今天,节省纸张已不仅仅是为学校减少办公费用这一单纯的意义。

众所周知,学校的的学生多,管理起来非常困难。相应的也加大了老师的工作量,又因为教学制度的不断变动和改革,因此,总能及时统计出一份内容清晰,条理性强的学籍学分选课分析报表对老师来说真是难于登天。但如果缺少这份报表,同学们就无法清楚了解自己的学分情况,盲目选课,打乱了学习计划,加重了课业负担,而那些基本顺从课程安排的同学则浪费了许多去学习有用知识的时间,甚至临毕业时却发现未修够学分而毕不了业。这个关系到每个人命运的问题绝对马虎不得。不能再坐以待毙了,我们这套学生选课管理系统将提供一份完整的学分选课报表,并会利用管理系统的易修改性及时进行更新,让同学们在选择课程,计算学分中更加游刃有余。

近几年来,我们宁夏大学一直都在扩招学生,外地生源的比例也比以前大了许多,而且还有日益增多的外国留学生,在管理上更增加了管理人员的劳动量,如此多的档案资料,以原有的工作人员数量要管理好实在不容易,但如果增加工作人员,管理成本必然也会增加,得不偿失,而我们这套系统这时就会发挥出它大大的作用,让实用这领会到它的优越之处,帮助老师轻轻松松管理好学生各方面的资料,无论学生是多是少,一切都会被管理得井井有条。

6.社会可行性

经过我们的调查,绝大部分的任课老师,行政人员和校领导都为现行系统的繁琐和冗杂的工作量所深深困扰着。在得知我们开发这套系统的计划后,他们都有一种守得云开见月明的感觉,并表示非常愿意在系统的开发过程中给予全力支持以及积极的配合。

我们这套学生选课管理系统不仅能够让老师更清晰的掌握自己学生的信息,同时也让学生自己更容易的知道如何准确的选课,如何计算学分及尽早得知自己的考试成绩。这就大大的为老师提供了便利。比如,在每学期期末考试后,大多数学生都已回到家中,如果为了获取考试成绩又不得不再返回学校的话,既费时

又费力,学生牢骚满腹,老师也不能提早放假休息。而我们的系统可以提供网上查分,同学们在家中只需要上网就可以在第一时间知道自己的成绩。还有,学生们也可通过我们的系统进行选课来凑够学分完成学业。在系统中会显示出个门课程的性质(如必修、限选、任选),其所占学分及任课老师的资料,其应用性之强得到充分发挥。

我们学校的电脑普及率已达到了很高的水平,尤其是我们系拥有设备先进管理完善的系机房,而学院的老师和学生们对电脑的操作也是驾轻就熟。因此,只要我们这套学生选课系统操作简单,实用,合理,大家肯定是乐于接受并积极响应和支持的。对于这一点,我们是很有信心的。随着信息时代的来临,学籍学分 选课等信息管理的自动化,一体化正是大势所趋。

7.其他可供选择的方案

暂无

第四篇:C语言课程设计学生选课系统

题目

一、学生选课管理系统

第一部分:课程设计名称、目的、要求

第二部分:程序总体设计思路

第三部分:程序功能划分、图示及流程图

第四部分:程序设计数据、运行结果

第五部分:程序的优缺点

第六部分:心得体会

第七部分:附录(源程序)

第八部分:附录(参考文献)

目录

..............................................................................第一部分:课程设计名称、目的、要求

名称:学生选修课程系统设计

目的:运用C语言提高解决实际问题的能力 实验环境:Microsoft Visual C++ 6.0 内容:

假定有n门课程,每门课程有课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于60)自由选课。【功能】

系统以菜单方式工作

课程信息录入功能(课程信息用文件保存)--输入 课程信息浏览功能--输出

查询功能:(至少一种查询方式)--算法 按学分查询 按课程性质查询 学生选修课程(可选项)

第二部分:程序总体设计思路

由于C语言是面对过程的语言,故我的设计思路是根据目标程序运行的过程来编写的。

具体的设计思路如下:

程序的要求是设计学生选修课管理系统,对选修课程能够进行录入和修改操作等,要求有菜单界面和退出功能。首先,考虑到程序的数据输入,可以设置一个管理员登陆选项,通过该选项进入管理员界面,进行选修课的录入和修改操作,最后将录入的课程保存到相应的文件中。然后定义各种函数的功能包括查看,查询,删除等。另一个为学生登陆界面,该界面学生可以进行课程选择和浏览查询等操作。在进行该操作之前需要对管理员保存的文件进行读取,然后对其中的内容进行查询等,在学生选好课程以后,可以将其选好的课程保存于相应的文件中,以便下次进行修改。通过函数的层层调用来实现程序的逻辑结构。中间通过文件的打开和关闭实现对文件内部所包含的数据的操作。

整个程序的设计思路到此结束。

第三部分:程序功能划分、图示及流程图

【功能模块划分及其流程图】

本程序功能模块根据程序设计的需求,综合程序的实用性、人性化、智能化的考虑,将程序划分为6个部分分别编写,程序主体功能将由这9个部分来完成。这9个部分依次是:

1.登录界面函数;void login()2.学生登录界面据函数:void stu_login()3.管理员登录界面函数:void man_login()4.退出界面函数:void bye_sys()

5.课程选择函数:void c_select()6.课程浏览函数:void c_view()7.课程查询函数:void c_search()8.课程增加函数:void c_add()9.课程删除函数:void c_delete()10.菜单函数:void index()11.主函数部分; main()

总体设计:

学生选课系统管理员登录学生登录新增课程删除课程课程浏览查询课程学生选课课程浏览课程查询c_add函数c_delete函数c_view函数c_search函数c_select函数c_view函数c_search函数

系统功能模块图

部分函数流程图:

1、课程选择函数:

开始输入要选择的课程的编号j=0;j

2、课程查询函数

开始输入要查询的课程的编号j=0;j

3、课程增加函数

开始输入要增加的课程的编号j=0;j

4、课程删除函数

开始输入要删除的课程的编号nj=0;j

本程序是一款应用软件,故数据设计、程序运行结果应在程序的

运用中得以体现,现在通过一个程序的运用事例来对程序运行结果进行演示与实现。【软件运用举例】

1、程序开始界面如下:

选择某个选项,如进行管理员登录,进行课程的增加 进入管理员界面:

2、再选择所要进行的操作,如进行课程增加,结果如下:

下面可以进行继续增加课程或者退出:

3、选择课程浏览,可以分页查看相应的课程信息: 第一页:

第二页:

4、课程查询

查找结果:

4、管理员课程删除操作:

删除后可以进行浏览,观察删除后的结果:

可见删除后只有一条记录。删除操作完成正确。下面进行学生操作的使用方法:

1、学生登陆界面:

2、选择学生选课选项:

3、学生登陆也可进行课程浏览和查询函数,其结果与管理员登陆相同,不再演示。

第五部分:程序的优缺点

【程序的优点】

算法是程序的灵魂,程序的优点首先表现在算法上的优点,其次才是功能上的。

[算法上的优点]主要体现在以下三点:

1.程序采用main主函数方式设计,程序的主体的功能大都由该功能

完成。程序如此设计有利于程序的进一步改进及有助于程序执行效率的提高。

2.程序对文件数据的读写采用了fread和fwrite块读写函数,能够将文件中的数据完全读出,然后赋到定义的数组中,再在相应的数组中进行一系列操作,最终再写入文件。

3.插入操作在本程序中将课程信息直接插入数组最后一个节点,从而减少了数据的相互移动,节省了时间。

[功能上的优点] 主要体现在以下两点:

1. 简洁明了的程序菜单。程序主要采用了层次不同的菜单,相互独立又相互联系,巧妙相接,符合用户的使用习惯与思维。2. 人性化的程序提示语言,程序提示语言较人性化,不仅大多为祈使语句、疑问句,而且提示明确,具有较强的明确的指导作用。程序提示不仅层次分明,提示方式多样,而且提示信息井然有序,更加有利于用户顺利、准确地看懂程序并进行操作。

【程序的缺点】 主要表现在以下两点:

1、本程序没有进行相应的密码操作,所以对于使用者来说可能存在比较大的不保密性。需要改善。

2、本程序没有使用文本读写函数fscanf和fprintf,所以的到的课程文件和选课文件都是二进制形式。

第六部分:心得体会

选课系统程序比起通讯录程序来讲好写一些,由于本程序用到了数组,对于数组的操作掌握的比较熟练,所以在编写程序的时候困难没有那么多。

本程序在编写的过程中用到了许多通讯录中的模块化设计和函数互相调用的思想,使得编写比较方便和好用。

通过该系统的课程设计分析,我掌握了模块化设计的方法,理解和运用了结构化程序设计的思想和方法,掌握和提高了运用C语言进行程序设计的能力。

程序设计的过程,实际上是确定解决问题的详细步骤,而这个步骤通常叫做流程,在程序设计过程中理清楚整个问题的流程很重要,然后采取逐步细化的方法实现整个程序。

对于一个较大的应用程序,一般不可能一次就设计出一个很完善的系统。通常要先设计满足基本要求的系统,然后再测试或者在使用的过程中不断完善,慢慢地做成一个功能很完善选修课程管理系统。所以在进行调试的时候需要对许多变量理解和掌握其变化规律等,这对于我更好的掌握visual C中调试的工具有很大的帮助。

总之经过这次课程设计,我对c语言的使用和理解都有了很大的加深,对于编程的思想也有了很多新的理解和感受。

第七部分:附录

一、参考文献:

1、李丽娟主编,C语言程序设计教程(第二版),人民邮电出版社

2、严蔚敏主编,数据结构(C语言),清华大学出版社

3、崔单主编,C语言程序设计案例精粹,电子工业出版社

4、谭浩强主编,程序设计(第三版),清华大学出版社

二、源程序

#include“stdio.h” #include“stdlib.h” #include“windows.h” #include“string.h”

void index();//首页 void login();void bye_sys();//退出界面

void stu_login();//学生登录菜单

void c_select();void c_view();//课程浏览

void c_add();//增加课程 void c_delete();void c_searchs();//学生查询函数 void c_searchm();//管理员查询函数 void c_viewm();//管理员浏览函数 void c_views();//学生浏览函数

struct course//定义课程结构体

{

int c_num;

char c_name[20];

int c_score;

int c_nelepeo;//课程已选人数

int c_melepeo;//课程人数上限 };struct student { char s_number[10];

char s_password[10];};struct manager { char m_name[10];char m_password[10];};

void index()//首页 {

char input;

printf(“nnttt*****************************n”);

printf(“ttt

湖南大学学生选课系统n”);

printf(“ttt*****************************nnn”);

printf(“ttt*****************************nnn”);

printf(“ttt*****************************nnn”);

printf(“ttt*****************************nnn”);

printf(“ttt**********设计者:刘晓斌******nnn”);

input=getchar();

system(“cls”);} void login()//登陆界面

{

void stu_login();

void man_login();

void bye_sys();

int input;

do

{

system(“cls”);

printf(“nnnt1.学生登录n”);

printf(“t2.管理员登陆n”);

printf(“t3.退出本系统n”);

printf(“t请选择服务类别:”);

scanf(“%d”,&input);

if(input!=1&&input!=2&&input!=3)//输入数不等于选项的时候打印画面

{

printf(“nt输入出错!请重新选择~n”);

printf(“nt按任意键返回选择页面~nt”);

getchar();getchar();

system(“cls”);

}

if(input==3)//如果输入3退出系统

{

bye_sys();

}

}while(input!=1&&input!=2&&input!=3);

switch(input)

{

case 1:stu_login();break;

case 2:man_login();break;

} }

void bye_sys()//退出界面 { exit(0);}

void man_login(){

void c_add();

void c_delete();

void c_view();

void c_searchm();

int in;

do

{

system(“cls”);

printf(“nnt1.新增课程n”);

printf(“t2.删除课程n”);

printf(“t3.课程浏览n”);

printf(“t4.课程查询n”);

printf(“t5.退出n”);

printf(“nnt请选择服务种类:”);

scanf(“%d”,&in);

if(in!=1&&in!=2&&in!=3&&in!=4&&in!=5)

{

printf(“nt没有这项服务t按任意重新选择”);

getchar();getchar();

}

}while(in!=1&&in!=2&&in!=3&&in!=4&&in!=5);

switch(in)

{

case 1:c_add();break;

case 2:c_delete();break;

case 3:c_viewm();break;

case 4:c_searchm();break;

case 5:login();break;

} }

void stu_login()//学生登录菜单

{

void c_select();

void c_view();

void c_searchs();

void login();

int input;

do

{

system(“cls”);

printf(“nnnt--学生登陆--”);

printf(“nnt1.学生选课n”);

printf(“t2.课程浏览n”);

printf(“t3.课程查询n”);

printf(“t4.退出n”);

scanf(“%d”,&input);

if(input!=1&&input!=2&&input!=3&&input!=4)

{

printf(“nt没有这项服务~n”);

printf(“t按任意键重新选择”);

getchar();

getchar();

}

}while(input!=1&&input!=2&&input!=3&&input!=4);

switch(input)

{

case 1:c_select();break;

case 2:c_views();break;

case 3:c_searchs();break;

case 4:login();break;

} }

void c_select(){

int n,in,i=0,j;int flag=0;

FILE *fp;

FILE *fp1;

char input;

struct course courses[10];

if((fp=fopen(“course.dat”,“rb”))==NULL)//判断是否存在课程

{

printf(“nnnt课程不存在nn”);

printf(“t<按任意键返回管理菜单>nt”);

input=getchar();

input=getchar();

stu_login();//进入学生登陆菜单

}

else//存在的话循环读取文件中的信息直到文件指针到文件尾部

{

do

{

fread(&courses[i],sizeof(struct course),1,fp);

i=i+1;

}

while(!feof(fp));

fclose(fp);//文件读完后关闭

}

printf(“nntt请输入你要选课程的编号:”);

scanf(“%d”,&n);

if((fp1=fopen(“courseselect.dat”,“rb”))==NULL)

{

fp1=fopen(“courseselect.dat”,“wb”);

}

else

{

fclose(fp1);

fp1=fopen(“courseselect.dat”,“ab”);

}

for(j=0;j

if(courses[j].c_num==n)

flag++;

if(flag==0)

{

printf(“nntt不存在对应课程n”);

printf(“nntt继续选课请按1,退出请按2:n”);

scanf(“%d”,&in);

switch(in)

{

case 1:c_select();break;

case 2:stu_login();break;

default:

printf(“输入错误,将返回登录界面!n”);

login();break;

}

}

else

{

fwrite(&courses[j],sizeof(struct course),1,fp1);

fclose(fp1);

printf(“nntt选课成功t请选择:”);

printf(“nntt1.继续选课”);

printf(“nntt2.退出,返回登录界面!”);

scanf(“%d”,&in);

switch(in)

{

case 1:c_select();break;

case 2:stu_login();break;

default:break;

}

} }

void c_viewm()//课程浏览

{

void stu_login();

void c_view();

int

inp,i=0,n=0;

FILE *fp;

char input;

struct course courseview[10];

if((fp=fopen(“course.dat”,“rb”))==NULL)//判断是否存在课程

{

system(“cls”);

printf(“nnnt课程不存在nn”);

printf(“t<按任意键返回管理菜单>nt”);

getchar();getchar();

stu_login();//进入学生登陆菜单

}

else//存在的话循环读取文件中的信息直到文件指针到文件尾部

{

do

{

fread(&courseview[i],sizeof(struct course),1,fp);

i=i+1;

}

while(!feof(fp));

fclose(fp);//文件读完后关闭

do

{

system(“cls”);

if(i==1)

{

printf(“nnnttt没有记录!n”);

getchar();getchar();

man_login();

}

else

{

printf(“nt------共有%d条记录-------”,i-1);

printf(“nnt课程编号: %dn”,courseview[n].c_num);

printf(“nnt课程名字: %sn”,courseview[n].c_name);

printf(“nnt课程学分: %dn”,courseview[n].c_score);

printf(“nnt课程已选人数: %dn”,courseview[n].c_nelepeo);

printf(“nnt课程人数上限: %dn”,courseview[n].c_melepeo);

printf(“nnt1.上一页t2.下一页t3.回目录”);

printf(“n请选择:”);

scanf(“%d”,&inp);

switch(inp)

{

case 1:

{

if(n==0)

{

printf(“nt已到达首页 t按任意键返回”);

input=getchar();

input=getchar();

}

else

{

n=n-1;

}

break;

}

case 2:

{

if(n==i-2)

{

printf(“nt已到达尾页t按人意见返回”);

input=getchar();

input=getchar();

}

else

{

n=n+1;

}

break;

}

case 3:{man_login();break;}

default:

{

printf(“nt操作错误t按任意键返回”);

getchar();getchar();

break;

}

}

}

}while(inp!=3);

} }

void c_views()//课程浏览

{

void stu_login();

void c_view();

int

inp,i=0,n=0;

FILE *fp;

char input;

struct course courseview[10];

if((fp=fopen(“course.dat”,“rb”))==NULL)//判断是否存在课程

{

system(“cls”);

printf(“nnnt课程不存在nn”);

printf(“t<按任意键返回管理菜单>nt”);

getchar();getchar();

stu_login();//进入学生登陆菜单

}

else//存在的话循环读取文件中的信息直到文件指针到文件尾部

{

do

{

fread(&courseview[i],sizeof(struct course),1,fp);

i=i+1;

}

while(!feof(fp));

fclose(fp);//文件读完后关闭

do

{

system(“cls”);

if(i==1)

{

printf(“nnnttt没有记录!n”);

getchar();getchar();

stu_login();

}

else

{

printf(“nt------共有%d条记录-------”,i-1);

printf(“nnt课程编号: %dn”,courseview[n].c_num);

printf(“nnt课程名字: %sn”,courseview[n].c_name);

printf(“nnt课程学分: %dn”,courseview[n].c_score);

printf(“nnt课程已选人数: %dn”,courseview[n].c_nelepeo);

printf(“nnt课程人数上限: %dn”,courseview[n].c_melepeo);

printf(“nnt1.上一页t2.下一页t3.回目录”);

printf(“n请选择:”);

scanf(“%d”,&inp);

switch(inp)

{

case 1:

{

if(n==0)

{

printf(“nt已到达首页 t按任意键返回”);

input=getchar();

input=getchar();

}

else

{

n=n-1;

}

break;

}

case 2:

{

if(n==i-2)

{

printf(“nt已到达尾页t按人意见返回”);

input=getchar();

input=getchar();

}

else

{

n=n+1;

}

break;

}

case 3:{stu_login();break;}

default:

{

printf(“nt操作错误t按任意键返回”);

getchar();getchar();

break;

}

}

}

}while(inp!=3);

} }

void c_searchs(){

void stu_login();

void c_searchs();

int id,i=0,j,inp,k;

int flag=0;

FILE *fp;

struct course coursesear[10];

if((fp=fopen(“course.dat”,“rb”))==NULL)

//判断课程信息是否存在 {

system(“cls”);

printf(“nnt课程不存在t按任意键返回”);

getchar();getchar();

stu_login();

}

else//存在的话循环读取文件中的信息直到文件指针到文件尾部

{

do

{

fread(&coursesear[i],sizeof(struct course),1,fp);

i=i+1;

}while(!feof(fp));

fclose(fp);

}

system(“cls”);

printf(“nnttt请输入你要查询的课程编号:”);

scanf(“%d”,&id);

do//检查输入是否符合要求

{

for(j=0;j

{

if(id==coursesear[j].c_num)

{

flag++;

k=j;

}

}

if(flag==1)

{

system(“cls”);

printf(“nnt课程编号:%dn”,coursesear[k].c_num);

printf(“nnt课程名字:%sn”,coursesear[k].c_name);

printf(“nnt课程学分:%dn”,coursesear[k].c_score);

printf(“nnt课程已选人数:%dn”,coursesear[k].c_nelepeo);

printf(“nnt课程人数上限:%dn”,coursesear[k].c_melepeo);

getchar();getchar();

printf(“nnt1.回目录继续查询t2.退出查询系统n”);

printf(“请选择:”);

scanf(“%d”,&inp);

switch(inp)

{

case 1:c_searchs();

case 2:stu_login();

default:

{

printf(“nt没有这项服务t请按任意键重新输入”);

getchar();getchar();

}

}

}

else

{

system(“cls”);

printf(“nnt不存在对应记录n”);

printf(“nnt1.回目录继续查询t2.退出查询系统n”);

printf(“请选择:”);

scanf(“%d”,&inp);

switch(inp)

{

case 1:c_searchs();

case 2:stu_login();

default:

{

printf(“nt没有这项服务t请按任意键重新输入”);

getchar();getchar();

}

}

}

}while(inp!=1);

}

void c_searchm(){

void stu_login();

void c_searchm();

int id,i=0,j,inp,k;

int flag=0;

FILE *fp;

struct course coursesear[10];

if((fp=fopen(“course.dat”,“rb”))==NULL)

//判断课程信息是否存在 {

system(“cls”);

printf(“nnt课程不存在t按任意键返回”);

getchar();getchar();

stu_login();

}

else//存在的话循环读取文件中的信息直到文件指针到文件尾部

{

do

{

fread(&coursesear[i],sizeof(struct course),1,fp);

i=i+1;

}while(!feof(fp));

fclose(fp);

}

system(“cls”);

printf(“nnttt请输入你要查询的课程编号:”);

scanf(“%d”,&id);

do//检查输入是否符合要求

{

for(j=0;j

{

if(id==coursesear[j].c_num)

{

flag++;

k=j;

}

}

if(flag==1)

{

system(“cls”);

printf(“nnt课程编号:%dn”,coursesear[k].c_num);

printf(“nnt课程名字:%sn”,coursesear[k].c_name);

printf(“nnt课程学分:%dn”,coursesear[k].c_score);

printf(“nnt课程已选人数:%dn”,coursesear[k].c_nelepeo);

printf(“nnt课程人数上限:%dn”,coursesear[k].c_melepeo);

getchar();getchar();

printf(“nnt1.回目录继续查询t2.退出查询系统n”);

printf(“请选择:”);

scanf(“%d”,&inp);

switch(inp)

{

case 1:c_searchm();

case 2:man_login();

default:

{

printf(“nt没有这项服务t请按任意键重新输入”);

getchar();getchar();

}

}

}

else

{

system(“cls”);

printf(“nnt不存在对应记录n”);

printf(“nnt1.回目录继续查询t2.退出查询系统n”);

printf(“请选择:”);

scanf(“%d”,&inp);

switch(inp)

{

case 1:c_searchm();

case 2:man_login();

default:

{

printf(“nt没有这项服务t请按任意键重新输入”);

getchar();getchar();

}

}

}

}while(inp!=1);}

void c_add()//增加课程 {

void c_add();

void man_login();

int i=0,j,inp;

FILE *fp;

struct course course_new;

struct course courses[10];

system(“cls”);

printf(“nntt请输入课程信息”);

printf(“nntt1.课程编号:”);

scanf(“%d”,&course_new.c_num);

printf(“nntt2.课程名字:”);

scanf(“%s”,course_new.c_name);

printf(“nntt3.课程学分:”);

scanf(“%d”,&course_new.c_score);

printf(“nntt4.课程已选人数:”);

scanf(“%d”,&course_new.c_nelepeo);

printf(“nntt5.课程人数上限:”);

scanf(“%d”,&course_new.c_melepeo);

if((fp=fopen(“course.dat”,“rb”))!=NULL)

{

do

{

fread(&courses[i],sizeof(struct course),1,fp);

i=i+1;

}while(!feof(fp));

fclose(fp);

for(j=0;j<=i-1;j++)

if(course_new.c_num==courses[j].c_num)

{

system(“cls”);

printf(“nnttt对不起,这个编号已经使用过nntt按任意键返回管理菜单”);

getchar();getchar();

man_login();

break;

}

}

if((fp=fopen(“course.dat”,“rb”))==NULL)

{

fp=fopen(“course.dat”,“wb”);

}

else

{

fclose(fp);

fp=fopen(“course.dat”,“ab”);

}

fwrite(&course_new,sizeof(struct course),1,fp);

fclose(fp);

printf(“nntt信息输入完毕t按任意键继续”);

getchar();getchar();

do

{

system(“cls”);

printf(“nntt1.继续输入”);

printf(“nntt2.返回管理菜单”);

printf(“nntt请选择”);

scanf(“%d”,&inp);

if(inp!=1&&inp!=2)

{

printf(“输入不符合要求t按任意键重新选择”);

getchar();getchar();

}

}while(inp!=1&&inp!=2);

switch(inp)

{

case 1:c_add();break;

case 2:man_login();break;

} }

void c_delete()//查询后删除 {

FILE *fp;

int i=0,j,n,k,flag=0;

struct course courses[10];

void c_delete();

void man_login();

printf(“nntt请输入你要删除的课程编号:”);

scanf(“%d”,&n);

if((fp=fopen(“course.dat”,“rb”))!=NULL)

{

do

{

fread(&courses[i],sizeof(struct course),1,fp);

i=i+1;

}while(!feof(fp));

fclose(fp);

}

else

{

printf(“nntt不存在任何课程t按任意键返回”);

getchar();getchar();

man_login();

}

for(j=0;j

{

if(courses[j].c_num==n)

{

flag=1;

fp=fopen(“course.dat”,“wb”);

for(k=0;k

fwrite(&courses[k],sizeof(struct course),1,fp);

fclose(fp);

fp=fopen(“course.dat”,“ab”);

for(k=j+1;k

{

fwrite(&courses[k],sizeof(struct course),1,fp);

}

printf(“nntt记录已删除!t按任意键返回ntt”);

getchar();getchar();

man_login();

fclose(fp);

}

}

if(flag==0)

{

printf(“nntt不存在对应的课程t按任意键返回”);

getchar();getchar();

man_login();

} // printf(“nntt记录已删除!t按任意键返回ntt”);

}

int main(){

index();login();return 0;}

第五篇:体育选课系统毕业论文自述报告

体育选课系统毕业论文自述报告

体育公选课管理信息系统对于一个学校来说是必不可少的组成部分。目前好多学校还停留在手工安排课程和人工统计成绩的原始阶段,这样的方式对于规模小的学校来说还勉强可以接受,但对于学生信息量比较庞大,需要记录存档和统计的数据比较多的高校来说,人工记录是相当麻烦的。而且当在学期末统计学生成绩时时,由于数据量庞大,还只能靠人工去一条条的统计,这样不但麻烦还浪费了许多时间,效率也比较低,而且十分容易出错。针对这种现象,本文在熟悉选课流程后运用面向对象的方法开发了体育公选课管理信息系统。本系统具有运行速度快、安全性高、稳定性好的优点,并且具备完善的成绩报表生成,老师在线评分等功能。

体育公选课管理信息系统的开发是为了减少大量的、繁琐的、重复的操作,提高教学管理效率,继续教学管理改革,促进教学管理科学化与信息化,同时与全面推行学分制与实施新教学计划相配套。

本系统主要运用面向对象的思想,运用MS SQL数据库和ASP.NET,开发基于B/S架构下的体育公选课管理信息系统。体育公选课管理信息系统主要包括两大模块:选课系统与考试系统。其中选课系统实现了学生数据管理、教师数据管理、学院数据管理、课程数据管理、系统管理、学生在线选课、教师在线评分等功能;考试系统包括了题库管理、试题管理、随机组卷、在线考试、自动评分、在线监考等功能。

当前的体育公选课管理信息系统,存在着功能单

一、课程安排缺乏灵活、不能结合体育理论知识进行成绩评定、无法实现管理员对所开课程的人数进行控制,造成热门课程人数爆满、冷门课程无人问津的后果,手工输入大批量数据时容易出错等缺点。

针对以上问题,本系统设计时主要做了以下创新的改进:

(1)对所开课程进行按班别安排指标,例如:开设篮球课,给02信息管理与信息系统这个班别的指标是10人,当02信息管理与信息系统这个班别选择该课程的人数达到十人后就会提示指标已达上限。这样的设计更能体现课程安排的公平性。

(2)学生总成绩评定实现自动化。根据公式:期末成绩=考试成绩×70%+理论考试×20%+平时成绩×10%评定学生的成绩,其中公式中的理论考试成绩是由本系统的子系统——考试系统提供的,考试子系统组卷的方式是通过随机抽题的方式进行组卷的,这样的方式使学生不单单是体能上的进步,更能打好扎实的理论基础。

本文所做的主要工作及取得的主要成果如下:

1)研究了管理信息系统的体系结构。

2)通过面向对象的分析方法画出系统用例图、类图,完成系统需求分析。

3)通过功能模块设计、数据库设计、编码设计、安全性设计,完成了系统的设计。

4)编写相应的文档。

5)开发了功能强大的体育公选课管理信息系统。

由于时间的限制以及本能能力所及,体育公选课管理信息系统的各种功能还只是处于初步实现阶段,在接下来的时间里,如果有机会的话,我将进一步的深入和拓展体育公选课管理信息系统的功能。

下载学生选课管理系统规划报告word格式文档
下载学生选课管理系统规划报告.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    选课系统功能分析报告[五篇范文]

    选课系统功能分析报告 姓名:学号: 1 引言 随着计算机的普及,各高校均采用计算机进行学生选课。而对学生选课相关信息的管理由学生选课管理系统实现。学生选课系统是一个学校......

    系统规划报告

    医院药房管理系统规划报告1.系统规划 1.1编写目的 药房是医院最繁忙的科室之一,无论门诊还是住院药房,每天都面临着大量取药的患者和家属,一直以来,人们使用传统的人工方式管理......

    选课系统全分析

    选课系统全分析 一、系统功能及需求分析 (一)系统功能 选课系统含登录验证模块、学生选课模块、管理员模块。学生通过本系统,可透过浏览器查询课程安排、教师及选课情况等;管......

    学生管理系统

    import java.awt.*; import java.awt.event.*; import java.sql.*; import java.util.*; import javax.swing.*; public class Xsglxt extends JFrame implements ActionLi......

    学籍管理系统规划报告5篇范文

    学生学籍管理系统系统规划报告组长:李文龙组员:宣德园 候树勋李晓芳杨娟张星靳超 09计算机科学与技术班第一组1.1设计背景 学籍管理系统是一个教育单位不可缺少的一部分,它的......

    学生成绩管理系统开题报告

    学生成绩管理系统开题报告 一. 研究背景、目的、意义 背景:随着经济的快速发展,科技的日益普及。目前我国的信息数字化工作也进入一个全新发展时期,特别是高校的信息化建设已进......

    学生考勤管理系统设计报告

    C/C++程序设计专题实验报告 题目:学生考勤管理系统设计 班级:电子信息科学与技术131 姓名: 邬帅斌目录 目录 ..................................................................

    学生管理系统实训报告

    WinForm实训报告项目名称:学生成绩管理系统 1.项目背景:Windows程序设计实训 2.项目分析:部门信息表部门编号,部门名称,部门级别,上级部门编号,负责人,备注班级信息表班级编号,部......