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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

学生选课管理系统大学学位论文.docx

1、学生选课管理系统大学学位论文学生选课管理系统大学学位论文 摘 要 随着课程改革的不断深入,学校规模不断扩大、课程项目不断增多,为了解决学生选课管理上的复杂的人工操作,减轻重复工作,故设计了选课系统。学校规模的扩大使得学校对每年新生入学、毕业生离校及本校各种分流机制造成的学生信息产生变动,如学籍变动、个人信息修改。为了适应课程的改革,学校在每个学期都要开设一定的课程提供给学生,让学生根据自己的情况来选择,根据学生选择结果给出课程表。本校根据教学实际,为了使教师有效地管理学生信息,设计学生信息管理系统,由此形成学生成绩管理系统,本文就此设计思路进行阐述。随着学校规模的不断扩大,专业、班级、学生的数

2、量急剧增加,有关学生选课的各种信息量也成倍增长,而目前许多高校的学生选课管理仍停留在复杂的人工操作上,重复工作较多,工作量大,效率低,因此,迫切需要开发基于互联网的课程信息管理系统来提高管理工作的效率。基于校园网的学生选课管理系统,在学生选课的规范管理、科学统计和快速查询方面具有较大的实用意义。它提高了信息的开放性,大大地改善了学生、教师对其最新信息查询的准确性.关键词:选课系统;学生信息管理系统;数据流图 Abstract With the deepening of the curriculum reform,increasing the school continues to expand

3、 the scale,course project,in order to solve the complex manual operation of student management,reduce duplication of work,so the design of the course selection system.The school scale expansion so that the school of new students each year,the school leavers and various distribution mechanism of stud

4、ent information changes,such as the student status changes,personal information changes.In order to adapt to the reform of curriculum,the school should set up some courses available to students in each semester,students according to their own situation to choose,according to their choice results are

5、 given curriculum.The school according to the teaching practice,in order to enable teachers to effectively manage student information,student information management system design,thereby forming a student achievement management system,this paper described the design ideas.With the continuous expansi

6、on of school size,the number of professional,class,students increased dramatically,the amount of information on a variety of elective students also multiplied,and now many college students course management still stays in the complex manual operation,too much repeated work,heavy workload,low efficie

7、ncy,therefore,it is urgent to develop curriculum information management system based on Internet to improve management efficiency.Student course management system based on campus network,is of great practical significance in standardizing management,student elective science statistics and rapid inqu

8、iry.It improves the openness of information,has greatly improved the accuracy of students,teachers of the latest information query.Keywords:course system,;student information management system;data flow diagram 目录 1概述.1 1.1学生选修课的介绍.1 1.2管理者在本系统的功能.1 1.3对功能的规定.1 1.4系统开发的意义.2 1.5系统开发的背景.2 2总体设计.3 2.1总

9、体设计描述.3 2.2总体设计模块.4 3详细设计.5 3.1主函数,头文件及结构体声明5 3.2管理员功能模块.6 3.3学生功能菜单.8 3.4创建链表模块.10 3.5浏览模块.12 3.6查询模块.17 3.7插入链表模块.17 3.8添加模块17 3.9删除模块.18 3.10选修课程模块.19 3.11读取保存文件模块.21 4系统测试26 4.1进入界面.23 4.2进入管理者系统 26 4.3进入学生菜单 26 5结论.30 参考文献 34 致谢 32 1 概述概述 1.1 学生选修课的介绍学生选修课的介绍 现代的社会是信息化的社会,信息无所不在。在生产领域、流通领域、各现代的

10、社会是信息化的社会,信息无所不在。在生产领域、流通领域、各个部门每天都和信息打交道,如何处理如此多的信息成为了一个重要的课个部门每天都和信息打交道,如何处理如此多的信息成为了一个重要的课题。学生在学期开始选课是教学活动中的一个重要环节,该环节如果能管题。学生在学期开始选课是教学活动中的一个重要环节,该环节如果能管理好,它不仅能加快学生的选课速度,也提高了整个活动的效率。大学一理好,它不仅能加快学生的选课速度,也提高了整个活动的效率。大学一般都有上千名学生,每学期开始学生都要选课,因而产生了大量的课程信般都有上千名学生,每学期开始学生都要选课,因而产生了大量的课程信息。考虑到用户使用的方便和处理

