第一篇:高校宿舍管理(考勤)系统白皮书201804
数字校园系列软件产品
高校宿舍管理(考勤)系统
功能白皮书
宿舍管理系统功能白皮书
目录 2 产品概述...............................................................................................................................1.1 产品简介...................................................................................................................产品功能...............................................................................................................................2.1 系统设置...................................................................................................................2.1.1 房间命名规则...............................................................................................2.1.2 预分级别设置...............................................................................................2.1.3 楼层数设置...................................................................................................2.1.4 床位数设置...................................................................................................2.1.5 退宿原因设置...............................................................................................2.1.6 外宿原因设置...............................................................................................2.2 学生信息管理...........................................................................................................2.2.1 学生信息管理...............................................................................................2.2.2 院系专业班级信息管理............................................................................2.2.3 学生人数统计...............................................................................................2.3 宿舍信息管理.........................................................................................................-102.3.2 园区信息管理.............................................................................................-102.3.4 房间信息管理.............................................................................................-112.4 学生住宿管理.........................................................................................................-122.4.2 预分查询.....................................................................................................-132.4.4 批量入住.....................................................................................................-142.4.6 学生退宿.....................................................................................................-152.5 查询统计报表.........................................................................................................-1617172.5.4 院系学生分布.............................................................................................-18
2.6.1 用户信息管理.............................................................................................-18 数字校园系列软件产品| 宿舍管理系统功能白皮书 2.6.2 用户授权管理.............................................................................................-192.7 日志管理.................................................................................................................2.8 微信公众号管理端.................................................................................................-212.8.2 微信消息推送.............................................................................................-212.9 微信公众号客户端.................................................................................................-222.9.2 迎新管理.....................................................................................................-25273.1 简单易用.................................................................................................................-293.3 灵活的权限访问控制.............................................................................................-293.5 先进的体系结构.....................................................................................................-30产品概述
1.1 产品简介
高校宿舍考勤管理系统,学工处可以通过微信签到进行学生宿舍考勤,分为后台管理端和微信端,后台管理端进行学生信息、宿舍信息、学生住宿信息管理和统计,宿舍考勤设置、院系思政老师信息、宿舍考勤统计报表和权限管理,学生通过微信端进行学生用户绑定&解绑,提醒消息查看,宿舍考勤签到和考勤记录查看统计 产品功能
2.1 系统设置 2.1.1 房间命名规则
【管理员】设置房间号的命名规则,可以适应单元楼、筒子楼的房间。
数字校园系列软件产品| 宿舍管理系统功能白皮书
2.1.3 楼层数设置
【管理员】根据学校实际情况,设置宿舍楼的最高楼层数。
楼层数设置
2.1.4 床位数设置
【管理员】根据学校实际情况,设置房间的最多床位数。
数字校园系列软件产品| 宿舍管理系统功能白皮书
2.1.6 外宿原因设置
【管理员】根据学校实际情况,设置外宿原因。
外宿原因设置
2.2 学生信息管理 2.2.1 学生信息管理
【管理员】【宿管中心】可以维护在校生信息,包括学生学号、姓名、院系、专业、班级等信息。
学生信息管理
2.2.2 院系专业班级信息管理
【管理员】【宿管中心】可以维护所有的院系信息,包括院系代码、院系名称、院系简称;可以维护所有的专业信息,包括专业代码、专业名称、专业简称;-7 数字校园系列软件产品| 宿舍管理系统功能白皮书
班级信息管理
2.2.3 学生人数统计
【宿管中心】可以在宿管系统中可以查看在校生人数的统计,可以按学生类别、院系、年级分层统计。
学生人数统计
数字校园系列软件产品| 宿舍管理系统功能白皮书
2.3.3 楼宇信息管理
维护园区下的楼宇信息,支持筒子楼和单元楼,包括楼宇层数、层房间数、床位数、所属校区、所属园区等信息。
楼宇信息管理
2.3.4 房间信息管理
设置房间所在楼层、收费标准、入住性别等信息。
2.3.5 批量房间生成
系统初始化时,可以批量生成房间,省去大量的人工操作。
数字校园系列软件产品| 宿舍管理系统功能白皮书
2.4.1 预分房间
预分房间功能,可以根据学校的实际情况,有选择的进行应用。此功能和系统设置中预分级别设置紧密相关,只有当预分级别不是“学校”的时候,预分功能才能使用。
预分房间
2.4.2 预分查询
查询房间预分信息,查询房间具体分配到哪一个院系、专业或者班级。
预分查询
2.4.3 学生入住
单个学生入住,选择学生,为学生分配房间即可,入住的同时可以选择是否生成应收款,即:住宿费交费标准。
数字校园系列软件产品| 宿舍管理系统功能白皮书
批量入住
2.4.5 学生外宿
很多学校都有学生外宿的情况,基于此种情况,系统提供了学生外宿的功能,可以登记学生外宿时间、操作人、外宿原因等信息。外宿的同时,会保留学生的住宿历史信息。
学生外宿
2.4.6 学生退宿
单个学生退宿,记录学生的退宿原因、退宿时间,退宿的同时,会记录学生的历史住宿信息。
学生退宿
2.4.7 批量退宿
批量退宿,主要针对毕业生来用,选择所有查询出来的毕业生信息,一键实现退宿。
数字校园系列软件产品| 宿舍管理系统功能白皮书
2.5.1 公寓房间信息
查询每栋公寓楼下每个房间的住宿情况,并以不同的图标区分未住人、部分住人、已住满等情况。
公寓房间信息
2.5.2 房间住宿统计
按楼层、楼宇分层统计房间的住宿情况。
房间住宿统计
数字校园系列软件产品| 宿舍管理系统功能白皮书
用户信息管理
2.6.2 用户授权管理
通过给用户分配角色,授予用户系统操作权限。
2.6.3 角色管理
角色是访问权限的集合,通过给用户赋予不同的角色获得角色所拥有的权限集合,在实际系统使用中,可以根据具体工作的职能建立不同的角色,根据用户的责任和资格来分配其角色,方便地管理用户角色。
数字校园系列软件产品| 宿舍管理系统功能白皮书
2.8 微信公众号管理端 2.8.1 公众号设置
可以设置公众号菜单
2.8.2 微信消息推送
可以按条件筛选进行消息发送
数字校园系列软件产品| 宿舍管理系统功能白皮书
手机客户端有3个一级菜单,15个二级菜单
2.9.1 宿舍考勤
子菜单有 考勤签到、通知信息、公告信息、住宿信息、签到记录
数字校园系列软件产品| 宿舍管理系统功能白皮书
2.9.1.4 住宿信息
点击 菜单,查看住宿信息。
2.9.1.5 签到记录
点击 菜单,显示签到记录。
2.9.2 迎新管理
子菜单有 迎新通知、新生报到指南、校园地图、常见问题、联系辅导员
数字校园系列软件产品| 宿舍管理系统功能白皮书
2.9.2.5 联系辅导员
点击 菜单,输入筛选条件,查询 显示辅导员列表。
2.9.3 帮助反馈
子菜单有 绑定&解绑、校历查看、服务指南、意见反馈、联系电话
2.9.3.1 绑定&解绑
点击菜单,学生用户绑定&解绑页面,输入验证信息,绑定到公众号。
数字校园系列软件产品| 宿舍管理系统功能白皮书
点击 拨号,直接拨打。产品特点
3.1 简单易用
友好易用的界面,更符合国人的操作习惯。 既提供单条记录的处理又提供了批量记录的处理
3.2 灵活的页面定制查询
页面内容通过定制数据表,可以显示不同的内容以及组合不同的查询条件。
3.3 灵活的权限访问控制
系统采用基于角色的权限访问控制。
系统既有自己的一套用户和权限管理功能,又可以和统一身份认证结合使用。
可以控制到具体模块某一操作的权限,例如:数据打印。
3.4 实用的统计分析功能
提供了公寓房间的床位分配情况。 提供了不同层次的床位分层统计情况。 提供了院系学生分布情况。
数字校园系列软件产品|
第二篇:高校宿舍管理系统用户需求简单描述
用户需求描述:
1.问题提出:
宿舍管理也就成为学校日常管理的重中之中了,宿舍管理的方式也在不断的改进。随着电脑的普及与使用,现在的管理也提升了一个档次,渐渐实现了无纸化办公,即从原来的人工记录管理模式转变为电脑一体化管理。为了方便重庆大学的宿舍管理实现无纸化办公,使工作更有条理,更方便,更有效率特提出研究出这套宿舍管理系统。
2.结合重庆大学现行情况,和对楼管(直接用户)的交流,和长期的调研得出了,用户的大致需求如下:
它主要实现包括:寝室的配置、学生入住、卫生检查、学生违纪(晚出晚归)、外来人员登记,物品搬出 房屋报修,可以更快地了解到每个学生的住宿情况,使公寓的管理效率更高,做的更好!基本功能需求
本系统要实现的是重庆大学学生宿舍管理在设计该系统时,应尽可能的贴近学生 现行楼管的工作流程,便于用户操作。系统在实现上应该具有如下功能:
1.系统要求用户必须输入正确的用户名和密码才能进入系统。
2.系统应该提供宿舍的基本情况登记。包括添加寝室,修改寝室 查看寝室 删除寝室
3.系统还应具有对学生的查看,添加、修改、删除学生基本信息的功能
4.系统应提供人员来访登记及结束访问的详细登记,可查看修改 删除添加
5.系统应提供学生在校期间物品出宿舍楼的详细情况登记,可查看修改 删除添
6.系统应提供对晚出晚归的同学登记功能,可以查看 添加删除 修改
7.系统应提供增加、删除、修改用户帐户的功能。
8.系统还应具有添加、修改、删除学生基本信息的功能。
2,报表需求
学生宿舍管理系统的某些信息应当能够以报表形式打印出来。基本上应该能够实现学生基本信息的报表打印、某宿舍具体住宿情况的报表打印、学生物品出入的信息,晚出晚归报表打印等的功能。
3.系统管理需求
系统管理员能对 楼管进行添加修改 删除
第三篇:考勤管理系统
目 录
一. 选题的背景
随着计算机与信息技术的普遍提高,越来越多的单位使用计算机来管理档案,这样就在很大程度上提高了管理的效率。近几年来高校的扩大招生,一方面给广大民众提供了越来越多的教育机会,另一方面也使学校的管理工作加重了。学生注册管理采用手工录入和打印数据的方式,显然难以保证学生数据的准确无误和实时更新,迫切需要一种新的现代化管理体制对学生进行管理。二.课题的提出意义
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。学生注册管理软件是使用计算机科学管理的办法对学生的学籍、班级、课程、成绩、奖罚信息等进行管理。不仅具有检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低的优点,还使学生注册信息的实时性、精确性和学生注册工作的各个环节结合起来,极大地提高学生注册管理的效率,减轻了高校学生管理的负担。
本系统所实现的学生注册管理系统就是以VB和Access为编程环境来实现其制作和开发过程的,通过对学生注册管理系统进行需求分析、总体设计和详细设计逐步将一个学生注册管理系统的开发过程呈现出来。没有可以追求专业性和商品化软件的华丽包装,而是本着简单、实用的原则,既在功能上满足用户的需求,又力求操作简便,使本系统容易掌握和使用。
三.本系统的功能及特点
经分析系统共分为八个模块:用户管理模块、班级管理模块、学生学籍模块、课程管理模块、成绩管理模块、奖惩管理模块、个人信息查询模块,并得到如图1 所示的系统功能模块组织结构图。其中每个模块分别实现以下功能:
1)用户管理:管理使用学生注册管理系统的用户信息,包括系统用户的添加、修改、删除和浏览.2)班级管理:管理使用学生的班级信息,包括学生所在班级的添加、修改、删除和查询。
3)学生注册管理:管理在校学生的学籍信息,包括学生学籍的添加、修改、删除和查询。
4)课程管理:管理学生课程的各种信息,包括学生课程的基本课程设置和班级课程设置。
5)成绩管理:管理学生在校的所有成绩,包括学生成绩的添加、修改、删除和查询。
6)奖惩管理:管理学生在校的奖惩信息,包括学生奖惩管理的添加、修改、删除和查询。
7)个人信息查询:关于学生的各种相关信息,包括学生的性别、年龄、籍贯、身份等。
四.管理系统的现状
管理信息系统(MIS)是一门边缘学科,集管理科学、信息科学、系统科学、现代通信技术和电子计算机技术于一体。1985年,管理信息系统创始人,明尼苏达大学卡尔森管理学院的著名教授戴维斯(Gordon.B.Davis)给出了一个具有代表性的定义:“管理信息系统是一个利用计算机硬件和软件,手工作业、分析、计划、控制和决策模型以及数据库的用户-机器系统。它能提供信息支持企业或组织的运行、管理和决策功能。”
随着网络技术的出现,管理信息系统又有了新的必恭必敬,基于网络的管理信息系统不断出现,管理信息系统的概念模型也发生了相应的变化,许多学者对管理信息系统给出了新的定义。例如劳顿认为:“管理信息系统是一个基于计算机的信息系统,它通过收集、处理、存储和扩散信息,来支持组织的管理、决策、合作、控制、分析活动,并使之可视化。”
第四篇:宿舍考勤管理漫谈
宿舍考勤管理漫谈
初二七
1、建立班规班纪,实现纪律约束和自我管理的统一
把纪律约束和自我管理集合起来。建立细致的班规班纪,没有规章制度,班级管理就会随机应付,学生就会无所适从。建章立制,并引导学生自觉接受、服从班规班纪。
引导学生进行自我管理,自觉认识加强管理的必要性,减少学生对管理的抵触情绪。创新自我教育形式,对违反规定的实行必要的惩戒措施,如写“说明书”,劳动等。
2、加强管理队伍建设,建立监督检查信息反馈系统
宿舍长做好表率,负责维持宿舍秩序。形成学生自检、互检、班干部检查、班主任抽检的监督体系。执行过程经常进行信息反馈,班主任尽力实现全时空、无缝隙监控。
3、培养学生良好的卫生习惯,安全工作防患于未然
创建和谐、团结、友好、安静、卫生的宿舍环境。让学生养成良好的卫生习惯不可能一挥而就,要彻底改变脏乱差现象,需要反复检查,反复整改,打持久战。利用检查、奖惩等一系列措施来改变坏习惯,养成好习惯。
老师要经常进行突击检查,及时发现安全隐患,解决问题,排除隐患。
4、教育学生自觉遵守请假制度
及时请假,防止擅自离校。宿舍长负责检查,校对就寝情况,发现问题及时报告给值班老师、班主任。
5、关心学生的生活,为学生解决实际困难 班主任经常深入宿舍,了解学生的日常生活,帮助他们解决生活中遇到的难题,化解日常矛盾,做好思想工作,密切关注学生的心理和思想动态,让学生真正感受到家的温暖,集体的归属感,把宿舍、把班级当成自己的家,从而用心去营造这个“温馨家园”。
总之,要充分调动班干部、宿舍长的积极性。卫生委员、宿舍长的作用很大,老师做好动员,随时掌握学生在宿舍的动态。舍长每天关注宿舍的卫生和动态,有问题及时采取措施整改,并将每日情况汇报给老师。加强班风建设,不断增强学生对班级的向心力和凝聚力。让集体的力量感染学生,影响学生,打动学生。
第五篇:宿舍管理系统
附件B:宿舍管理系统源代码
#include “stdio.h” #include “stdlib.h”
#define SIZE 1000
char grade;
typedef struct StuNode{
char num[11];
char name[20];
char sex[2];
char birth[11];
char hometn[13];
char dorNum[7];
char dorTel[8];
struct StuNode *next;}StuNode,*StuList;
int readToList(StuList sl,FILE *fp){
StuList p;
int i=0;
while(1){
p=(StuList)malloc(sizeof(StuNode));
if(fread(p,sizeof(StuNode),1,fp)!=1)break;
p->next=sl->next;
sl->next=p;
i++;
}
fclose(fp);
return i;}
void addNode(){
FILE *fp;
StuList sl,p,q;
if((fp=fopen(“stu_list”,“rb”))==NULL){ /*the file doesn't exist*/
p=(StuList)malloc(sizeof(StuNode));
printf(“Please enter the student's information:n”);
scanf(“%s%s%s%s%s%s%s”,&p->num,&p->name,&p->sex,&p->birth,&p->hometn,&p->dorNum,&p->dorTel);
getchar();
p->next=NULL;
if((fp=fopen(“stu_list”,“wb”))==NULL){
printf(“cannot open filen”);
return;
}
else{
if(fwrite(p,sizeof(StuNode),1,fp)!=1){
printf(“file write errorn”);
return;
}
}
fclose(fp);
}
else{
sl=(StuList)malloc(sizeof(StuNode));
sl->next=NULL;
readToList(sl,fp);
p=(StuList)malloc(sizeof(StuNode));
printf(“Please enter the student's information:n”);
scanf(“%s%s%s%s%s%s%s”,&p->num,&p->name,&p->sex,&p->birth,&p->hometn,&p->dorNum,&p->dorTel);
getchar();
q=sl->next;
while(q){
if(strcmp(q->num,p->num)==0){
printf(“This student %s existed!Press Enter to continue....”,p->num);
getchar();
clrscr();
return;
}
else q=q->next;
}
p->next=sl->next;
sl->next=p;
p=sl->next;
if((fp=fopen(“stu_list”,“wb”))==NULL){
printf(“cannot open filen”);
return;
}
else{
while(p){
if(fwrite(p,sizeof(StuNode),1,fp)!=1){
printf(“file write errorn”);
return;
}
p=p->next;
}
}
fclose(fp);
}
printf(“nSuccess!
Press Enter to continue....”);
getchar();
clrscr();}
void delNode(){
FILE *fp;
StuList sl,p,q;
char num[11];
int flag=1;
printf(“Please enter the student's num:”);
scanf(“%s”,&num);
getchar();
sl=(StuList)malloc(sizeof(StuNode));
sl->next=NULL;
if((fp=fopen(“stu_list”,“rb”))==NULL){
printf(“cannot open filen”);
return;
}
readToList(sl,fp);
p=sl;
while(p){
q=p->next;
if(strcmp(q->num,num)==0){
p->next=q->next;
free(q);
flag=0;
}
else p=p->next;
}
if(flag==1){
printf(“Not exist this student--%s!Press Enter to continue....”,num);
getchar();
clrscr();
return;
}
else if((fp=fopen(“stu_list”,“wb”))==NULL){
printf(“cannot open filen”);
return;
}
else{
p=sl->next;
while(p){
if(fwrite(p,sizeof(StuNode),1,fp)!=1){
printf(“file write errorn”);
return;
}
p=p->next;
}
fclose(fp);
}
printf(“nSuccess!
Press Enter to continue....”);
getchar();
clrscr();}
void editNode(){
FILE *fp;
StuList sl,p;
char num[11];
int flag=1;
printf(“Please enter the student's num:”);
scanf(“%s”,&num);
getchar();
sl=(StuList)malloc(sizeof(StuNode));
sl->next=NULL;
if((fp=fopen(“stu_list”,“rb”))==NULL){
printf(“cannot open filen”);
return;
}
readToList(sl,fp);
p=sl->next;
while(p){
if(strcmp(num,p->num)==0){
printf(“nThe student's old information is:n%s %s %s %s %s %s %snPlease enter the student's new information:n”,p->num,p->name,p->sex,p->birth,p->hometn,p->dorNum,p->dorTel);
scanf(“%s%s%s%s%s%s%s”,&p->num,&p->name,&p->sex,&p->birth,&p->hometn,&p->dorNum,&p->dorTel);
getchar();
flag=0;
break;
}
else p=p->next;
}
if(flag){
printf(“Not exist this student--%s!Press Enter to continue....”,num);
getchar();
clrscr();
return;
}
else if((fp=fopen(“stu_list”,“wb”))==NULL){
printf(“cannot open filen”);
return;
}
else{
p=sl->next;
while(p){
if(fwrite(p,sizeof(StuNode),1,fp)!=1){
printf(“file write errorn”);
return;
}
p=p->next;
}
fclose(fp);
}
printf(“nSuccess!
Press Enter to continue....”);
getchar();
clrscr();}
void sort(StuList sl[],int n,char key[]){
int i,j,k;
if(strcmp(key,“num”)==0){
for(i=1;i k=i; for(j=i+1;j<=n;j++) if(strcmp(sl[j]->num,sl[k]->num)<0)k=j; if(k!=i){ sl[0]=sl[i]; sl[i]=sl[k]; sl[k]=sl[0]; } } } if(strcmp(key,“name”)==0){ for(i=1;i k=i; for(j=i+1;j<=n;j++) if(strcmp(strlwr(sl[j]->name),strlwr(sl[k]->name))<0)k=j; if(k!=i){ sl[0]=sl[i]; sl[i]=sl[k]; sl[k]=sl[0]; } } } if(strcmp(key,“dorNum”)==0){ for(i=1;i k=i; for(j=i+1;j<=n;j++) if(strcmp(sl[j]->dorNum,sl[k]->dorNum)<0)k=j; if(k!=i){ sl[0]=sl[i]; sl[i]=sl[k]; sl[k]=sl[0]; } } } } void scan(char key[]){ FILE *fp; StuList sortary[SIZE],sl,p; int i,n; sl=(StuList)malloc(sizeof(StuNode)); sl->next=NULL; if((fp=fopen(“stu_list”,“rb”))==NULL){ printf(“cannot open filen”); return; } n=readToList(sl,fp); p=sl->next; for(i=1;i<=n;i++){ sortary[i]=p; p=p->next; } sort(sortary,n,key); printf(“n num name sex birth hometown dorNum dorTeln”); printf(“---------------n”); for(i=1;i<=n;i++){ printf(“%-11s %-19s%-2s %-11s %-13s %-7s %-8sn”,sortary[i]->num,sortary[i]->name,sortary[i]->sex,sortary[i]->birth,sortary[i]->hometn,sortary[i]->dorNum,sortary[i]->dorTel); } printf(“---------------n”); printf(“Press Enter to continue...”); getchar();} void search(char key[],char value[]){ FILE *fp; StuList sortary[SIZE],sl,p; int i,n,low,high,mid,flag=1; sl=(StuList)malloc(sizeof(StuNode)); sl->next=NULL; if((fp=fopen(“stu_list”,“rb”))==NULL){ printf(“cannot open filen”); return; } n=readToList(sl,fp); p=sl->next; for(i=1;i<=n;i++){ sortary[i]=p; p=p->next; } sort(sortary,n,key); low=1;high=n; while(low<=high){ mid=(low+high)/2; if(strcmp(value,sortary[mid]->num)==0){ printf(“The student's information is:n”); printf(“%-11s%-19s%-2s%-11s%-13s%-7s%-8sn”,sortary[mid]->num,sortary[mid]->name,sortary[mid]->sex,sortary[mid]->birth,sortary[mid]->hometn,sortary[mid]->dorNum,sortary[mid]->dorTel); flag=0; break; } else if(strcmp(strlwr(value),strlwr(sortary[mid]->name))==0){ printf(“Result set:n”); printf(“%-11s%-19s%-2s%-11s%-13s%-7s%-8sn”,sortary[mid]->num,sortary[mid]->name,sortary[mid]->sex,sortary[mid]->birth,sortary[mid]->hometn,sortary[mid]->dorNum,sortary[mid]->dorTel); for(i=mid+1;strcmp(strlwr(value),strlwr(sortary[i]->name))==0;i++) printf(“%-11s%-19s%-2s%-11s%-13s%-7s%-8sn”,sortary[mid]->num,sortary[mid]->name,sortary[mid]->sex,sortary[mid]->birth,sortary[mid]->hometn,sortary[mid]->dorNum,sortary[mid]->dorTel); for(i=mid-1;strcmp(strlwr(value),strlwr(sortary[i]->name))==0;i--) printf(“%-11s%-19s%-2s%-11s%-13s%-7s%-8sn”,sortary[mid]->num,sortary[mid]->name,sortary[mid]->sex,sortary[mid]->birth,sortary[mid]->hometn,sortary[mid]->dorNum,sortary[mid]->dorTel); flag=0; break; } else if(strcmp(value,sortary[mid]->dorNum)==0){ printf(“Result set:n”); printf(“%-11s%-19s%-2s%-11s%-13s%-7s%-8sn”,sortary[mid]->num,sortary[mid]->name,sortary[mid]->sex,sortary[mid]->birth,sortary[mid]->hometn,sortary[mid]->dorNum,sortary[mid]->dorTel); for(i=mid+1;strcmp(value,sortary[i]->dorNum)==0;i++) printf(“%-11s%-19s%-2s%-11s%-13s%-7s%-8sn”,sortary[i]->num,sortary[i]->name,sortary[i]->sex,sortary[i]->birth,sortary[i]->hometn,sortary[i]->dorNum,sortary[i]->dorTel); for(i=mid-1;strcmp(value,sortary[i]->dorNum)==0;i--) printf(“%-11s%-19s%-2s%-11s%-13s%-7s%-8sn”,sortary[i]->num,sortary[i]->name,sortary[i]->sex,sortary[i]->birth,sortary[i]->hometn,sortary[i]->dorNum,sortary[i]->dorTel); flag=0; break; } else if((strcmp(key,“num”)==0)&&(strcmp(value,sortary[mid]->num)<0))high=mid-1; else if((strcmp(key,“name”)==0)&&(strcmp(strlwr(value),strlwr(sortary[mid]->name))<0))high=mid-1; else if((strcmp(key,“dorNum”)==0)&&(strcmp(value,sortary[mid]->dorNum)<0))high=mid-1; else low=mid+1; } if(flag)printf(“No result!n”); printf(“Press Enter to continue...”); getchar(); clrscr();} void printMenu(){ printf(“ *********************< MENU >*********************n”); printf(“ 1.Add one student's record.n”); printf(“ 2.Delete one student's record.n”); printf(“ 3.Edit one student's record.n”); printf(“ 4.Scan all records ordered by num.n”); printf(“ 5.Scan all records ordered by name.n”); printf(“ 6.Scan all records ordered by dorNum.n”); printf(“ 7.Search one student's record.n”); printf(“ 8.Exit.n”); printf(“ **************************************************n”); printf(“Please enter your choice(1~8):”); grade=getchar(); getchar();} void main(){ char key[7],value[20]; while(1){ printMenu(); switch(grade){ case'1':addNode();break; case'2':delNode();break; case'3':editNode();break; case'4':clrscr();scan(“num”);break; case'5':clrscr();scan(“name”);break; case'6':clrscr();scan(“dorNum”);break; case'7':clrscr(); printf(“Please enter the key and value(eg:num 0606054230/name ZhangSan/dorNum 030615):n”); scanf(“%s%s”,&key,&value); while((strcmp(key,“num”)!=0)&&(strcmp(key,“name”)!=0)&&(strcmp(key,“dorNum”)!=0)){ printf(“Wrong key!It must be num/name/dorNum:n”); scanf(“%s%s”,&key,&value); getchar(); } getchar(); clrscr(); search(key,value); break; case'8':exit(0); default:clrscr(); printf(“n Have no this choice--%c!Press Enter to continue...”,grade); getchar(); clrscr(); } } }