学籍管理系统.docx
- 文档编号:4695800
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:29
- 大小:585.99KB
学籍管理系统.docx
《学籍管理系统.docx》由会员分享,可在线阅读,更多相关《学籍管理系统.docx(29页珍藏版)》请在冰豆网上搜索。
学籍管理系统
摘要
当今社会中计算机的使用已经深入到日常工作和生活的方方面面。
Windows系统的推出使电脑从高雅的学术殿堂走入了寻常百姓家各行各业的人们无须经过特别的训练就能够使用电脑完成许许多多复杂的工作。
然而虽然现在世界上已经充满了多如牛毛的各种软件但它们依然不能满足用户的各种特殊需要人们还不得不开发适合自己特殊需求的软件。
我们都知道对于学生的学籍管理是一个教育单位不可缺少的部分,它的内容对学校的管理者来说至关重要,所以学生学籍管理系统应该能够为用户提供充足的信息和快捷的查询手段。
学生学籍管理系统能够为用户提供充足的信息和快捷的查询手段,使用计算机对学生学籍管理系统进行信息管理,有着手工管理所无法比拟的优点。
这个系统能录入学生的学籍信息并以磁盘文件形式保存。
本系统主要完成对学生学籍的管理,包括添加、修改、删除,查询,信息以用户管理等五个方面。
系统可以完成对各类信息的浏览、查询、添加、删除、修改等功能。
系统的核心是添加、修改和删除三者之间的联系,每一个表的修改都将联动的影响其它的表,当完成添加或删除操作时系统会自动地完成学生学籍的修改。
查询功能也是系统的核心之一。
此外,系统有完整的用户添加、删除功能。
本论文包括需求分析、系统功能、系统设计、程序设计、系统测试及存在问题等方面,较为系统地介绍了“学生学籍管理系统”课题开发的整个过程。
关键词:
学生;管理;姓名;修改;查找
Abstract
managementsystemshouldbeabletoprovideuserswithsufficientinformationandquicksearchingways.
Studentstudentstatusmanagementsystemcanprovideuserswithsufficientinformationandquickqueries,usingacomputerforstudentstudentstatusmanagementsystemforinformationmanagement,hasthecraftsincomparableadvantages.Thesystemcanenterthestudentstudentstatusinformationandsavedindiskfilesform.Thissystemmainlycompletethemanagementofthestudentsadmittedtotheuniversity,includingadd,modify,delete,query,managementfiveaspects,suchasinformationtousers.Systemcancompletetoeachkindofinformationtobrowse,query,add,delete,modify,andotherfunctions.Systemisthecoreofadd,modify,anddeletetheconnectionbetweenthethree,eachtablerevisionalllinkageinfluenceothertables,whenfinishtoaddordeleteoperationwhenthesystemwillautomaticallycompletethestudentstatuschanges.Thequeryfunctionisalsooneofthecoresystem.Inaddition,thesystemhasacompleteusertoadd,delete.
Thisthesisincludesrequirementanalysis,systemfunction,systemsdesign,programming,systemtestandexistingproblems,etc.,systematicallyintroducesthe\"studentregistrationmanagementsystem\"subjectdevelopment.
Keywords:
students;Management;Thename;Modified;Lookup
目录
1概述1
1.1题目内容1
1.2设计要求及目的1
2总体设计3
3详细设计5
3.1主函数5
3.2流程图10
4调试分析27
4.1测试结果27
5结论34
参考文献35
致谢36
1概述
1.1题目内容
信息社会的高科技,商品经济化的高效益,使计算机的应用已普及到经济和社会生活的各个领域。
计算机虽然与人类的关系愈来愈密切,还有人由于计算机操作不方便继续用手工劳动。
为了适应现代社会人们高度强烈的时间观念,学籍管理系统软件为教学办公室带来了极大的方便。
该软件是以网络编程语言为实现语言,其功能在系统内部有源代码直接完成。
通过操作手册,使用者可以了解本软件的基本工作原理。
操作人员只需输入一些简单的汉字、数字,即可达到自己的目标。
信息化在国外已经非常普及了,但在中国,教育信息化本身还没有被算做一个真正的产业,更没有形成清晰的产业模型。
但是,就是在这样的一个结构下,过度重视硬件投入的相关教育部门更应该理性的思考,将教育信息化的精力重新拉回到基础数据信息化的投入上,通过数据基础的实施与逐渐完善,形成一个更具价值的系统化、规模化的全方位教育信息化体系。
学生信息管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。
但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:
效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对学生信息进行管理,具有手工管理所无法比拟的优点.例如:
检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高学生信息管理的效率。
设计一个学生学籍管理系统,使之能提供以下功能可对学生学籍进行登录,修改,删除,查找,输出等操作。
学生学籍包括学号,姓名,性别,年龄,籍贯,系别,专业,班级。
1.2设计要求及目的
设计的学生学籍管理系统要具备以下功能:
1.登录学生的学号,姓名,性别,年龄,籍贯,系别,专业,班级;
2.修改已知学号的学生信息;
3.删除已知学号的学生信息;
4.查找已知学号的学生信息;
5.按学号输出学生籍贯表。
为了培养自己正确的程序设计思想,使平时学习的理论联系实际。
培养自己严肃认真、实事求是的科学态度和勇于探索的创新精神。
培养自己综合运用所学知识与实践经验,分析和解决相应领域的工程技术问题或进行软件项目开发的能力。
学院依照课程教学大纲和课程设计大纲提出了本次课程设计的题目及要求。
要求利用所学的内容,逐步求精的思想来完成设计,要求在设计的过程中,划分清晰、合理的功能实现,在编码过程中,代码简单明了,书写层次清晰。
进一步掌握和利用C语言进行程序设计的能力;进一步理解和利用结构化程序设计的思想和方法;初步掌握开发一个小型实用系统的基本方法;学会调试一个较长程序的基本方法;学会利用流程图和N-S图的表示算法
熟练掌握C语言数据类型,熟记字符型数据和整形数据的定义和使用,熟练掌握用while语句、do…while语句和for语句实现循环结构程序设计的方法,掌握一维数组、二维数组的定义、赋值和输入输出的方法,掌握与数组有关的算法(特别是排序算法,熟练掌握冒泡排序法),熟悉函数的定义、声明方法及全局变量和局部变量的概念与用法,掌握函数的调用方法掌握结构体类型变量的定义和使用及结构体类型数组的概念和应用。
2总体设计
系统能够提供友好的用户界面,使操作人员的工作量最大限度的减少;系统具有良好的运行效率,能够得到提高管理效率的目的;系统应有良好的可扩充性,可以容易的加入其它的系统的应用;平台的设计具有一定的超前性,灵活性,能够适应学校管理的变化;软件设计应当表现出层次结构,它应巧妙地利用各个软件部件之间的控制关系。
设计应当是模块化的,即该软件应当从逻辑上被划分成多个部件,分别实现各种特定功能和子功能。
学生学籍管理系统分为7个模块,分别为显示模块,录入模块,查询模块,修改模块,删除模块,保存模块。
显示模块显示选择菜单输入0-7可以进入各个不同功能的程序模块。
录入模块是用于对学生学籍信息的录入,输入学生的学号,姓名,性别,年龄,籍贯等信息。
查询模块用于查询学生信息,按照系统提示你可以查看单个学生信息,也可以查看所有输入学生的信息。
修改模块是用于对输入的学生信息的修改,当一个输入的学生信息由错误时,可以进行修改,来修正错误。
删除模块是用于对信息的删除,当输入的信息已经失去作用或者当学生已经毕业离校,这些信息已经没有任何价值,删除这些信息录入新的学生信息,你可以单个删除学生信息与可以将所有学生信息全部删除。
保存模块用于保存你输入的学生学籍信息,你输入的所有信息都将保存,以便于查看。
学生学籍信息管理系统是实现对学生学籍信息如学号、姓名、性别、年龄、籍贯等实现输入、查询有关信息、修改有关信息、输出、添加新生信息等功能的系统。
功能总体结构如下图所示:
录入模块(add函数):
该模块是实现对学生姓名、性别、学号、籍贯、年龄的录入并保存到文件“stu”中。
查询模块(search函数):
实现按单个或全部查询学生的学号、姓名、性别、年龄、籍贯等信息。
查到后显示所查学生的全部信息,若不存在则显示未找到。
修改模块(change函数):
该模块实现按学号对学生所有信息的修改。
修改成功显示已修改后的文件数据。
删除模块(del函数):
该模块实现按单个或全部删除学生的学号、姓名、性别、年龄、籍贯等信息。
查到后删除所查学生的全部信息,若不存在则显示未找到。
输出模块(output函数):
该模块实现对文件“stu”学生姓名、性别、学号、籍贯、年龄的显示。
帮助模块(help函数):
该模块实现帮助信息的显示。
退出运行界面:
退出整个函数运行界面,回到原程序
图2.1模块功能图
3详细设计
3.1主函数
主函数设计的很简洁,只提供输入,功能处理和输出部分的函数的调用,其中各功能模块用菜单方式选择,为我们提供了八个功能选项,让我们可以很方便地通过这八个功能选项来调用各个功能模块函数,用while()循环语句,switch()语句和函数调用来进入各个模块。
N
Y
图3.1主函数流程图
voidmain()/*主函数*/
{
intmenu_select;
charexit_select;
load(stu);
if(strlen(S_name)==0||strlen(C_name)==0)/*判断是
否为第一次使用*/
{
first(S_name,C_name);
}
while
(1)
{
menu_select=-1;
do
{
printf("\n");
printf("\t\t★★★★★★★★★学生学籍管理系统★★★★★★
★★\n");
printf("\t\t★◆------------------------------------------
◆★\n");
printf("\t\t★| 1.录入学生信息
|★\n");
printf("\t\t★|
|★\n");
printf("\t\t★| 2.修改学生信息
|★\n");
printf("\t\t★|
|★\n");
printf("\t\t★| 3.查询学生信息
|★\n");
printf("\t\t★|
|★\n");
printf("\t\t★| 4.删除学生信息
|★\n");
printf("\t\t★|
|★\n");
printf("\t\t★| 5.更改当前学校默认名
|★\n");
printf("\t\t★|
|★\n");
printf("\t\t★| 6.更改当前班级默认名
|★\n");
printf("\t\t★|
|★\n");
printf("\t\t★| 7.查看使用帮助
|★\n");
printf("\t\t★|
|★\n");
printf("\t\t★| 0.退出学生学籍管理系统
|★\n");
printf("\t\t★|
|★\n");
printf("\t\t★◆------------------------------------------
◆★\n");
printf("\t\t★★★★★★★★★★★★★★★★★★★★★★★
★★\n");
printf("\t\t当前学校默认名为:
%s\n",S_name);
printf("\t\t 当前班级默认名为:
%s\n",C_name);
printf("\t
\t----------------------------------------------------\n");
printf("请从0-7中选择:
");
scanf("%d",&menu_select);
switch(menu_select)
{
case1:
add(stu);break;
case2:
change(stu);break;
case3:
search(stu);break;
case4:
del(stu);break;
case5:
cschool(S_name);break;
case6:
cclass(C_name);break;
case7:
help();break;
case0:
break;
default:
printf("输入错误!
\n");break;
}
}while(menu_select!
=0);
if(menu_select==0)/*
判断是否要退出*/
{
printf("----------确定要退出本系统?
(Y\n):
");
scanf("%s",&exit_select);
if(exit_select=='y'||exit_select=='Y')
{
exit(0);
}
else
{
continue;
}
}
}
}
3.2流程图
录入模块
录入每个学生的学号、姓名、性别、年龄、籍贯共5个数据,用strcpy()实现串拷贝,struct实现将串转换。
voidadd(structstu_infostu[])/*录入学生信息模块*/
{
FILE*fp;
inti;
chark;
for(i=R;i { printf("\n----------您现在要录入第%d个学生信息\n",R+1); strcpy(stu[i].school,S_name); strcpy(stu[i].classes,C_name); printf("\n请输入学号: "); scanf("%d",&stu[i].num); printf("\n请输入姓名: "); scanf("%s",&stu[i].name); printf("\n请输入性别: "); scanf("%s",&stu[i].sex); printf("\n请输入年龄: "); scanf("%s",&stu[i].age); printf("\n请输入籍贯: "); scanf("%s",&stu[i].address); R=R+1; printf("----------是否继续? ? (y/n): "); scanf("%s",&k); if(k=='y'||k=='Y') { continue; printf("\n-----------------------------"); } else { save(stu); } return; } } 查询模块 此段程序是为实现信息查询功能而设计的。 总体来讲,分为两大功能模块,一是学生单个信息查询,二是对使用学生信息的查询。 用switch()实现选择,用system实现发出一个DOS命令的功能 图3.2查询模块流程图 voidsearch(structstu_infostu[])/*查找学生信息模块*/ { inty=0,i,x,k; printf("\n\t\t1.选择查找"); printf("\n\t\t2.显示全部"); printf("\n请选择您要查询的方式(1-2): "); scanf("%d",&x); switch(x) { case1: /*选择查 找*/ printf("\n请输入您要查找的学生的学号: "); scanf("%d",&k); for(i=0;i { if(stu[i].num==k&&stu[i].num! =0) { y=1; printf("\n-----------------------------"); printf("\n您要查询的是第%d个学生的信息,学号是: %d\n",i +1,stu[i].num); printf("\n学校名称: %s",stu[i].school); printf("\n班级名称: %s",stu[i].classes); printf("\n学号: %d",stu[i].num); printf("\n姓名: %s",stu[i].name); printf("\n性别: %s",stu[i].sex); printf("\n年龄: %s",stu[i].age); printf("\n籍贯: %s",stu[i].address); } } printf("\n-----------------------------"); if(y==0) { printf("\n----------找不到您要搜索的内容\n"); } system("pause"); break; case2: /*显示全 部*/ printf("\n以下是已录入的全部学生信息: \n"); for(i=0;i { printf("\n-----------------------------"); printf("\n学校名称: %s",stu[i].school); printf("\n班级名称: %s",stu[i].classes); printf("\n学号: %d",stu[i].num); printf("\n姓名: %s",stu[i].name); printf("\n性别: %s",stu[i].sex); printf("\n年龄: %s",stu[i].age); printf("\n籍贯: %s",stu[i].address); } printf("\n-----------------------------"); system("pause"); break; } } 修改模块 此段程序是为实现修改信息功能而设计的。 根据所输入的学号修改学生信息,用strcpy实现串拷贝,用system实现发出一个DOS命令。 图3.3修改模块流程图 voidchange(structstu_infostu[])/*修改学生信息模块*/ { inty=0; intx; inti; printf("请输入要修改的学生的学号: "); scanf("%d",&x); for(i=0;i { if(stu[i].num==x) { printf("\n您要修改的是第%d个学生的信息,学号是: %d\n",i+1,stu [i].num); strcpy(stu[i].school,S_name); strcpy(stu[i].classes,C_name); printf("\n请输入(新)学号: "); scanf("%d",&stu[i].num); printf("\n请输入(新)姓名: "); scanf("%s",&stu[i].name); printf("\n请输入(新)性别: "); scanf("%s",&stu[i].sex); printf("\n请输入(新)年龄: "); scanf("%s",&stu[i].age); printf("\n请输入(新)籍贯: "); scanf("%s",&stu[i].address); printf("\n----------修改成功! \n\n"); y=1; save(stu); } } printf("\n-----------------------------"); if(y==0) { printf("\n----------找不到您要搜索的内容\n"); system("pause"); return; } } 删除模块 此段程序是为实现删除信息功能而设计的。 总体来讲,分为两大功能模块,一是删除单个学生信息,二是对删除所有信息。 用switch()语句实现两个功能的选择,用strcpy实现串拷贝 图3.4删除模块流程图 voiddel(structstu_infostu[])/*删除学生信息模块*/ { inty=0,i,x,k,j; charms; printf("\n\t\t1.选择删除"); printf("\n\t\t2.全部删除"); printf("\n请选择您要删除的方式(1-2): "); scanf("%d",&x); switch(x) { ca
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学籍 管理 系统