11、的信息量系统要完成录入,保存,查息。考虑到用户使用的方便和处理的信息量系统要完成录入,保存,查询,修改和删除课程信息的各种过程,能打印询,修改和删除课程信息的各种过程,能打印出课程信息表。出课程信息表。系统的主要使用对象是需要选课的学生,学生在选课是要察看各个课程的系统的主要使用对象是需要选课的学生,学生在选课是要察看各个课程的详细信息,还要选择一些感兴趣的课程,需要生成课表,在发现课程有冲详细信息,还要选择一些感兴趣的课程,需要生成课表,在发现课程有冲突后能够修改先前选择的信息。需要随学生选课的变化,计算相应的总学突后能够修改先前选择的信息。需要随学生选课的变化,计算相应的总学分。在全部选定

12、后,打印报表。系统还需要管理员来查看和修改学生的总分。在全部选定后,打印报表。系统还需要管理员来查看和修改学生的总体选课情况课程信息和学生信息。选课系统开发的目标是实现学生选课信体选课情况课程信息和学生信息。选课系统开发的目标是实现学生选课信息关系的系统化、规范化和自动化息关系的系统化、规范化和自动化 为保证系统安全高效地运行,本系统把用户划分为为保证系统安全高效地运行,本系统把用户划分为 2 类:管理者和学生。类:管理者和学生。不同的用户在系统中的作用和权限也有所不同,所以它所需要完成的功能不同的用户在系统中的作用和权限也有所不同,所以它所需要完成的功能也就不同。也就不同。1.2 管理者和学

13、生在本系统的功能管理者和学生在本系统的功能 管理者:查询学生选课情况、自己任课情况、获取自己所担任课程分班表、录入及修改成绩等。学生:查询本人信息、教师任课信息、选课、选课信息查询、成绩查询。1.3 对功能的规定对功能的规定 1)可实现学生选课注册。2)方便实现学生选课信息查询。3)可对学生成绩档案进行管理,成绩表单生成简便。4)安全有效的用户区分,管理。5)档案数据的高安全性,保密性。6)有帮助文档 1.4 系统开发的意义系统开发的意义 学生选课系统是一个学校不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生选课系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以

14、来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。因此,开发这样一套软件成为很有必要的事情 1.5 系统开发的背景系统开发的背景 目前,我国的高等教育事业蓬勃发展,高校的规模不断扩大,同时,高校的教学改革也在全面推行,学分制在各高校全面启动。学分制允许学生在计划的指导下,根据自己的条件、能力、志趣,有选择地支配自己的学习。因此,学生的选课就成为推行学分制的重要管理任务。以往的选课均是在计划模式下进行:每位教师将所开的课程名称,个人简介,课程限选人数,限选专业等信息交给教务处,教

15、务处再将这些信息统一成册,分发给各个班级班长,由班长将本班的选课情况统计并返回教务处。这是一个相当长的周期,并且耗费大量的人力、物力,对选择结果没有控制。学生选课系统能够让学生们在网络上自主选择选修课程,教务处的工作人员则通过网络来处理学生的选课信息。这个系统实现了对信息数据的浏览、查询、编辑和管理等基本数据库操作,采取模块化的编写思想,提高了可读性,同时提高了开发效率,从而实现了校园无纸化办公,提高选课的效率,减轻选课操作的工作量,从而提高教学管理的效率 2 总体设计总体设计 2.1总体系统描述 系统能够提供友好的用户界面,使操作人员的工作量最大限度的减少;系统具有良好的运行效率,能够得到提

16、高管理效率的目的;系统应有良好的可扩充性,可以容易的加入其它的系统的应用;平台的设计具有一定的超前性,灵活性,能够适应学校管理的变化;软件设计应当表现出层次结构,它应巧妙地利用各个软件部件之间的控制关系。设计应当是模块化的,即该软件应当从逻辑上被划分成多个部件,分别实现各种特定功能和子功能。学生选修课程系统分为 10个模块,分别为界面模块,管理者浏览模块,管理者查询模块,管理者添加模块,管理者删除模块,学生浏览模块,学生查询模块,学生选择模块,学生浏览选修课模块,学生删除模块。显示模块显示选择菜单输入 0-1可以进入各个不同的菜单程序模块。添加模块是用于对学生选修课程的输入。查询模块用于查询课

17、程信息,按照系统提示你可以查看课程信息,看所有输删除模块是用于对输入的课程信息的删除,当一个输入的课程信息有错误时,可以进行删除。学生选修课程系统是实现对学生学籍信息如学号、姓名、性别、年龄、籍贯等实现输入、查询有关信息、输出、添加新生信息等功能的系统。功能总体结构如下图所示:浏览模块:该模块能够查询所输入的课程信息。输入模块:该模块是实现对课程信息的录入并保存到文件中。查询模块:实现按单个或全部查询课程信息。删除模块:该模块实现按单个或全部来删除错误的课程信息从而更好的帮助学生 选课或学生进行删除课程。选择选修课程模块:该模块来帮助学生进行选修课程的选择。学生浏览所选课程模块:该模块可以使学

