学生信息管理系统设计毕设论文.doc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 信息管理 系统 设计 论文
- 资源描述:
-
摘 要 随着课程改革的不断深入,学校规模不断扩大、课程项目不断增多,为了解决学生选课管理上的复杂的人工操作,减轻重复工作,故设计了选课系统。学校规模的扩大使得学校对每年新生入学、毕业生离校及本校各种分流机制造成的学生信息产生变动,如学籍变动、个人信息修改。为了适应课程的改革,学校在每个学期都要开设一定的课程提供给学生,让学生根据自己的情况来选择,根据学生选择结果给出课程表。本校根据教学实际,为了使教师有效地管理学生信息,设计学生信息管理系统,由此形成学生成绩管理系统,本文就此设计思路进行阐述。 随着学校规模的不断扩大,专业、班级、学生的数量急剧增加,有关学生选课的各种信息量也成倍增长,而目前许多高校的学生选课管理仍停留在复杂的人工操作上,重复工作较多,工作量大,效率低,因此,迫切需要开发基于互联网的课程信息管理系统来提高管理工作的效率。基于校园网的学生选课管理系统,在学生选课的规范管理、科学统计和快速查询方面具有较大的实用意义。它提高了信息的开放性,大大地改善了学生、教师对其最新信息查询的准确性. 关键词:选课系统 ;学生信息管理系统 ;数据流图 Abstract With the deepening of the curriculum reform, increasing the school continues to expand 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 student 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 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 expansion 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 efficiency, 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 inquiry. 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总体设计描述………………………………………………………………....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学生选修课的介绍 现代的社会是信息化的社会,信息无所不在。在生产领域、流通领域、各个部门每天都和信息打交道,如何处理如此多的信息成为了一个重要的课题。学生在学期开始选课是教学活动中的一个重要环节,该环节如果能管理好,它不仅能加快学生的选课速度,也提高了整个活动的效率。大学一般都有上千名学生,每学期开始学生都要选课,因而产生了大量的课程信息。考虑到用户使用的方便和处理的信息量系统要完成录入,保存,查询,修改和删除课程信息的各种过程,能打印出课程信息表。 系统的主要使用对象是需要选课的学生,学生在选课是要察看各个课程的详细信息,还要选择一些感兴趣的课程,需要生成课表,在发现课程有冲突后能够修改先前选择的信息。需要随学生选课的变化,计算相应的总学分。在全部选定后,打印报表。系统还需要管理员来查看和修改学生的总体选课情况课程信息和学生信息。选课系统开发的目标是实现学生选课信息关系的系统化、规范化和自动化 为保证系统安全高效地运行,本系统把用户划分为2类:管理者和学生。不同的用户在系统中的作用和权限也有所不同,所以它所需要完成的功能也就不同。 1.2管理者和学生在本系统的功能 管理者:查询学生选课情况、自己任课情况、获取自己所担任课程分班表、录入及修改成绩等。学生:查询本人信息、教师任课信息、选课、选课信息查询、成绩查询。 1.3对功能的规定 1) 可实现学生选课注册。 2)方便实现学生选课信息查询。 3)可对学生成绩档案进行管理,成绩表单生成简便。 4)安全有效的用户区分,管理。 5)档案数据的高安全性,保密性。 6)有帮助文档 1.4系统开发的意义 学生选课系统是一个学校不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生选课系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。 因此,开发这样一套软件成为很有必要的事情 1.5系统开发的背景 目前,我国的高等教育事业蓬勃发展,高校的规模不断扩大,同时,高校的教学改革也在全面推行,学分制在各高校全面启动。学分制——允许学生在计划的指导下,根据自己的条件、能力、志趣,有选择地支配自己的学习。因此,学生的选课就成为推行学分制的重要管理任务。以往的选课均是在计划模式下进行:每位教师将所开的课程名称,个人简介,课程限选人数,限选专业等信息交给教务处,教务处再将这些信息统一成册,分发给各个班级班长,由班长将本班的选课情况统计并返回教务处。这是一个相当长的周期,并且耗费大量的人力、物力,对选择结果没有控制。学生选课系统能够让学生们在网络上自主选择选修课程,教务处的工作人员则通过网络来处理学生的选课信息。这个系统实现了对信息数据的浏览、查询、编辑和管理等基本数据库操作,采取模块化的编写思想,提高了可读性,同时提高了开发效率,从而实现了校园无纸化办公,提高选课的效率,减轻选课操作的工作量,从而提高教学管理的效率 2总体设计 2.1总体系统描述 系统能够提供友好的用户界面,使操作人员的工作量最大限度的减少;系统具有良好的运行效率,能够得到提高管理效率的目的;系统应有良好的可扩充性,可以容易的加入其它的系统的应用;平台的设计具有一定的超前性,灵活性,能够适应学校管理的变化;软件设计应当表现出层次结构,它应巧妙地利用各个软件部件之间的控制关系。设计应当是模块化的,即该软件应当从逻辑上被划分成多个部件,分别实现各种特定功能和子功能。 学生选修课程系统分为10个模块,分别为界面模块,管理者浏览模块,管理者查询模块,管理者添加模块,管理者删除模块,学生浏览模块,学生查询模块,学生选择模块,学生浏览选修课模块,学生删除模块。显示模块显示选择菜单输入0-1可以进入各个不同的菜单程序模块。添加模块是用于对学生选修课程的输入。查询模块用于查询课程信息,按照系统提示你可以查看课程信息,看所有输删除模块是用于对输入的课程信息的删除,当一个输入的课程信息有错误时,可以进行删除。学生选修课程系统是实现对学生学籍信息如学号、姓名、性别、年龄、籍贯等实现输入、查询有关信息、、输出、添加新生信息等功能的系统。 功能总体结构如下图所示: 浏览模块:该模块能够查询所输入的课程信息。 输入模块:该模块是实现对课程信息的录入并保存到文件中。 查询模块:实现按单个或全部查询课程信息。 删除模块:该模块实现按单个或全部来删除错误的课程信息从而更好的帮助学生 选课或学生进行删除课程。 选择选修课程模块: 该模块来帮助学生进行选修课程的选择。 学生浏览所选课程模块:该模块可以使学生来查询自己所选的课程 2.2总体设计模板 (1)管理员信息:管理员名称、管理员密码。 课程信息:课程号、课程名称、课程类别、开课系﹑选课信息:课程号、学生学号、成绩 (2)在管理员菜单中管理员可以进行对选修课程的输入和删除,从而使得学生可以去进入学生菜单去选择选修的课程 (3)学生可以在学生菜单中先进行对课程的浏览,再进入选择模块进行对课程的选择,当学生想查看自己的选修课程信息时进入查询模块就可以查询到自己所选的课程和课程信息。若对所选的课程不满意可以进入删除模块进行删除 (4)当输入1到3以外的数字时进入不到任何界面,该程序采用多个main()函数模块分别来实现程序的运行,通过使用数组功能来实现数据的录入,使用strcpy()函数来实现录入信息的复制,整个结构从整体来看使用了选择结构,break ..case ..的合理利用. 主 模 块 管理员模块 学生模块 浏 览 课 程 查 询 课 程 添 加 课 程 删 除 课 程 浏 览 所 有 课程 查询课程信息 选择选修课程 浏览我选修的课程 删除错选的课程 图3.1主模块 3详细设计 3.1主函数,头文件及结构体声明 主函数设计地比较简洁,只是提供一个主菜单,switch语句将整个程序分为两个大的功能模块:进入管理者界面和进入学生界面。当输入1时进入管理员菜单,当输入2时进入学生菜单,当输入3时退出程序 进入菜单 选择序号 选择1进入管理者菜单 选择2进入学生菜单 选择3退出程序 开 始 图3.2主函数模块流程图 [程序] int main() { int n,w=1; do { system("cls"); puts("\n\n\t\t*****************MENU******************\n\n"); puts("\t\t\t\t1.以管理员身份登录\n"); puts("\t\t\t\t2.以学生身份登录\n"); puts("\t\t\t\t3.退出"); puts("\n\n\t\t*******************************************\n"); printf("Chiose your number(1-3):[ ]\b\b"); 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管理员功能模块 管理员登录菜单 输入密码 进行码匹对验证 进入管理员界面 i=3 i>0 按任意键退出 是 否 否 是 管理员的功能一共有四个功能:浏览,查询,添加,删除课程,运用字符串处理函数处理密码的问题,用一个switch语句实现函数的调用。当进入登陆界面后输入管理员密码1进入管理员菜单,来进行对课程的输入和删除 图3.3管理员功能模块流程图 [程序] void Mangers() { int n,w=1,flag=0,i=3; char s[8]; char password[7]="1"; do { printf("\n\nEnter password:"); scanf("%s",s); if(!strcmp(s,password)) //进行密码匹配验证 { flag=1; break; } else { printf("\n\nError! You only have %d times! Enter again:\n",i-1); i--; } } while(i>0); if(!flag) { printf("you have Enter 3 times!"); //输入密码超过了3次!! exit(0); //自动退出 } do { system("cls"); puts("\n\n\t\t*********************管理员菜单***********************\n\n"); puts("\t\t\t\t1---浏览课程\n"); puts("\t\t\t\t2---查询课程\n"); puts("\t\t\t\t3---添加课程\n"); puts("\t\t\t\t4---删除课程\n"); puts("\t\t\t\t5---返回主菜单"); puts("\n\n\t\t******************************************************\n"); printf("Chiose your number(1-5):[ ]\b\b"); scanf("%d",&n); switch(n) { case 1:prin();break; case 2:search();break; case 3:insert();savefile();break; case 4:del();savefile();break; case 5:return; default:; } } while(w==1); } void Students() { int n,w=1; do { system("cls"); puts("\n\n\t\t*********************学生菜单***********************\n\n"); puts("\t\t\t\t1---浏览所有课程\n"); puts("\t\t\t\t2---查询课程信息\n"); puts("\t\t\t\t3---选择选修课程\n"); puts("\t\t\t\t4---浏览我选修的课程\n"); puts("\t\t\t\t5---删除错选课程\n"); puts("\t\t\t\t6---返回主菜单"); puts("\n\n\t\t****************************************************\n"); printf("Chiose your number(1-6):[ ]\b\b"); scanf("%d",&n); switch(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语句来调用函数。 学生登录菜单 按1-6数字键进入各选项 1、浏览所有课程 2、查询课程信息 3、选择选修课程 4、浏览我选修的课程 5、删除错选课程 6、返回主菜单 进入所选目标 图3.4学生功能模块流程图 [程序] void Students() //学生登录菜单 { int n,w=1; do { system("cls"); puts("\n\n\t\t************学生菜单**************\n\n"); puts("\t\t\t\t1---浏览所有课程\n"); puts("\t\t\t\t2---查询课程信息\n"); puts("\t\t\t\t3---选择选修课程\n"); puts("\t\t\t\t4---浏览我选修的课程\n"); puts("\t\t\t\t5---删除错选课程\n"); puts("\t\t\t\t6---返回主菜单"); puts("\n\n\t\t***********************************\n"); printf("Chiose your number(1-6):[ ]\b\b"); scanf("%d",&n); switch(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.4创建链表模块 (1)从标准输入文件输入字符串到string字符数组,再用fputs函数把此字符串送入file1.txt文件中。 (2)由于fputs函数不会在输出一个字符串之后加上一个“\n”字符,为了在从磁盘中取出数据时能区分各字符串,要在存入时使用fputs函数输出一个“\n”。 (3)由于输入循环的控制条件是字符串的长度不为0,所以结束输入操作的方法是在最后一行只输入一个Enter键功能说明 ,录入课程信息代码。 创建链表 Num!=0 p=(SUB *)malloc(size); p->num=num; strcpy(p->name,name); strcpy(p->kind,kind); p->stime=stime; p->ttime=ttime; p->etime=etime; p->score=score; p->term=term; Head==NULL Head=p Tail->next=p; Tail=p; Tail->next=NULL; Return head; 创建完成 Scanf(num,name,kind,&stime,&ttime,&etime,&score,&term); 是 是 否 否 添加(编号,课程名称,学时,实践学时,学分,开课日期) 图3.5创建链表模块流程图 [程序] SUB *create_form() //创建链表 { SUB *head,*tail,*p; int num,stime,ttime; int etime,score,term; char name[20],kind[10]; 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->kind,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文件里面的内容全部输出。在浏览界面中不能进行删除或添加课程,只能够来看课程的信息或选择的课程信息。 浏览所有课程 返回主菜单 管理员界面 学生界面 浏览所有课程 或所选课程 返回主菜单 图3.6浏览模块流程图 [程序] void prin() //浏览所有课程 { SUB *ptr; head=NULL; readfile(); if(head==NULL) { printf("\n\n\t*********NO RECORDS!************\n"); return; } printf("课程编号 课程名称 课程性质 总学时 授课学时 实践或上机学时 学分 开课学期\n"); for(ptr=head;ptr;ptr=ptr->next) { printf("%5d%12s%9s%9d%9d%11d%11d%7d\n",ptr->num,ptr->name,ptr->kind,ptr->stime,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%d\n",&ptr->num,ptr->name,ptr->kind,&ptr->stime,&ptr->ttime,&ptr->etime,&ptr->score,&ptr->term); printf("%5d%12s%9s%9d%9d%11d%11d%7d\n",ptr->num,ptr->name,ptr->kind,ptr->stime,ptr->ttime,ptr->etime,ptr->score,ptr->term); } system("pause"); } 3.6 查询模块 查询模块主要用于管理员功能中的“查询课程”和学生功能模块中的“查询所有课程”,查询模块共分为三个查询方法:按课程名称查找,按课程性质查找和按学分查找switch语句中,每一个case语句就是一中查询方法: 开始 打开文件查看学生选课信息 判断查询方法 按学分查 输入 按课程性质查 结束 图3.7查询模块流程图 [程序] void search() //课程信息查询 { int a,num; int t=1; char type[10],min[10]; SUB *ptr; L1:system("cls"); printf("\n\n\t\t**********请选择查询方式*************\n"); printf("\n\t\t\t1---按课程名称查找\n"); printf("\n\t\t\t2---按课程性质查找\n"); printf("\n\t\t\t3---按学分查找\n"); printf("\n\t\t\t4---退出查找\n"); printf("\n\n\t\t**************************************\n"); printf("\n\nChiose your number(1-4):[ ]\b\b"); scanf("%d",&a); switch(a) { case 1:printf("请输入要查找的课程的名称:"); 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%7d\n",ptr->num,ptr->name,ptr->kind,ptr->stime,ptr->ttime,ptr->etime,ptr->score,ptr->term); t=0; } if(t) printf("\t\n未找到!\n"); t=1; system("pause"); goto L1; case 2:printf("请输入要查找的课程的性质:"); scanf("%s",type); printf("课程编号 课程名称 课程性质 总学时 授课学时 实践或上机学时 学分 开课学期\n"); for(ptr=head;ptr;ptr=ptr->next) if(strcmp(type,ptr->kind)==0) { printf("%5d%12s%9s%9d%9d%11d%11d%7d\n",ptr->num,ptr->name,ptr->kind,ptr->stime,ptr->ttime,ptr->etime,ptr->score,ptr->term); t=0; } if(t) printf("\t\n未找到!\n"); t=1; system("pause"); goto L1; case 3:printf("输入要查找的课程的学分:"); scanf("%d",&num); printf("课程编号 课程名称 课程性质 总学时 授课学时 实践或上机学时 学分 开课学期\n"); for(ptr=head;ptr;ptr=ptr->next) if(ptr->score==num) { printf("%5d%12s%9s%9d%9d%11d%11d%7d\n",ptr->num,ptr->name,ptr->kind,ptr->stime,ptr->ttime,ptr->etime,ptr->score,ptr->term); t=0; } if(t) printf("\n\t未找到!\n"); t=1; system("pause"); goto L1; case 4:break; } }t=0; } if(t) printf("\n\t未找到!\n"); t=1; system("pause"); goto L1; case 4:break; //退出查找 } } 3.7插入链表模块 插入链表操作主要用于添加课程,在整个课程信息中加入一些新课程,它在添加模块中被调用: [程序] void *myInsert(SUB *subj) //链表插入操作 { SUB *ptr,*ptr2; ptr=subj; if(head==NULL) { head=ptr; head->next=NULL; } else { for(ptr2=head;ptr2;ptr2=ptr2->next) if(ptr2->next==NULL) {展开阅读全文
咨信网温馨提示:1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。




学生信息管理系统设计毕设论文.doc



实名认证













自信AI助手
















微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/4882671.html