学生信息管理系统.docx
《学生信息管理系统.docx》由会员分享,可在线阅读,更多相关《学生信息管理系统.docx(15页珍藏版)》请在冰点文库上搜索。
学生信息管理系统
学生信息管理系统
一)设计目标:
一、建设目标
二、系统设计原则
统筹考虑,信息共享
包容性和可扩展性
系统简洁,易使用、易维护、适用非计算机人员使用
为教师、学生提供良好的信息服务
可靠运行,安全保密
采用先进成熟的技术,建立实用可靠的系统
三、系统功能
档案信息管理子系统
学生成绩自助查询子系统
二)介绍:
学生信息管理系统是针对学校人事处的大量业务处理工作而开发的管理软件,主要用于学校学生信息管理,总体任务是实现学生信息关系的系统化、科学化、规范化和自动化,其主要任务是用计算机对学生各种信息进行日常管理,如查询、修改、增加、删除,另外还考虑到学生选课,针对这些要求设计了学生信息管理系统。
推行学校信息管理系统的应用是进一步推进学生学籍管理规范化、电子化、控制辍学和提高义务教育水平的重要举措。
对学生的基本信息和成绩信息进行管理,主要包括添加、修改和删除学生的基本信息及课程的基本信息;录入、修改和删除学生的成绩信息,对基本信息、成绩信息进行查询、排序及统计等操作,从而实现学生信息管理的自动化与计算机化。
学生信息档案的管理对于学校的管理者来说至关重要,学生信息是高等学校非常重要的一项数据资源,是一个教育单位不可缺少一部分。
特别是近几年来,国家政策的调整,我国高等院校大规模的扩招,给高等院校的教学管理、学生管理、后勤管理等方面都带来不少的冲击。
其包含的数据量大,涉及的人员面广,而且需要及时更新,故较为复杂,难以单纯地依*人工管理,而且传统的人工管理方式既不易于规范化,管理效率也不高,目前我国各类高等院校中还有相当一部分学生档案管理还停留在纸介质的基础上,尤其是中、小学对学生档案的管理更是落后,这样的管理机制已经不能适应时代发展的要求,其管理方法将浪费许多人力和物力。
随着科学技术的不断提高,计算机科学与技术日渐成熟,计算机应用的普及已进入人类社会生活的各个领域,并发挥着越来越重要的作用。
这种传统的手工管理模式必然被以计算机为物质基础的信息管理方法所取代。
作为计算机应用的一部分,使用计算机对学生档案进行管理,有着手工管理所无法比拟的优点,如:
检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高学生档案管理的效率,也是学校向科学化、正规化管理发展的必要条件,更是各个高等院校与世界接轨的重要条件。
系统针对学校学生信息的特点以及管理中实际需要而设计,能够有效地实现学生信息管理的信息化,减轻管理人员的工作负担,高效率、规范化地管理大量的学生信息,并避免人为操作的错误和不规范行为。
三)设计过程:
1、设计概述
该系统采用NewOrleans设计方法,将制作流程分为四个阶段
2需求分析
在学校中关于学生的事务越来越多,例如学生基本信息的管理、每学期学生选课以及考试成绩的管理。
为了便于老师对学生信息的管理同时也为了学生对选课及考试成绩的查询,我们设计了该系统,希望该系统能为老师和同学带来便利。
3、结构设计
(1)概念结构设计
(2)逻辑结构设计
4、功能设计
一是学生对考试成绩的查询
二是老师对学生基本信息所选课程以及成绩的管理
5、流程设计
四)程序:
#include
#include
structstudent
{
longintnum;
charname[20];
intage;
charsex[4];
charb[30];
charp[15];
};
intn=0;
structstudentstu[100];
structstudent*p;
voidlr();
voidll();
voidcx();
voidxg();
voidsc();
voidmain()
{
intz;
printf("+---------------------------+\n");
printf("|欢迎使用学生信息管理系统|\n");
printf("+---------------------------+\n");
printf("提示:
为保证您的操作得到保存,请按正常顺序退出系统^_^\n");
do
{
printf("\n\t\t\t--------------------------------\n");
printf("\t\t\t+主菜单|\n");
printf("\t\t\t--------------------------------\n");
printf("\t\t\t+[1]----录入学生信息|\n");
printf("\t\t\t+[2]----浏览学生信息|\n");
printf("\t\t\t+[3]----查询学生信息|\n");
printf("\t\t\t+[4]----删除学生信息|\n");
printf("\t\t\t+[5]----修改学生信息|\n");
printf("\t\t\t+[0]----退出系统|\n");
printf("\t\t\t--------------------------------\n");
printf("请输入您的选择:
");
scanf("%d",&z);
switch(z)
{
case0:
break;
case1:
lr();break;
case2:
ll();break;
case3:
cx();break;
case4:
sc();break;
case5:
xg();break;
default:
printf("\n无效选项!
");
}
}
while(z!
=0);
}
voidlr()/*录入函数*/
{
inty;
if(n==0)
p=stu;
do
{
printf("--------------------\n");
printf("请输入学生的学号:
");
scanf("%ld",&p->num);
printf("请输入学生的姓名:
");
scanf("%s",p->name);
printf("请输入学生的年龄:
");
scanf("%d",&p->age);
printf("请输入学生的性别:
");
scanf("%s",p->sex);
printf("请输入学生的地址:
");
scanf("%s",p->b);
printf("请输入学生的电话:
");
scanf("%s",p->p);
n++;
p++;
printf("\n1.继续输入.\n0.输入完毕.\n");
printf("请选择:
");
scanf("%d",&y);
}
while(y==1);
printf("提示:
输入完毕!
你一共输入%d个\n",n);
}
voidll()/*浏览函数*/
{
inti,j;
if(n!
=0)
{printf("学生总数:
%d\n",n);
printf("学号\t姓名\t年龄\t性别\t地址\t\t电话\n");
printf("-----------------------------------------------------\n");
for(i=0;iprintf("%ld\t%s\t%d\t%s\t%s\t\t%s\n",stu[i].num,stu[i].name,stu[i].age,stu[i].sex,stu[i].b,stu[i].p);
}
elseprintf("提示:
无学生数据,请输入数据!
");
}
voidcx()/*查询函数*/
{
intc;
intw,i,j=0;
charname[20];
if(n!
=0)
{
do{printf("\n");
printf("+--------------------+\n");
printf("|按学号查询请按1|\n");
printf("|按姓名查询请按2|\n");
printf("|取消请按0|\n");
printf("+--------------------+\n");
printf("请输入您的选择:
");
scanf("%d",&c);
switch(c)
{
case0:
break;
case1:
printf("请输入学生的学号;");
scanf("%ld",&w);
printf("\n");
for(i=0;iif(stu[i].num==w)
{
printf("\n学号\t姓名\t年龄\t性别\t地址\t\t电话\n");
printf("%ld\t%s\t%d\t%s\t%s\t\t%s\n",stu[i].num,stu[i].name,stu[i].age,stu[i].sex,stu[i].b,stu[i].p);
j=1;
}
if(j==0)
printf("提示:
没有该学生记录,请核对!
");
break;
case2:
printf("请输入学生的姓名:
");
scanf("%s",name);
printf("\n");
for(i=0;iif(strcmp(name,stu[i].name)==0)
{
printf("\n学号\t姓名\t年龄\t性别\t地址\t\t电话\n");
j=1;
printf("%ld\t%s\t%d\t%s\t%s\t\t%s\n",stu[i].num,stu[i].name,stu[i].age,stu[i].sex,stu[i].b,stu[i].p);
}
if(j==0)
printf("提示:
没有该学生记录,请核对!
");
break;
default:
printf("\n提示:
无效选项!
");
break;
}
}while(c!
=0);
}elseprintf("提示:
无学生数据,请输入数据!
");
return;
}
voidxg()/*修改函数*/
{
longintnum;
inti,j,c;
if(n!
=0)
{
printf("请输入您要修改的学生的学号:
");
scanf("%ld",&num);
printf("\n");
for(i=0;iif(stu[i].num==num)
j=i;
do{
printf("请选择您要修改的学生的信息内容:
\n");
printf("+----------------------+\n");
printf("|姓名请按1|\n");
printf("|年龄请按2|\n");
printf("|性别请按3|\n");
printf("|学号请按4|\n");
printf("|地址请按5|\n");
printf("|电话请按6|\n");
printf("|取消请按0|\n");
printf("+----------------------+\n");
printf("请输入您的选择:
");
scanf("%d",&c);
printf("\n");
switch(c)
{
case0:
break;
case1:
printf("请输入新姓名:
");
scanf("%s",stu[j].name);
break;
case2:
printf("请输入新年龄:
");
scanf("%d",&stu[j].age);
break;
case3:
printf("请输入新性别:
");
scanf("%s",stu[j].sex);
break;
case4:
printf("请输入新学号:
");
scanf("%ld",&stu[j].num);
break;
case5:
printf("请输入新地址:
");
scanf("%s",stu[j].b);
break;
case6:
printf("请输入新电话:
");
scanf("%s",stu[j].p);
break;
default:
printf("\n无效选项!
");
break;
}
}while(c!
=0);
}elseprintf("提示:
无学生数据,请输入数据!
");
}
voidsc()/*删除函数*/
{
longintnum;
inti,j,e;
if(n!
=0)
{
printf("学号\t姓名\t年龄\t性别\t地址\t\t电话\n");
printf("-----------------------------------------------------\n");
for(i=0;iprintf("%ld\t%s\t%d\t%s\t%s\t\t%s\n",stu[i].num,stu[i].name,stu[i].age,stu[i].sex,stu[i].b,stu[i].p);
printf("请输入您要删除的学生的学号:
");
scanf("%ld",&num);
printf("\n");
for(i=0;iif(num==stu[i].num)
j=i;
if(j!
=(n-1))
{
for(e=i-1;e{
stu[j].num=stu[j+1].num;
strcpy(stu[j].name,stu[j+1].name);
strcpy(stu[j].sex,stu[j+1].sex);
stu[j].age=stu[j+1].age;
strcpy(stu[j].b,stu[j+1].b);
strcpy(stu[j].p,stu[j+1].p);
n--;p--;
}
}else{n--;p--;}
printf("提示:
删除完毕!
");
}elseprintf("提示:
无学生数据,请输入数据!
");
}
输入数字对应界面:
五)讨论:
“信息手段革命”转向“信息内容革命”,引发了全球性数字校园建设浪潮。
为满足为学校服务这一基本功能,数字校园应定位于信息服务,对学生的成绩的高效而准确的管理系统设计的出发点和最终目的,既要能够满足学生和老师的一般需求,又要能够针对用户的类型、需求特征等确定它的的权限以便进行管理。
根据上述要求给出一个合理的解决方按,主要包括以下几个方面:
1.将整个系统分为两大模块:
前台与后台,其中前台主要是界面的设计以及界面的关联,而后台主要是对数据库的管理以及编码。
数据库的首要要求便是设计的合理性以及安全性,此时便对权限进行管理,从而对安全性进行管理。
2.对后台数据库的维护和管理,由于数据库有很多的表格,而且几乎上都是相互关联的,所以对表的修改涉及到整个后台的数据体,必须做统一的考虑。
3.数据库的合理性要求能够对整个系统起到简化的作用,所以对库的规划必须合理。
4.对于后台的不断修改以及操作,必须要求数据库的稳定性。
如对表格的修改能够准确的进行,且避免死锁的现象。
当对数据进行修改时,如进行删除,但此时数据正再用,必须要还原到正确的状态。
要不会影响以前的操作!
对于系统的维护很难得到保证。
为解决这种情况必须要对数据库的操作进行限制以及屏蔽,使用户尽量不要碰到此种情况。
5.验证系统的稳定性,对其进行检测。
6.按照模块化对成绩管理系统给出一个合理的解决方按
通过前面的数据流程图已经对系统的主要功能有了一个初步的了解,下面将系统的功能再作一些深入分析,最后得出系统的功能结构图。
《学生成绩管理系统》是为了利用计算机实现一个学校的学生成绩管理工作。
因此,系统应该有一个全局管理功能,以方便实现不同的功能的选择。
也就是应具备全局管理功能。
这里用总控模块实现。
由于要处理的信息包括基本数据管理、学生成绩管理、系统维护等的不同处理,总控模块管理有三种不同的信息的处理。
即基本数据管理、学生成绩管理、系统维护的管理。
由于每种信息的处理涉及到对信息多方面的不同子功能,所以又涉及到对众多的子功能的管理。
在此基础上,总结得到如下的系统功能结构图:
学生成绩管理系统
基本数据库管理学生成绩管理系统维护设置专业设置班号设置课程设置学生查询学生学生成绩录入学生成绩查询学生总成绩用户管理系统初始化浏览打印
信息社会的高科技,商品经济化的高效益,使计算机的应用已普及到经济和社会生活的各个领域。
计算机虽然与人类的关系愈来愈密切,还有人由于计算机操作不方便继续用手工劳动。
为了适应现代社会人们高度强烈的时间观念,学籍管理系统软件为教学办公室带来了极大的方便。
该软件是以汉语编程语言为实现语言,其功能在系统内部有源代码直接完成。
通过操作手册,使用者可以了解本软件的基本工作原理。
操作人员只需输入一些简单的汉字、数字,学生成绩管理系统主要提供方便高效的管理功能以及网上的信息查阅平台,学生可以通过该系统查阅相关信息,管理员可以管理所有信息。
对于本系统,我们需要实现以下一些以下主要功能:
1学生查询功能:
为了方便学生查找成绩等信息,将所有信息按照需要进行分类。
这样学生就能很方便的找到自己需要的信息。
2添加功能:
管理员可以通过填写表格的形式输入学生成绩等相关信息。
系统可以自动避免重复信息。
3修改功能:
管理员可以对数据库中的信息进行修改。
系统能够通过管理员给出的条件查找出所要修改的信息,对修改后的信息进行保存,并自动查找是否是重复信息。
4删除功能:
管理员可以对数据进行删除操作。
系统能够通过管理员给出的条件查找出要删除的信息,并提示是否确定删除,如果确定删除,则把相关信息从数据库中删除掉。
5管理员查询功能:
管理员可以通过条件选择查询所有信息,并进行排序。
六)收获
通过这次小学期做的这个“学生信息管理系统”的任务,扩大了我们对编程这门得理解,能够自觉的去接触课本外的知识,体验这门课程的乐趣,和它的实用性,只有自己动手才知道学生信息管理系统的流程如何?
代码如何?
这不仅仅有利于我们知识的拓展,还有利于我们对将来从事的工作有新的认识。
虽然这次只是很小的一次任务,我们却学到了很多,理解他的思想,形成我们编程的思想,更像是一次知识的渗透,体会它的乐趣~!
希望自己在接下去的时间里可以有更大的进步,继续努力~!
做的过程中遇到许多的问题,第一次接触这样的任务对于我们本身就是一个挑战,要克服这些困难,就一定要有耐心的做,没有付出哪来的收获。
只有在不断的学习,实践中才可以提高自己,有所进步,充分利用互联网的优势,解决自己在实践中遇到的难题,逐字逐句的理解,我想只有这样才可以让自己在大学四年里可以有所收获,学好计算机科学与技术这门学科,让自己有一技之长,立足于社会,也可以为社会尽自己的微薄之力~!