18、生来查询自己所选的课程 2.2 总体设计模板总体设计模板(1)管理员信息:管理员名称、管理员密码。课程信息:课程号、课程名称、课程类别、开课系选课信息:课程号、学生学号、成绩(2)在管理员菜单中管理员可以进行对选修课程的输入和删除,从而使得学生可以去进入学生菜单去选择选修的课程(3)学生可以在学生菜单中先进行对课程的浏览,再进入选择模块进行对课程的选择,当学生想查看自己的选修课程信息时进入查询模块就可以查询到自己所选的课程和课程信息。若对所选的课程不满意可以进入删除模块进行删除(4)当输入 1到 3 以外的数字时进入不到任何界面,该程序采用多个 main()函数模块分别来实现程序的运行,通过使

19、用数组功能来实现数据的录入,使用 strcpy()函数来实现录入信息的复制,整个结构从整体来看使用了选择结构,break.case.的合理利用.图 3.1主模块 3 详细设计详细设计 3.1主函数,头文件及结构体声明 主函数设计地比较简洁,只是提供一个主菜单,switch语句将整个程序分为两个大的功能模块:进入管理者界面和进入学生界面。当输入 1 时进入管理员菜单,当输入 2 时进入学生菜单,当输入 3 时退出程序 图 3.2主函数模块流程图 程序 int main()int n,w=1;do system(cls);puts(nntt*MENU*nn);puts(tttt1.以管理员身份登录

20、n);puts(tttt2.以学生身份登录n);puts(tttt3.退出);puts(nntt*n);printf(Chiose your number(1-3):bb);scanf(%d,&n);switch(n)case 1:Mangers();break;case 2:Students();break;case 3:w=0;break;default:;while(w=1);return 0;3.2管理员功能模块 管理员的功能一共有四个功能:浏览,查询,添加,删除课程,运用字符串处理函数处理密码的问题,用一个 switch语句实现函数的调用。当进入登陆界面后输入管理员密码 1进入管理员

