学生信息管理系统介绍_学生信息管理系统介绍模板
- 网络推广
- 2025-01-03 10:22
- 1
“学生信息管理系统”的解释与作用?
学生信息管理系统开发介绍(部分功能)
学生信息管理系统介绍_学生信息管理系统介绍模板
学生信息管理系统介绍_学生信息管理系统介绍模板
一、 程序功能
1、登录功能:
若用户名不存在,则出现提示,重新输入;
若密码错误,也出现相应提示,重新输入。
程序默认设置了一名admin,密码admin。
2、权限设置:系统用户有三个群体,,老师,学生。
1):拥有权限,包括对所有用户的查询,用户信息的修改,用户删除以及用户的添加。
2)老师: 拥有查询用户信息的权限
3)学生: 只能查询个人信息
3、查询功能
1)姓名查询
2)用户名查询
3)学生名次查询
4)所有学生排序输出
若错误输入,则打印相应的提示信息,并重新输入。
正确输入。根据所选方式的不同,在使用迭代器,在map容器中以相应的参数去查找。查找成功,则返回迭代器的地址,然后再进行相应的打印输出。查找不成功,则打印相应的提示信息,进行下一步作。
4、修改功能(权限)
1)姓名查询修改
2)用户名查询修改
3)学生名次查询修改
修改功能提供以上三种方式的修改。对以及老师用户群的修改,目前只提供修改用户名及密码功能;学生群体的修改,则包括姓名,账号,密码,各学科成绩的修改。
根据选择的不同,进行不同的作。若输入信息无效,则打印相应提示,进行下一步作。输入正确,进行相应的修改,并将修改写入name.txt文档,进行保存。
5、添加功能(权限)
1)添加
2)添加学生
3)添加老师
添加功能提供对不同用户群的添加作。
若输入信息无效,则打印相应提示,进行下一步作。
输入正确,则对相应的用户群进行添加作。若添加或者老师,则只需输入账号及密码;若添加学生,则需按提示输入学生姓名,账号,密码和各科成绩。确认添加信息无误,则为其新建一个对应文档,用于存储个人信息(若账号为li,则新建li.txt文件);同时在已有的所有用户资料文档name.txt末尾写入所添加的用户资料,进行保存。
6、删除功能(权限)
1)用户名查询删除
2)姓名查询删除
3)学生名次查询删除
删除功能提供以上三种方式的查询方式,可以一次删除多个用户的信息。
同样,若输入出错,打印相应的提示信息,进行下一步作。
输入正确,则根据选择的不同,进行不同的作。若该用户不存在,则提示重新输入,若存在,则打印此用户相应的信息,便于进行确认。确认删除,则在name.txt中清除其个人信息,并保存修改。
全国中小学生学籍系统介绍
1、全国中小学生学籍信息管理系统是根据教育规划纲要的要求于2010年启动建设的,是目前世界上规模的学籍管理信息系统。
2、作为教育管理信息系统建设的核心和先导性工程,该系统主要对学生学籍、转学、升学等业务进行信息化管理,通过全国联网实现对全国中小学学生的动态监管。
3、经过三年来紧锣密鼓的工作,现已完成了学籍系统立项审批、顶层设计、方案评估、招标开发,并在贵州、重庆、浙江等地区进行了试点,取得良好的效果,目前学籍系统正在全国各省(区、市)进行部署与应用。
从2009年,就已经开始关注建立全国统一的学籍的问题,2010年的时候开始在全国部署,要求全国的中小学生所有的学校能够为孩子们建立一个学籍的信息管理系统。到了2013年,全国初步建成管理系统。如果今后有这样一个学籍系统的时候,像刚才提到一个人就有一个学籍号,这个还会学籍跟着每一个学生,如果他转学这个学籍号也会跟着走。记者发现在一些地方可能会出现这种学籍的取得、变动、丧失或者环节等方面管理不够严谨这样的情况,也就是说学生转学了但是他的学籍并没有跟上。
学生信息管理系统的开发背景与意义
背景:
随着高校规模的不断扩大,港澳台学生、华侨学生、外国留学生、少数民族学生数量也急剧增加,有关学生的各种信息量也成倍增长,各类学生的统计分析工作也越来越困难,面对如此繁杂的工作,为了能够为高校学生信息管理提供一种更加高效实用的管理手段,为学生信息的存储、计算、统计、分析、交流提供一种更加安全快捷的信息平台,并且能够减少大量的人工作,以及在人工作中由于人为因素而引起的数据错误,保证学生信息数据的安全性和完整性,使学生管理人员能够轻松,正确无误地完成各项工作,为学生管理工作服务。
意义:
1、保证信息的准确性和时效性,随时通过计算机对系统进行管理,使得学生信息处于最新状态,保证统计数据和分析的准确。
2、减轻劳动强度、提高工作效率、增加学生管理的透明度。高校学生管理信息系统可以发挥计算机的强大功能,让管理人员从大量繁琐的手工劳动中解放出来,将单调枯燥的纸张涂写变成灵活的电子信息作。并充分利用网络优势,加快学校内部学生信息和文档的发布、传送和获取,改善和优化学生工作,使各个部门之间的工作联系紧密、井然有序、清楚明晰,大大减轻工作负担,提高工作效率,增加学生管理的透明度。
3、降低管理成本,由于采用本系统的原因,使辅导员管理工作一改往日埋在各种表格中的被动局面,基本实现了无纸化办公,根除了很多日常管理中的浪费现象,体现出现代化学生管理的优势。
4、规范化管理,由于采用了计算机统计分析学生信息,一些原始信息在录入时就必须要求准确录入,这就要求管理人员在提供信息时要准确,同时要求在录入时也要十分认真,这样做是为了将错误降到,提高系统工作的准确率,从而实现学生管理工作规范化。
#include
#include
#include
#define MAX_LEN 10
#define STU_NUM 30
#define COURSE_NUM 6
typedef struct student
{long num;
char name[MAX_LEN];
float score[COURSE_NUM];
float sum;
float er;
}STU;
int Menu(void);
void ReadScore(STU stu[],int n,int m);
void AverSumofEveryStudent(STU stu[],int n,int m);
void AverSumofEveryCourse(STU stu[],int n,int m);
void SortbyScore(STU stu[],int n,int m,int (compare)(float a,float b));
int Ascending(float a,float b);
int Descending(float a,float b);
void SwapFloat(float x,float y);
void SwapLong(long x,long y);
void SwapChar(char x[],char y[]);
void AsSortbyNum(STU stu[],int n,int m);
void SortbyName(STU stu[],int n,int m);
void SearchbyNum(STU stu[],int n,int m);
void SearchbyName(STU stu[],int n,int m);
void StatisticAnalysis(STU stu[],int n,int m);
void PrintScore(STU stu[],int n,int m);
void WritetoFile(STU record[],int n,int m);
void ReadfromFile(STU record[],int n,int m);
int main()
{char ch;
int n=0,m=0;
STU stu[STU_NUM];
while(1)
{ch=Menu();
switch (ch)
{case 1:printf("Input student number(n<=%d):",STU_NUM);
scanf("%d",&n);
printf("Input course number(m<=%d):",COURSE_NUM);
scanf("%d",&m);
ReadScore(stu,n,m);
break;
case 2:AverSumofEveryCourse(stu,n,m);
break;
case 3:AverSumofEveryStudent(stu,n,m);
break;
case 4:SortbyScore(stu,n,m,Descending);
printf("nSort in descending order by score:n");
PrintScore(stu,n,m);
break;
case 5:SortbyScore(stu,n,m,Ascending);
printf("nSort in ascending order by score:n");
PrintScore(stu,n,m);
break;
case 6:AsSortbyNum(stu,n,m);
printf("nSort in ascending order by score:n");
PrintScore(stu,n,m);
break;
case 7:SortbyName(stu,n,m);
printf("nSort in dictionary order by score:n");
PrintScore(stu,n,m);
break;
case 8:SearchbyNum(stu,n,m);
break;
case 9:SearchbyName(stu,n,m);
break;
case 10:StatisticAnalysis(stu,n,m);
break;
case 11:PrintScore(stu,n,m);
break;
case 12:WritetoFile(stu,n,m);
break;
case 13:ReadfromFile(stu,&n,&m);
break;
case 14:printf("End of program!n");
exit(0);
default :printf("Input error!n");
}}
return 0;
}/函数功能:显示菜单并获得用户键盘输入的选项/
int Menu(void)
{int Selected;
printf("Mament for Students' scoresn");
printf("1.Input recordn");
printf("2.Caculate total and erage score of ry course n");
printf("3.Caculate total and erage score of ry student n");
printf("4.Sort in descending order by score n");
printf("5.Sort in ascending order by score n");
printf("6.Sort in ascending order by number n");
printf("7.Sort in dictionary order by name n");
printf("8.Search by number n");
printf("9.Search by name n");
printf("10.Statistic ysis n");
printf("11.List record n");
printf("12.write to a file n");
printf("13.read from a file n");
printf("0.Exit n");
printf("Please Input your cho:"); //读入用户输入
scanf("%d",&Selected);
return Selected;
}/函数功能:输入n个学生的m门课程成绩/
void ReadScore(STU stu[],int n,int m)
{int i,j;
printf("Input students' ID,name and score:n");
for(i=0;i {scanf("%ld%s",&stu[i].num,stu[i].name); for(j=0;j {scanf("%f",&stu[i].score[j]); }} }/函数功能:计算每个学生各门课程的总分和平均分/ void AverSumofEveryStudent(STU stu[],int n,int m) {int i,j; for(i=0;i {stu[i].sum=0; for(j=0;j {stu[i].sum=stu[i].sum+stu[i].score[j]; }stu[i].er=m>0?stu[i].sum/m:-1; printf("student %d: sum = %.0f,er = %.0fn", i+1,stu[i].sum,stu[i].er); }} /函数功能:计算每门课程的总分和平均分/ void AverSumofEveryCourse(STU stu[],int n,int m) {int i,j; float sum[COURSE_NUM],er[COURSE_NUM]; for(j=0;j {sum[j]=0; for(i=0;i {sum[j]=sum[j]+stu[i].score[j]; }er[j] = n>0 ? sum[j]/n:-1; printf("course %d:sum = %.0f,er = %.0fn",j+1,sum[j],er[j]); }} /函数功能:按选择法将数组sum中的元素值排序/ void SortbyScore(STU stu[],int n,int m,int (compare)(float a,float b)) {int i,j,k,t; for(i=0;i {k=i; for(j=i+1;j {if((compare)(stu[j].sum,stu[k].sum)) k=j; }if(k!=i) {for(t=0;t {SwapFloat(&stu[k].score[t],&stu[i].score[t]); }SwapFloat(&stu[k].sum,&stu[i].sum); SwapFloat(&stu[k].er,&stu[i].er); SwapLong(&stu[k].num,&stu[i].num); SwapChar(stu[k].name,stu[i].name); }} }/使数据按升序排序/ int Ascending(float a,float b) {return a }/使数据按降序排序/ int Descending(float a,float b) {return a>b; }/交换两个单精度浮点型数据/ void SwapFloat(float x,float y) {float temp; temp=x; x=y; y=temp; }/交换两个长整形数据/ void SwapLong(long x,long y) {long temp; temp=x; x=y; y=temp; }/交换两个字符串/ void SwapChar(char x[],char y[]) {char temp[MAX_LEN]; strcpy(temp,x); strcpy(x,y); strcpy(y,temp); }/函数功能:按选择法将数组num的元素值按从低到排高序/ void AsSortbyNum(STU stu[],int n,int m) {int i,j,k,t; for(i=0;i {k=i; for(j=i+1;j {if(stu[j].num < stu[k].num) k=j; }if(k!=i) {for(t=0;t {SwapFloat(&stu[k].score[t],&stu[i].score[t]); }SwapFloat(&stu[k].sum,&stu[i].sum); SwapFloat(&stu[k].er,&stu[i].er); SwapLong(&stu[k].num,&stu[i].num); SwapChar(stu[k].name,stu[i].name); }} }/函数功能:交换法实现字符串按字典顺序排序/ void SortbyName(STU stu[],int n,int m) {int i,j,t; for(i=0;i {for(j=i+1;j {if(strcmp(stu[j].name, stu[i].name)<0) {for(t=0;t {SwapFloat(&stu[i].score[t],&stu[j].score[t]); }SwapFloat(&stu[i].sum,&stu[j].sum); SwapFloat(&stu[i].er,&stu[j].er); SwapLong(&stu[i].num,&stu[j].num); SwapChar(stu[i].name,stu[j].name); }} }} /函数功能:按学号查找学生成绩并显示查找结果/ void SearchbyNum(STU stu[],int n,int m) {long number; int i,j; printf("Input the number you want to search"); scanf("%ld",&number); for(i=0;i {if(stu[i].num==number) {printf("%ld t%s t",stu[i].num,stu[i].name); for(j=0;j {printf("%.0f t",stu[i].score[j]); }printf("%.0ft%.0fn",stu[i].sum,stu[i].er); return; }} printf("n Not Found! n"); }/函数功能:按姓名的字典顺序排出成绩表/ void SearchbyName(STU stu[],int n,int m) {char x[MAX_LEN]; int i,j; printf("Input the number you want to search"); scanf("%s",x); for(i=0;i {if(strcmp(stu[i].name,x)==0) {printf("%ld t%s t",stu[i].num,stu[i].name); for(j=0;j {printf("%.0f t",stu[i].score[j]); }printf("%.0ft%.0fn",stu[i].sum,stu[i].er); return; }} printf("n Not Found! n"); }/函数功能:统计各分数段的学生人数及所占的百分比/ void StatisticAnalysis(STU stu[],int n,int m) {int i,j,total,t[6]; for(j=0;j {printf("For course %d:n",j+1); memset(t,0,sizeof(t)); //将数组t的全部元素初始化为0 for(i=0;i {if(stu[i].score[j]>=0&&stu[i].score[j]<60) t[0]++; else if (stu[i].score[j]<70) t[1]++; else if (stu[i].score[j]<80) t[2]++; else if (stu[i].score[j]<90) t[3]++; else if (stu[i].score[j]<100) t[4]++; else if (stu[i].score[j]=100) t[5]++; }for(total=0,i=0;i<=5;i++) {total=total+t[i]; }for(i=0;i<=5;i++) {if(i==0) printf("<60t%dt%.2f%%n",t[i],(float)t[i]/n100); else if(i==5) printf("%dt%dt%.2f%%n",(i+5)10,t[i],(float)t[i]/n100); else printf("%d-%dt%dt%.2f%%n",(i+5)10,(i+5)10+9,t[i],(float)t[i]/n100); }} }/函数功能:打印学生成绩/ void PrintScore(STU stu[],int n,int m) {int i,j; for(i=0;i {printf("%ldt%st",stu[i].num,stu[i].name); for(j=0;j {printf("%.0ft",stu[i].score[j]); }printf("%.0ft%.0fn",stu[i].sum,stu[i].er); }} /输出n个学生的学号,姓名及m门课程的成绩到文件student.txt中/ void WritetoFile(STU stu[],int n,int m) {FILE fp; int i,j; if((fp=fopen("student.txt","w"))==NULL) {printf("Failure to open score.txt!n"); exit(0); }fprintf(fp,"%dt%dn",n,m); //将学生人数和课程门数写入文件 for(i=0;i {fprintf(fp,"%10ld%10s",stu[i].num,stu[i].name); for(j=0;j {fprintf(fp,"%10.0f",stu[i].score[j]); }fprintf(fp,"%10.0f%10.0fn",stu[i].sum,stu[i].er); }fclose(fp); }/从文件中读取学生的学号,姓名及成绩等信息写入到结构体数组stu中/ void ReadfromFile(STU stu[],int n,int m) {FILE fp; int i,j; if((fp=fopen("student.txt","r"))==NULL) {printf("Failure to open score.txt!n"); exit(0); }fscanf(fp,"%dt%d",n,m); //从文件中读出学生人数和课程门数 for(i=0;i< n;i++) {fscanf(fp,"%10ld",&stu[i].num); fscanf(fp,"%10s",stu[i].name); for(j=0;j< m;j++) {fscanf(fp,"%10f",&stu[i].score[j]); }fscanf(fp,"%10f%10f",&stu[i].sum,&stu[i].er); //不能用%10.0f }fclose(fp); }
版权声明:本文内容由互联网用户自发贡献。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 836084111@qq.com,本站将立刻删除。
上一篇
自考本科有哪些专业(上海交通大学自考本科有哪些专业)
下一篇