学生证信息管理系统
- 格式:doc
- 大小:255.00 KB
- 文档页数:21
“i家校”校园信息管理系统是以IC卡学生证应用为核心,配套校园“i家校”各终端设备,实现校园考勤、安全管理、家校沟通,为学校搭建的信息化管理平台。
一、安全功能
1、本校学生身份识别与信息核对。
2、非本校学生卡自动报警。
3、准确记录刷卡时间,便于查询管理。
4、学生进出校门或出入宿舍刷卡,系统会及时通知家长。
6、学生监护权的有效划分。
二、校园安全及考勤管理:学生进出校门刷学生IC卡,平台可准确记录时间,方便学校及班主任对学生进行入校、离校信息的及时监控与管理;同时以短信方式通知家长,便于家长知晓孩子出、入校动态。
三、亲情电话
1、学生使用学生IC卡在智能电话机上刷卡,可免费给家长打电话;
2、亲情电话终端只能呼出,无法呼入,不会影响正常教学秩序。
可设置三个亲情号码
学生在i家校终端上刷卡可免费拨打电话,无需记忆号码
每次通话180秒
家长可登录网站查询学生通话记录
四、资费
每人每月5元,只收取主号码费用,其它2个亲情号码免费(暑假免费)
订购方式:(1)学校为家长开通“i家校”业务时,第一联系人会收到一条短信,内容如下:
尊敬的客户,您好!您将订购由中国移动提供的“i家校”平安电话业务,5元/月,请在24小时内回复“是”确认订购,回复其他内容和不回复则不订购。
中国移动。
(2)家长在收到上述短信后,需要回复“是”,方可成功开通使用。
(3)若家长未收到订购信息(或在24小时内未回复),可以拨打客服热线
400-115-1115(8:00-19:30)进行业务开通。
学籍信息管理软件系统概要设计说明书1 引言随着计算机技术的日益成熟、普及,现代的学校管理的实际运作在很多方面、很大程度上都必须借助计算机来完成,相应软件的开发显得尤为重要。
本学籍管理应用系统以程序设计语言为基础,采用程序设计和数据库相结合的手段进行开发,结构紧凑、运行速度快、操作简单,更因为拥有自己的源代码,所以保证了软件具有高度的保密、安全性,本软件将帮助学校管理人员方便、安全、高效的进行学校的管理。
本阶段的主要任务是根据需求规格说明确定设计目标,以及它们的优先顺序,并根据目标确定最适合的设计方法,制定各种规范。
将系统按功能划分成模块的层次结构。
确定每个模块的功能,建立和已确定的软件需求的对应关系。
确定模块之间的调用关系,确定模块之间的接口,即模块之间传递的消息。
设计好接口的信息结构,评估模块划分的质量及导出模块结构的规则。
完成数据库设计,避免数据大量冗余。
1.1编写目的此文档作为用户对即将开发的软件的功能要求,是软件设计和开发者的主要依据。
1.2背景项目名称:学籍信息管理系统项目委托单位:××学校软件开发单位:×××软件开发组1.3定义MIS:(Management Information System)管理信息系统的英文缩写。
Delphi:本系统所使用的编程语言1.4参考资料(1)实验所给出的---软件生命周期各阶段的文档分类及作用。
●可行性研究报告●需求分析规格说明文档●项目概要设计模板●项目概要设计范例(2)软件系统概要设计模板(3)项目文档范例(4)实验三中给出的完整范例-医院计算机监控系统设计及企业(5)《XXX程序设计语言》--------XXX编著 XXX出版社《软件工程》--------张海潘编著人民邮电出版社《数据库原理及应用》--------萨师宣编著高等教育出版社出版社2 总体设计2.1需求规定学籍信息管理系统:课程注册管理学籍异动管理档案管理学生证管理毕业资格的审核系统应实现主要功能:输入功能---通过应用界面的按钮、菜单栏等,从键盘完成所需信息的输入;查询功能---通过对查询条件的过滤或处理,从数据库中提取对应的信息;输出功能---以表格形式完成显示或实现打印输出。
【精品】学生信息管理系统需求分析一、项目背景现今社会,教育已经成为了人们成长的重要途径。
随着社会的快速发展和科技的不断更新,学生信息管理系统也应运而生。
目前,学校信息化建设成为了各大学校的重点工作,学生信息管理系统也越来越受到教育机构的重视。
二、系统概述学生信息管理系统(Student Information Management System,简称SIMS),是一种基于互联网的管理系统,旨在提供学生信息的存储、管理、修改和查询功能。
该系统主要用于教育机构,所收集的信息包括学生的基本信息、学业成绩、考勤情况、学生证明材料等。
学生信息管理系统能够提高教育机构对学生管理的效率和准确性,以及为学生提供各种信息服务,方便学生和家长更好地了解学生的情况和发展。
三、系统功能1.基本信息管理学生信息管理系统可以存储学生的基本信息,包括姓名、性别、出生日期、身份证号码、联系电话、家庭住址等。
同时,支持学生基本信息的增、删、改、查功能。
2.学业成绩管理学生信息管理系统可以存储学生的各科成绩,包括平时成绩、考试成绩、期末成绩等,并且还能够将不同学期的成绩进行汇总,形成整张成绩单。
同时,系统支持对学生成绩的统计分析和查询,可以方便教员和学生对考试成绩的了解和评估。
3.考勤管理学生信息管理系统可以记录每个学生的考勤情况,包括出勤、请假、缺勤等情况,并将每个学期的考勤情况进行汇总和展示。
同时,系统也支持教员对考勤情况进行查询和管理,方便教员了解每个学生的学习态度和表现。
4.学生证明材料管理学生信息管理系统可以存储学生的证明材料,包括学生证、学籍证明、成绩单等。
同时,系统支持学生和家长在线申请这些证明材料,方便了学生的使用和办理。
5.数据统计与分析学生信息管理系统可以对各种数据进行汇总、统计和分析,比如学生人数、男女比例、班级成绩分布、考勤情况等。
同时,系统还可以生成各类教学报表,为教育管理和决策提供数据支持。
四、需求分析1.安全性由于学生信息管理系统主要用于存储和管理学生的个人信息,所以系统的安全性非常重要。
学校学生证管理规定学校学生证是学校管理学生的一项重要工作之一,对于学生证管理的规定旨在确保学校管理的严谨性和安全性。
以下将介绍学校学生证管理规定的具体内容。
1. 办理学生证的要求学校学生证办理的第一要求是学生必须是学校的合法注册学生,具备在校学习资格。
同时,学生需提供个人身份证明材料,如身份证、户口簿等证件。
学生证的办理一般由学校的教务部门或学生事务中心负责,学生需要按规定时间和地点前往办理手续。
2. 学生证的功能学生证在学生学习期间具有多种功能。
首先,学生证是学生身份的凭证,能够证明学生的合法身份。
其次,学生证也是学生进出学校、图书馆、实验室等场所的通行证。
此外,学生证还可以作为学生享受各类学生优惠政策的凭据,如公交车票的优惠、图书馆借阅的特权等。
因此,学生证的管理具有重要的意义。
3. 学生证的使用规定学校学生证的使用规定是学生证管理的重要环节。
首先,学生应妥善保管学生证,不得私自损坏、转借他人或擅自更改学生证上的信息,避免学生证的被冒用等情况。
其次,学生根据学校相关规章制度的要求,按时缴纳学费并通过课程考核,方可继续使用学生证。
此外,学生证过期后,学生需要按照规定程序进行学生证的换领。
4. 学生证的挂失与补办学生证的挂失与补办是学生证管理的重要环节。
一旦发现学生证丢失或被盗,学生应立即向学校的相关部门报失,并办理挂失手续。
学校根据挂失申请进行相关处理,将挂失信息存入系统中,以确保学生证不能继续被滥用。
学生需要按照学校规定的手续和时间重新办理补办手续,并支付相应的补办费用。
5. 学生证的处罚规定学校学生证的管理规定中也包括了对学生证违规使用的处罚规定。
例如,如果学生证被用于非法用途,如代替他人进出学校、故意改动学生证上的信息等,学校将根据情节轻重给予相应的纪律处分,严重者甚至会影响学生的学籍和学位。
6. 校外使用学生证的限制学校学生证的使用规定通常限制了学生证在校外的使用范围。
学生证一般只适用于学生进出学校、图书馆等校内场所。
山东省学生信息管理系统使用说明系统菜单如图所示,第一项是“系统设置”菜单,二至六项是学籍管理模块菜单(依次为新生建籍、学籍异动、信息查询、报表打印、学籍维护),第七项是考试管理模块菜单,第八项是体质健康测试模块菜单,第九项是综合素质评价模块菜单,第十项是“系统帮助”菜单。
1、“系统设置”菜单主管单位----主管单位信息模型,通过设置不同的主管单位[省、市、县区],系统可以屏蔽掉当前数据库中指定单位以外的所有数据,实现在不同市、县区之间自由切换,数据库工作区域也相应进行切换;通过该模型中的“数据维护”功能可以实现主管单位信息的备份、上报、导入等要求;通过“统计报表”功能,可以按不同层次范围的主管单位打印代码表(或通讯录)。
该模型主要包括主管单位代码、主管单位名称、所在地行政区划码、主管单位地址、邮政编码、学籍管理科室、联系人、联系电话等信息(首次使用需要各市、县区教育行政部门补充完整相关信息),其中:主管单位代码:由2位省(区/市)代码+2位市(地)代码+2位县(市/区)代码,共6位数字组成。
省教育厅负责编定的学校主管部门的唯一标识,不得进行更改。
默认等同于各单位的行政区划代码;无行政区划代码的(如市直、相对独立管理的各类开发区等),增设主管单位代码时由市级教育行政部门上报省教育厅,由省教育厅参照编排规则定义新的代码使用。
主管单位名称:指学校主管单位标准名称,与公章一致。
所在地行政区划码:参见《中华人民共和国行政区划代码》。
主管单位地址:指包括省(区、市)/地(市、区)/县(市、区、旗)/乡(镇)/街(村)的地址。
学校信息----学校信息模型,通过设置不同的县区级主管单位,实现所属学校的集中管理;通过“学校列表”可以筛选不同类别的学校;通过该模型中的“数据维护”功能可以实现不同范围的学校信息的备份、上报、导入等要求;通过“统计报表”功能,可以对不同范围、不同类别的学校代码表进行打印。
该模型包括学校代码、学校名称、所属主管单位代码和名称、学校地址、邮政编码、联系电话、学校办别、学校类别、所在地区类别、主教学语言、所在地行政区划代码和名称、学校达标等级、学校运行状况等信息(首次使用需要各市、县区教育行政部门补充完整相关信息),其中:学校代码:由6位主管单位代码+4位学校序号,共10位数字组成。
证件管理系统在当今社会,各种证件在我们的生活和工作中扮演着至关重要的角色。
无论是身份证、护照、驾驶证,还是学历证书、职业资格证书等,它们不仅是个人身份和能力的证明,也是社会管理和运作的重要依据。
随着信息量的不断增加和管理要求的日益提高,传统的证件管理方式已经难以满足需求,证件管理系统应运而生。
证件管理系统是一种利用信息技术对各类证件进行高效、准确、安全管理的工具。
它通过数字化、信息化的手段,将证件的信息进行采集、存储、处理和分析,实现了证件管理的自动化和规范化。
首先,证件管理系统能够实现证件信息的快速采集。
在传统的管理方式中,工作人员需要手动录入证件信息,这不仅效率低下,而且容易出错。
而证件管理系统通常配备了先进的扫描设备和识别技术,能够快速、准确地将证件上的文字、图像等信息转化为电子数据,并自动录入系统中。
这大大提高了信息采集的效率和准确性,节省了大量的人力和时间成本。
其次,该系统能够对证件信息进行有效的存储和管理。
系统会将采集到的证件信息按照一定的规则和格式进行存储,建立起完善的证件数据库。
这些数据库可以根据不同的需求进行分类和索引,方便用户快速查找和检索所需的证件信息。
同时,系统还具备数据备份和恢复功能,确保证件信息的安全性和可靠性。
再者,证件管理系统能够对证件的有效期进行实时监控和提醒。
对于一些具有有效期的证件,如驾驶证、护照等,系统可以设置提醒功能,在证件即将到期前自动向相关人员发送提醒通知,以便及时办理证件的续期或更换手续。
这有助于避免因证件过期而带来的不必要的麻烦和损失。
此外,该系统还具备强大的统计分析功能。
它可以对证件的类型、数量、分布等情况进行统计分析,为管理决策提供有力的数据支持。
例如,通过对某一地区职业资格证书的统计分析,可以了解该地区的人才结构和职业技能水平,为制定相关的人才政策和培训计划提供参考依据。
在实际应用中,证件管理系统广泛应用于政府部门、企事业单位、学校等各个领域。
文档编号:00版本号:V1.0文档名称:需求规格说明书项目名称:学生信息管理系统项目负责人:编写:校对:审核:批准:开发单位:08计算机科学与技术软件开发第六组需求规格说明(Requirements Specification)一.引言1.编写目的学校学生管理信息系统是针对学校人事处的大量业务处理工作而开发的管理软件,是典型的管理信息系统(Management Information System)。
它是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,它能够为用户提供充足的信息和快捷的查询手段。
能有效的帮助学校和老师掌握学生的情况,为学生提供成绩跟课程方面的查询。
通过该系统,用户可以查看学生的基本资料、学习成绩等各方面的资料,能够方便的了解学生总体情况。
该管理系统为用户提供了一些简单的数据查询、输出各种信息等。
学生用户通过输入学生基本信息、课程基本信息等,由系统自行生成相应的数据以供学生查询,另外人事处的管理用户还可以对这些基本信息进行更新和删除, 学校学生管理信息系统力求给用户方便快捷的途径去管理这些繁琐的数据。
学生信息管理统统的功能需求共有一下几个方面:(1) 学生信息管理:管理所有学生的基本信息,包括添加、修改、删除等;可以根据各种条件查询出需要的信息。
(2)课程信息管理:管理所有课程的基本信息,包括添加、修改、删除等;可以根据各种条件查询出需要的信息。
(3)选课与成绩管理:根据学号进行选课,登记所选课程的成绩;可以根据学号查询出选课信息与成绩。
2.项目背景本系统是是郑州华信学院,目前使用的是手工记录学生的信息。
随着学校规模的增大以及新增学生选课的影响,手工方式已经无法记录学生的实时信息,该学校决定用一套新的学生信息管理系统软件,并要求满足以下条件:(1)学生卡使用磁卡及防伪标志,学生卡如有遗失,学校方面可以补办、原资料需重新录入。
(2)学生不能转借给他人使用,如违反给予相应处罚。
学生管理系统功能及技术服务要求一、功能模块要求(一)学生基本信息1、学生基本信息:包括基本信息、高中信息、家庭信息、住宿信息、银行卡号等。
如:学校代码、学校名称、考生号、学号、姓名、性别、出生年月日、身份证号、政治面貌、民族、学院、专业代码、专业名称、班级代码、层次、类别、学制、入学时间、入学年份、邮政编码、家庭地址、生源地、户口性质(农村、城镇)、联系电话、登记照片(1寸蓝底)等(此部分可以和招生系统联系起来);学生职务、联系电话、QQ、微信、入住楼栋和宿舍、武汉建行卡号;毕业中学、学校地址、中学联系电话;父母姓名和紧急事件联系人、出生年月、职业、联系电话、家庭详细地址和邮编。
2、实现功能:权限设置(学校、各职能部门、学院、辅导员、学生五级账号及不同权限匹配)、批量导入、批量导出、(批量或单个)新增、修改、删除、批量检索查询、审核、数据统计、报表打印等。
(二)班级管理信息1、班级基本信息:学院、专业名称、班级代码、班级QQ群(微信群)、班级人数〈总数、男、女〉、带班辅导员、班主任、所属学生党支部。
2、班级奖惩信息:班级代码、参加赛事、获奖类别、获奖级别、获奖等级、获奖人员、获奖时间;处罚同。
3、实现功能:对接模块1,权限设置(学校、各职能部门、学院、辅导员、学生五级账号及不同权限匹配)、数据统计、批类查询、导入、导出、(批次或单个)新增、删除、修改、报表打印等。
(三)学生第二课堂和综合测评管理1、可选择录入信息:正能量:社会实践;志愿服务;科研活动;培训讲座;外出学习考察;校园活动;评优评先;创新创业;公益劳动;考级考证、各类竞赛(证书);资格证书;学生干部任职等情况。
以上,均需录入时间、地点、事项、类别、级别等信息负能量:旷课、旷操、违反校纪校规(或班规、公寓规定等)的其他情况、网络贷款、不诚信或其他违背公序良俗的行为、纪律处分;四困生情况等2、实现功能:对接模块1,权限设置(学校、各职能部门、学院、辅导员、学生五级账号及不同权限匹配)、数据统计、批类查询、导入、导出、(批次或单个)新增、删除、修改、报表打印等。
学工管理系统操作手册目录1.1 登陆方式 (4)1.2 我的基本信息确认(学生角色) (5)1.3重要信息修改申请(学生角色) (7)1.4 请假申请(学生角色) (8)1.5 学生证补办申请(学生角色) (9)1.6 证明打印申请(学生角色) (10)1.7 扩展信息学生维护(学生角色) (11)1.8 查看已审核通过的信息(学生角色) (13)1.9 缓注册学生申请(学生角色) (13)1.10 学籍异动申请(学生角色) (14)1.11 奖学金申请(学生角色) (15)1.12 个人荣誉称号申请(学生角色) (17)1.13 个人违纪处分查看(学生角色) (19)1.14 困难生申请(学生角色) (19)1.15 困难补助申请(学生角色) (20)1.16学费减免申请(学生角色) (22)1.17 助学金申请(学生角色) (25)1.18 勤工助学岗位申请(学生角色) (26)1.19 贷款申请(学生角色) (28)1.20 放款信息查看(学生角色) (29)1.21 贷款代偿申请(学生角色) (29)1.22 续贷申请(学生角色) (30)1.1登陆方式信息门户学生管理信息系统1、登录信息门户学生登录【信息门户】(/)的初始账号为个人学号,初始密码为身份证号后6位(若身份证号包含X请注意用大写,若系统中身份证号为空则密码为学号)2、单点进入学工系统1.2 我的基本信息确认(学生角色)1. 学生登录系统,进入菜单综合服务-我的基本信息。
2. 新增家庭成员信息:1.3重要信息修改申请(学生角色)1. 学生登录系统,进入菜单综合服务-重要信息修改申请,通过【申请】按钮进入申请选择页面。
2. 申请修改页面3. 提交成功后提示:4. 如果【保存】可以查看并可以修改申请信息,如果【提交】则只能查看审核状态但不能修改信息。
1.4 请假申请(学生角色)1. 学生登录系统,进入菜单请假服务-请假申请,查看完请假说明后,通过点击【申请】按钮进入申请页面。
1系统的意义及其功能本系统为《学生证管理程序》。
系统任务描述:假设某校学生学生证基本信息主要包括:学号、姓名、所在系、班级等,本系统应能对这些基本信息进行管理,并要求具有以下功能:(1)通过键盘输入某位学生的学生证信息。
学生证包含的信息请参看自己的学生证;(2)给定学号,显示某位学生的学生证信息;(3)给定某个班级的班号,显示该班所有学生的学生证信息;(4)给定某位学生的学号,修改该学生的学生证信息;2系统的功能结构图以及调用关系3系统功能详细分析学生证管理系统需要完成的功能主要有:从主函数进入各个子函数:子函数包括学生证信息的键入、查询信息的功能、修改学生证信息的功能、退出系统。
具体功能如下:3.1学生证信息的键入学生证管理系统3.2 查询信息的功能查询记录的主要功能是通过不同的查询式查询学生的信息。
先是进入查询界面,再选择查询的式,选择后将输出该学生的信息。
共分为两种:○1 给定某个学生的学号,显示该学生的学生证信息; ○2 给定某个班级的班号,按学号排序来显示该班所有学生的学生证信息; 按班级排序来显示该班所有学生的学生证信息;3.2.1 输入学号,显示该生的学生证信息3.2.2 输入班号,显示该班所有学生的学生证信息学生证管理系统3.3 修改学生证信息的功能4 运行界面主菜单界面修改信息功能修改信息的主要功能是通过输入某位学生的学号来修改该生的学生证信息。
先是进入修改界面,再输入学号,输入后,将输出该生的学生证信息,再选择是否修改此记录,选择是,则输入修改的信息,并保存修改。
开始主菜单修改学生证信息功能输入学号显示该生学生证信息是否修改写入并保存文件YN学生证管理系统学生证键入的界面个人学生证信息显示界面显示班级信息的选择输出式的界面学生证管理系统按学号排序显示该班所有学生的学生证信息界面按姓名排序显示该班所有学生的学生证信息界面显示班级信息的退出界面修改学生证信息的界面学生证管理系统5系统使用说明1、进入程序时,先以菜单形式显示所有命令,然后用户通过菜单项选择操作;例如:1 学生证信息的键入2 输入学号,显示该生学生证信息3 输入班号,显示该班所有学生的学生证信息4 给定学号,修改该生学生证信息5 退出系统请选择[1/2/3/4/5]:2、键入学生证信息时,按照所给定的格式输入。
3、查询信息是按学生学号和班号的形式进行查询,填入学号后,则显示出该生所有信息;选择按班号查询功能后,在选择显示输出式,分两种:一种按学号排序;另一种是按姓名排序。
选定后,再填入班号,则显示出该班所有学生的学生证信息(按已选定的排序式显示)。
4、修改信息是按输入学号的形式进行修改,填入后,则显示出该生所有信息,然后询问是否修改,若回答“y”(大小写通用),则输入新值,否则不作修改。
6 C语言源程序代码#include <stdio.h>#include <windows.h> //用来使用清屏函数#include <malloc.h>#include <string.h>#include <stdlib.h>#define LEN sizeof(struct STUcard)struct STUcard *creat();void viewperson();void viewclass();void number();void name();void change();struct STUcard *save();struct date{int year;int month;int day;}; //定义用来嵌套的结构体struct STUcard{int number;char name[20];char sex[10];char department[20];char classnumber[10];struct date timeofenter; //嵌套结构体char IDnumber[30];struct date birthday;struct STUcard *next;}; //定义结构体void main(){char c;int n=0;struct STUcard *head;char build; //创建文件FILE *fp;fp=fopen("XX.out","rb");if(fp==NULL){printf("文件不存在,请创建(Y or N)");scanf("%c",&build);if(build=='Y')fp=fopen("XX.out","wb");elseexit(0);}do{system("cls"); //清屏printf("*****************************************\n");printf(" 1: 输入学生证信息\n");printf(" 2: 查找个人信息\n");printf(" 3: 查找班级里所有学生的学生证信息\n");printf(" 4: 修改学生证信息\n");printf(" 5: 退出\n");printf("*****************************************\n");printf(" \n");printf("请选择输入选项[1\\2\\3\\4\\5]:>");do{c=getchar();}while(c!='1'&&c!='2'&&c!='3'&&c!='4'&&c!='5');学生证管理系统getchar();switch(c){case '1': head=creat(); break;case '2': viewperson(head); break;case '3': viewclass(head); break;case '4': change(head); break;case '5': exit(0); break;}printf(" 按任意键返回主菜单:\n");flushall();getchar();printf("%d",n);system("cls");}while(1);}int n;struct STUcard *creat() //录入学生证信息函数{struct STUcard *head,*p1,*p2;n=0;head=NULL;p1=p2=(struct STUcard *)malloc(LEN);printf("请按以下格式输入学生证信息,注意每个数据之间间隔一个空格!\n以学号为00000000结束录入,并且剩下的信息字符用“0”代替输入注意:输入格式不变!:\n");printf("学号姓名性别院系班级入学时间(年月日)身份证号出生日期(年月日)\n");scanf("%d %s %s %s %s %d %d %d %s %d %d %d",&p1->number,p1->name,p1->sex,p1->department,p1->classnumber,&p1->timeofenter.year,&p1->timeofenter.month,&p1->timeofenter.day,p1->IDnumber,&p1->birthday.year,&p1->birthday.month,&p1->birthday.day);while(p1->number!=00000000){n=n+1;if(n==1) head=p1;else p2->next=p1;p2=p1;p1=(struct STUcard *)malloc(LEN);scanf("%d %s %s %s %s %d %d %d %s %d %d %d",&p1->number,p1->name,p1->sex,p1->department,p1->classnumber,&p1->timeofenter.year,&p1->timeofenter.month,&p1->timeofenter.day,p1->IDnumber, &p1->birthday.year,&p1->birthday.month,&p1->birthday.day);}p2->next=NULL;free(p1);save(head); //保存文件return(head); //把已录入信息的链表头指针返回给住函数}void viewperson(struct STUcard * head) //查找个人信息函数{int m,a=0;struct STUcard *p;printf("请输入学号:");printf(" \n ");scanf("%d",&m);p=head; //获取头指针,以使用链表while(p->next!=NULL) //判断是否为空指针{if(p->number==m){printf("学号:%d\n姓名:%s\n性别:%s\n院系:%s\n班级:%s\n入学时间:%d年%d月%d日\n身份证号:%s\n出生日期:%d年%d月%d日\n",p->number,p->name,p->sex,p->department,p->classnumber,p->timeofenter.year,p->timeofenter.month,p->timeofenter.day,p->IDnumber,p->birthday.year,p->birthday.month,p->birthday.day);printf("\n");a=a+1;}p=p->next; //结点后移}if(p->number==m){printf("学号:%d\n姓名:%s\n性别:%s\n院系:%s\n班级:%s\n入学时间:%d年%d月%d日\n身份证号:%s\n出生日期:%d年%d月%d日\n",p->number,p->name,p->sex,p->department,p->classnumber,p->timeofenter.year,p->timeofenter.month,p->timeofenter.day,p->IDnumber,p->birthday.year,p->birthday.month,p->birthday.day);printf("\n");a=a+1;}学生证管理系统printf("\n");printf("共%d人\n",a);if(a==0) printf(" 对不起,查无此人!\n");}void viewclass(struct STUcard * head) //查找班级信息函数{char c;void number();void name();do{system("cls"); //清屏printf("****************************************\n");printf(" 1: 按学号排序输出\n");printf(" 2: 按姓名排序输出\n");printf(" 3: 退出\n");printf("****************************************\n");printf(" \n");printf("请选择输入选项[1\\2\\3]:>");do{c=getchar();}while(c!='1'&&c!='2'&&c!='3');getchar();switch(c){case '1': number(head); break;case '2': name(head); break;case '3': exit(0); continue;}printf(" 按任意键返回上层菜单:\n");flushall();getchar();system("cls");}while(1);}void number(struct STUcard *head) //按学号排序{char c[10];int h1,a=0,i,j,k,w;char hname[20];char hsex[20];char hdepartment[20];char hclassnumber[10];char hIDnumber[30];struct date htimeofenter;struct date hbirthday;struct STUcard *p,*p2,*p3;p=head;p2=head;p3=p2->next;for(k=1;;k++) //用来确定链表中共多少个结点{if(p->next!=NULL) p=p->next;else break;}for(i=0;i<k-1;i++){p2=head;p3=p2->next;for(j=0;j<k-1-i;j++){if(p2->number>p3->number){h1=p2->number;strcpy(hname,p2->name);strcpy(hsex,p2->sex);strcpy(hdepartment,p2->department);strcpy(hclassnumber,p2->classnumber);strcpy(hIDnumber,p2->IDnumber);htimeofenter=p2->timeofenter;hbirthday=p2->birthday;p2->number=p3->number;strcpy(p2->name,p3->name);strcpy(p2->sex,p3->sex);strcpy(p2->department,p3->department);strcpy(p2->classnumber,p3->classnumber);strcpy(p2->IDnumber,p3->IDnumber);p2->timeofenter=p3->timeofenter;p2->birthday=p3->birthday;p3->number=h1;strcpy(p3->name,hname);strcpy(p3->sex,hsex);学生证管理系统strcpy(p3->department,hdepartment);strcpy(p3->classnumber,hclassnumber);strcpy(p3->IDnumber,hIDnumber);p3->timeofenter=htimeofenter;p3->birthday=hbirthday;}p2=p3;p3=p3->next;}}printf("请输入班级:\n");scanf("%s",&c);p=head;for(w=1;w<=k;w++){printf("\n");if(strcmp(p->classnumber,c)==0){printf("学号:%d\n姓名:%s\n性别:%s\n院系:%s\n班级:%s\n入学时间:%d年%d月%d日\n身份证号:%s\n出生日期:%d年%d月%d日\n",p->number,p->name,p->sex,p->department,p->classnumber,p->timeofenter.year,p->timeofenter.month,p->timeofenter.day,p->IDnumber,p->birthday.year,p->birthday.month,p->birthday.day);a=a+1;}p=p->next;}printf("\n");printf("共%d人\n",a);if(a==0) printf("对不起无此班级");}void name(struct STUcard *head) //按姓名排序{char c[10];int h1,a=0,i,j,k,w;char hname[20];char hsex[20];char hdepartment[20];char hclassnumber[10];char hIDnumber[30];struct date htimeofenter;struct date hbirthday;struct STUcard *p,*p2,*p3;p=head;p2=head;p3=p2->next;for(k=1;;k++){if(p->next!=NULL) p=p->next;else break;}for(i=0;i<k-1;i++){p2=head;p3=p2->next;for(j=0;j<k-1-i;j++){if(strcmp(p2->name,p3->name)>0){h1=p2->number;strcpy(hname,p2->name);strcpy(hsex,p2->sex);strcpy(hdepartment,p2->department);strcpy(hclassnumber,p2->classnumber);strcpy(hIDnumber,p2->IDnumber);htimeofenter=p2->timeofenter;hbirthday=p2->birthday;p2->number=p3->number;strcpy(p2->name,p3->name);strcpy(p2->sex,p3->sex);strcpy(p2->department,p3->department);strcpy(p2->classnumber,p3->classnumber);strcpy(p2->IDnumber,p3->IDnumber);p2->timeofenter=p3->timeofenter;p2->birthday=p3->birthday;p3->number=h1;strcpy(p3->name,hname);strcpy(p3->sex,hsex);strcpy(p3->department,hdepartment);strcpy(p3->classnumber,hclassnumber);strcpy(p3->IDnumber,hIDnumber);p3->timeofenter=htimeofenter;p3->birthday=hbirthday;}p2=p3;p3=p3->next;学生证管理系统}}printf("请输入班级:\n");scanf("%s",&c);p=head;for(w=1;w<=k;w++){printf("\n");if(strcmp(p->classnumber,c)==0){printf("学号:%d\n姓名:%s\n性别:%s\n院系:%s\n班级:%s\n入学时间:%d年%d月%d日\n身份证号:%s\n出生日期:%d年%d月%d日\n",p->number,p->name,p->sex,p->department,p->classnumber,p->timeofenter.year,p->timeofenter.month,p->timeofenter.day,p->IDnumber,p->birthday.year,p->birthday.month,p->birthday.day);a=a+1;}p=p->next;}printf("\n");printf("共%d人\n",a);if(a==0) printf("对不起无此班级");}void change(struct STUcard * head) //修改信息{ int x;struct STUcard *p1,*p2;printf("输入要修改学生的学号\n");scanf("%d",&x);p1=head;while((p1->number!=x)&&(p1->next!=NULL)){p2=p1;p1=p1->next;}if(p1->number==x){printf("请输入需要修改的信息:\n");printf("输入学号:");scanf("%d",&p1->number);printf("输入姓名:");scanf("%s",p1->name);printf("输入性别:");scanf("%s",p1->sex);printf("输入院系:");scanf("%s",p1->department);printf("输入班级:");scanf("%s",p1->classnumber);printf("输入入学时间(年月日):");scanf("%d %d %d",&p1->timeofenter.year,&p1->timeofenter.month,&p1->timeofenter.day);printf("输入身份证号:");scanf("%s",p1->IDnumber);printf("输入出生日期(年月日):");scanf("%d %d %d",&p1->birthday.year,&p1->birthday.month,&p1->birthday.day);printf("信息已修改");save(head);}else printf("%d 找不到该学号!\n",x);}struct STUcard *save(struct STUcard *head) //________保存函数{ FILE *fp;struct STUcard *p;p=head;fp=fopen("XX.out","w+");if(fp==0){printf("不能打开文件");exit(0);}while (p){fprintf(fp,"学号:%d\n姓名:%s\n性别:%s\n院系:%s\n班级:%s\n入学时间:%d年%d 月%d日\n身份证号:%s\n出生日期:%d年%d月%d日\n",p->number,p->name,p->sex,p->department,p->classnumber,p->timeofenter.year,p->timeofenter.month,p->timeofenter.day,p->IDnumber,p->birthday.year,p->birthday.month,p->birthday.day);printf("\n");p=p->next;}printf("\n文件保存成功!\n",n);fclose(fp);return head; //返回后结点}7心得体会通过这次的C语言程序设计,让我意识到自己的基础还不是太扎实,发现自己在编程面还有些不足,学生证管理系统有一些小小的错误不能避免。