21、菜单,来进行对课程的输入和删除 图 3.3管理员功能模块流程图 程序 void Mangers()int n,w=1,flag=0,i=3;char s8;char password7=1;do printf(nnEnter password:);scanf(%s,s);if(!strcmp(s,password)/进行密码匹配验证 flag=1;break;else printf(nnError!You only have%d times!Enter again:n,i-1);i-;while(i0);if(!flag)printf(you have Enter 3 times!);/输入密

22、码超过了 3次!exit(0);/自动退出 do system(cls);puts(nntt*管理员菜单*nn);puts(tttt1-浏览课程n);puts(tttt2-查询课程n);puts(tttt3-添加课程n);puts(tttt4-删除课程n);puts(tttt5-返回主菜单);puts(nntt*n);printf(Chiose your number(1-5):bb);scanf(%d,&n);switch(n)case 1:prin();break;case 2:search();break;case 3:insert();savefile();break;case 4:d

23、el();savefile();break;case 5:return;default:;while(w=1);void Students()int n,w=1;do system(cls);puts(nntt*学生菜单*nn);puts(tttt1-浏览所有课程n);puts(tttt2-查询课程信息n);puts(tttt3-选择选修课程n);puts(tttt4-浏览我选修的课程n);puts(tttt5-删除错选课程n);puts(tttt6-返回主菜单);puts(nntt*n);printf(Chiose your number(1-6):bb);scanf(%d,&n);swit

24、ch(n)case 1:prin();break;case 2:search();break;case 3:choose();break;case 4:prin1();break;case 5:del();savefile1();break;case 6:return;default:;while(w=1);3.3学生功能菜单 学生功能菜单包括六个功能:浏览课程,查询课程,选修课程,浏览我所选修的课程,添加选修课程,删除错选的课程,也是用到 switch语句来调用函数。图 3.4学生功能模块流程图 程序 void Students()/学生登录菜单 int n,w=1;do system(cl

25、s);puts(nntt*学生菜单*nn);puts(tttt1-浏览所有课程n);puts(tttt2-查询课程信息n);puts(tttt3-选择选修课程n);puts(tttt4-浏览我选修的课程n);puts(tttt5-删除错选课程n);puts(tttt6-返回主菜单);puts(nntt*n);printf(Chiose your number(1-6):bb);scanf(%d,&n);switch(n)case 1:prin();break;case 2:search();break;case 3:choose();break;case 4:prin1();break;cas

26、e 5:del();savefile1();break;case 6:return;default:;while(w=1);3.4创建链表模块(1)从标准输入文件输入字符串到 string字符数组,再用 fputs函数把此字符串送入 file1.txt 文件中。(2)由于 fputs函数不会在输出一个字符串之后加上一个“n”字符,为了在从磁盘中取出数据时能区分各字符串,要在存入时使用 fputs 函数输出一个“n”。(3)由于输入循环的控制条件是字符串的长度不为 0,所以结束输入操作的方法是在最后一行只输入一个 Enter键功能说明,录入课程信息代码。图 3.5创建链表模块流程图 程序 SUB

27、*create_form()/创建链表 SUB*head,*tail,*p;int num,stime,ttime;int etime,score,term;char name20,kind10;int size=sizeof(SUB);head=tail=NULL;printf(输入选修课程信息:n);scanf(%d%s%s%d%d%d%d%d,&num,name,kind,&stime,&ttime,&etime,&score,&term);while(num!=0)p=(SUB*)malloc(size);p-num=num;strcpy(p-name,name);strcpy(p-k

28、ind,kind);p-stime=stime;p-ttime=ttime;p-etime=etime;p-score=score;p-term=term;if(head=NULL)head=p;else tail-next=p;tail=p;scanf(%d%s%s%d%d%d%d%d,&num,name,kind,&stime,&ttime,&etime,&score,&term);tail-next=NULL;return head;3.5浏览模块 浏览模块主要用管理员中的“浏览课程”和学生功能中的“浏览所有所有课程”,将所有的课程信息输出,即将 all_sub.txt 文件里面的内容全

29、部输出。在浏览界面中不能进行删除或添加课程,只能够来看课程的信息或选择的课程信息。图 3.6浏览模块流程图 程序 void prin()/浏览所有课程 SUB*ptr;head=NULL;readfile();if(head=NULL)printf(nnt*NO RECORDS!*n);return;printf(课程编号 课程名称 课程性质 总学时 授课学时 实践或上机学时 学分 开课学期n);for(ptr=head;ptr;ptr=ptr-next)printf(%5d%12s%9s%9d%9d%11d%11d%7dn,ptr-num,ptr-name,ptr-kind,ptr-stim

30、e,ptr-ttime,ptr-etime,ptr-score,ptr-term);system(pause);void prin1()/浏览所有已选修课程 SUB*ptr;FILE*fp;if(fp=fopen(3.txt,r)=NULL)printf(Cannot open file.n);choose();printf(课程编号 课程名称 课程性质 总学时 授课学时 实践或上机学时 学分 开课学期n);while(!feof(fp)ptr=(SUB*)malloc(sizeof(SUB);fscanf(fp,%d%s%s%d%d%d%d%dn,&ptr-num,ptr-name,ptr-

31、kind,&ptr-stime,&ptr-ttime,&ptr-etime,&ptr-score,&ptr-term);printf(%5d%12s%9s%9d%9d%11d%11d%7dn,ptr-num,ptr-name,ptr-kind,ptr-stime,ptr-ttime,ptr-etime,ptr-score,ptr-term);system(pause);3.6 查询模块查询模块 查询模块主要用于管理员功能中的“查询课程”和学生功能模块中的“查询所有课程”,查询模块共分为三个查询方法:按课程名称查找,按课程性质查找和按学分查找switch语句中,每一个 case语句就是一中查询方

32、法:图 3.7查询模块流程图 程序 void search()/课程信息查询 int a,num;int t=1;char type10,min10;SUB*ptr;L1:system(cls);printf(nntt*请选择查询方式*n);printf(nttt1-按课程名称查找n);printf(nttt2-按课程性质查找n);printf(nttt3-按学分查找n);printf(nttt4-退出查找n);printf(nntt*n);printf(nnChiose your number(1-4):bb);scanf(%d,&a);switch(a)case 1:printf(请输入要

33、查找的课程的名称:);scanf(%s,min);printf(课程编号 课程名称 课程性质 总学时 授课学时 实践或上机学时 学分 开课学期n);for(ptr=head;ptr;ptr=ptr-next)if(strcmp(min,ptr-name)=0)printf(%5d%12s%9s%9d%9d%11d%11d%7dn,ptr-num,ptr-name,ptr-kind,ptr-stime,ptr-ttime,ptr-etime,ptr-score,ptr-term);t=0;if(t)printf(tn 未找到!n);t=1;system(pause);goto L1;case 2:printf(请输入要查找的课程的性质:);scanf(%s,type);printf(课程编号 课程名称 课程性质 总学时 授课学时 实践或上机学时 学分 开课学期n);for(ptr=head;

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

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