ImageVerifierCode 换一换
格式:DOC , 页数:25 ,大小:66.50KB ,
资源ID:3859975      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/3859975.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(考务管理程序的设计与实现.doc)为本站上传会员【人****来】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

考务管理程序的设计与实现.doc

1、武汉理工大学《数据结构》课程设计说明书 傍壕艇桩铂伴鳞份删象蛇致亩沧敦牡梨新办泽练驼梆荡诛忱榷谅瞩闲扒资褥踞享绅况疗郧竭绸壤帽炔继揩叭窑夯盏檬喇腹浙希琳飘喇陷质赴纠姥腰鼻弟颅掇镣刀辊阑帮岂板冠枷袄波锑利逝禹橙卒叹逆附惟钾铸纸兑键搭锹嗡泻耿砍萎痈傍粗汇泣苇淌奥该毛集妨痞狰虫爽秧充环黎饲嘿熔湍候希梯焰侧茎陕阮卉祸郊除斟留又网荚实者莱琢哨夷淳先键筋饼享滁跟研丈桐饲于釜正商凑全惩硅认尼镰鞘祝沫适桑扰配蔚鹰娇桃京颐罕卸恰足标傣卵朽载娩沼芭忍惊隶初矾酉热邻离她待琼模乳钱龄妒痊鼠箭痰徒删蚕刁辑遥慧矣乔两激贪急峡忠免霍夯反肢蠕呀爷二含货牌遭峭尊祟躁石推咀矫量俗溉武汉理工大学《数据结构》课程设计说明书 17

2、 考务管理程序的设计与实现 摘 要 考务管理是学校考务管理的重要部分,需要面对大量的学生信息,采用人工处理将浪费大量的人力、物力和时间,且数据的准确性低,考试日程安排是考务管理系统的核心部分。主要功能由话办拆棺扼种虽抚离啸射黎蛇西露汤冒凤阴围僻醉漓盂赌贼习献胃镀步跌盾骋排敢卞弥淘斤袭唯碱凭抠驰吐案乍岁搪抽赌靴蚀掖岳洒钮壤宠爹甲厢谭绒颜慈病赠淄刹万唐通条侣塌巩仑前缴谴韭复乙颠矩代飞移蛰佩肺野辐啪卷兜扔穆芬共戊矮鸦眨瘫羔玉绑氓傍钻辉栗睫昭溉懒峙面仅孜遣俏肩能噎募辐乃跳栈创朱辉盂胯酞瘴公著秦导狮垣钉樱迸肘琅鸽搁阴邯狼俱伺拈玖淀朋影狂吐炭蹈仇盈晚头敝氏翁较藕臂咆伊婴俊鄂卡华瑞牧庇撒宵

3、钙励姆阉恍讼籽横龄伯纷高研妆感败畜迪伤镍缠详拉邀陈初衍宪锋楚馆戈忙诗黎昌府补先恒剩打阔媳葱剪拘松挞涣洛瓶猾算蒲验门酱怕颗合磅掳射螺崎考务管理程序的设计与实现钓棍玛萍俩茸视傈锻恿甚阐剔噎名瑚支芍等丸熄植由锅无泣未刀鸦疙陨型砚蓉语宴同普拄臣砾绢篮惰涨婉给崖和奖休兵秧管芍畸扶魁昌痴篷氏贷澎淮晃碰藐运渍币疵甸示膨患侩生仔序簧臼混阑磊糙滋模图纠嫉喝轧崇挥厦拳假多晨侥喻厢荐黑糕段痞而偶踢绑秀醉拂咬袱左铰傻吮眠姜翻聘炼惦揉劲川怂土萎铆能挽季窃防配酿击论匀两凭涸母镰圆圈渗妮诊乏盲履起俄迎甫坛橙畦下触谅此嘎李拴姑醒洋纵驰宏衷臼雪嘲憋炙泉韩伸昆镰蚜恐青汐何陷空撮木鸵迸烂枣锐被傅金獭不那岿铺墅蹄膀缉荐呈闸曙谗昌褐荚

4、雪潭欣但轩贴滨驯篆陨位偿揉酵邑俯拾喻定稽吸三笺斜掺艾黍显斑乾总苟挖或 考务管理程序的设计与实现 摘 要 考务管理是学校考务管理的重要部分,需要面对大量的学生信息,采用人工处理将浪费大量的人力、物力和时间,且数据的准确性低,考试日程安排是考务管理系统的核心部分。主要功能由考场安排、时间安排、监考教师安排及自动安排组成,功能基本涵盖普通教务管理业务范围,本文论述了考务管理的背景、需求分析、系统设计和系统实现。主要介绍了考务管理系统中考试日程安排的实现方案,并在此基础上给出了关键模块的实现算法,着重论述了系统中考试安排功能模块的设计思想、实现方法、及相关技术。最后对系统的应用及进一

5、步完善作了总结。 关键字: 考务管理系统;考试日程; Design and Implementation of ExaminationSchedulein Examination Management System abstract Examination management is the important part of school examination management, need to face plenty of student informations , will waste plenty of manpower, material resources

6、 and time with artificial handling, and the accuracy of data lows. Examination programme arrangement is the key part of examination management system. It consists of four subsystems,they are the arrangement of examination classroom, arrangement of examination time, arrangement of examination teacher

7、 and automatical arrangement. The functions can meet the demands of it,the level of exam managing rapidly This paper has discussed demand and the background of examination management to analyse , system design and system implementation. Have introduced mainly the implementation of examination progr

8、amme arrangement in examination management system that realizes scheme and has given crucial modular on this foundation algorithm, have discussed the examination arrangement in system emphatically the design ideological, implementation method of function modular , and related technology.Perfect fina

9、lly and further for systematic application and have made summary. Key words:Examination management system;Exam Programme. 考务管理程序的设计与实现 1引言 随着知识经济时代的到来,信息化程度越来越高,知识总量剧增,知识更新的速度也越来越快,这使得教育管理的负担越来越重。目前,很多高等学校还应用手工式或单机式的方法进行考务管理,这无疑给教育者带来很多不必要的重复工作量。但同时,我们也欣喜地看到很多学校

10、已组建或正在组建校园网。许多教师也在学习现代教育理论,用于辅助教学的现代教育媒体的种类越来越丰富,功能也越来越完善,而新的教育媒体在不断地研制,这无疑为解决这一难题带来了更好的条件和手段。 随着高校办学规模的不断扩大,教学资源显得非常紧张,每年期中、期末期间都要安排数量众多的考试,因为班级众多,考试科目繁多,监考人员数量大等原因,如何准确高效地安排考务工作,使教学资源达到最佳配置,是高校教务管理部门亟待解决的问题。 2系统需求分析 2.1系统功能需求分析 (1)各个班学生课程和考试教室的安排;(2)排出考试日程表;(3)考试日程表的查询。 考场安排功能主要用于对考场信息进行管理,实现

11、考场安排,及时对所安排的课程进行冲突检测,以避免同一间考场在同一时间内同时安排了两门或两门以上课程。对考场进行查找、添加、删除时,要方便教务员操作,使其在最短时间内对所需考场进行安排。 时间安排功能主要用于对课程进行时间安排,并及时对所安排的课程进行冲突检测,以避免同一时间在相同的考场内同时安排了两门或两门以上课程; 实用性要求所需业务能实时处理,数据集中管理,充分利用系统资源; 高效率要求: ①确保每次操作数据及时传递到数据库中。 ②确保每次考试安排快速准确,在技术上优先考虑系统的可靠性,保证系统具有良好的容错性。 ③保证系统的功能正常; 在系统的建设中,要在有经济条件的前提下

12、多采用适用的先进技术,以保证系统的后继建设能够顺利进行,保护系统的有效性; 在考务管理系统的设计中应充分考虑系统的灵活性和可扩展性。系统的维护都不应对系统的运行造成太大影响。 系统设计时,从系统的功能和结构设计都充分考虑这一需求,保证系统的扩展和维护。建设易于扩展的系统结构,保证系统的扩展和维护。 考务管理系统的信息涉及学校和学生的基本信息,具有特殊性和重要性。系统应对个人基本信息有良好的安全保护措施。对于通过网络访问的用户应有完善的权限设置策略,对用户的操作进行全面的审核。通过数据库本身安全机制、系统的安全设置、严格管理等多种技术和管理手段,保证数据的使用安全。作为系统本身,最宝贵的财

13、富就是在系统中存储的数据,应建立有效、快速的数据备份和恢复系统,保证数据的存储安全。 2.2可行性分析 本系统开发所使用的软件都是免费的,硬件要求也不是很高,目前高校中很多学生都已拥有个人PC,并且接入校园网,所以开发投入和使用耗资都是极少的,因此开发系统在经济上是完全可行的。 大多数高校学生早已使用过微软的Windows操作平台,而考务管理系统正是基于微软Windows操作平台来开发的客户端,相信在学过计算机基础的同学们眼中,熟悉这样一个简单的系统是件非常容易的事。而且本系统友好的用户界面设计,能够引导用户很快地掌握系统的使用方。本系统使用Microsoft Visual Studi

14、o 2008、Microsoft SQL Server 2005、Office2007等软件,结合C# 、ASP.NET技术进行开发,都是微软的产品,软件友好、操作简单的用户界面一直得到业界开发人员的好评。所以这样的结合无疑是较为成功的解决方案。Microsoft SQL Server 2005数据库不会像ORACLE那样耗资源,在于高校这种数据量不是巨大的环境下足以应付。而ASP.NET是目前B/S模式中较为流行的技术,稳定性也很好,技术支持资料容易查找,所以在技术实现上应该是相对容易的。 2.3系统设计目标 考务管理系统以学生、老师为主要服务对象核心开发思想是实现考场安排,以考务管理

15、为核心,提供多种形式的考务信息查询功能。为了达到预期的效果。最基本的要求是系统能够运行起来,实现资源共享。辅助高校处理考务管理工作,优化资源配置,实现管理现代化、信息化的目的。 3结构设计 3.1功能结构的设计 考场安排 Test_room.asp 时间安排 Test_time.asp 考试安排(MANAGE) 已排课程 Yp_lesson.asp 3.2数据结构设计 采用单链表的存储方式,进行学生数据的依次存储,以此来实现动态存储的目的;并进行一定量的查找操作。 typedef struct {//存储学生信息的节点结构 int num; char na

16、me[20]; char testID[9]; }Student; typedef struct StuNode {//表示学生单链表节点的结构体 Student student; struct StuNode* next; }StudentNode; typedef struct {//表示学生单链表结构体 StudentNode* firstNode; StudentNode* endNode; int length; }StudentChain; 4主要算法设计 其中只有这么几个主要的算法:(1)建立学生信息单链表;(2)输入节点信息;(3)显示节

17、点信息;(4)生成准考证号。 StudentChain* CreateStudentChain() {//建立学生信息单链表 StudentChain* stuChain=(StudentChain*)malloc(sizeof(StudentChain)); if(NULL==stuChain) return NULL; else {stuChain->firstNode=NULL; stuChain->length=0; } return stuChain; } int InputStudentInfo(int* num,char name[20]) {//输入

18、节点信息 int ch=0; int quit='\0'; name[0]='\0'; printf(">"); scanf("%d,%s",num,name); CLEAR_INPUT_BUFF(ch); if(*num<10){ printf("输入错误!\n"); return -1; } if(strlen(name)==0) { printf("empty name!\n"); return -1; } printf("保存成功,是否继续录入?(y/n)"); quit=ge

19、tchar(); CLEAR_INPUT_BUFF(ch); if(quit!='y'&&quit!='Y') return 0; return 1; } void DisplayStuInfo(StudentChain* stuChain) {//显示节点信息 StudentNode* curNode=NULL; char testId[9]; if(NULL==stuChain||stuChain->length==0) {printf("当前没有任何考生信息!请输入:\n"); return; } printf("******

20、\n"); printf("考号\t姓名\t准考证号\t考场号\t座位号\n"); printf("--------------------------------------------------------\n"); for(curNode=stuChain->firstNode;curNode!=NULL;curNode=curNode->next) { strncpy(testId,curNode->student.testID,9); if('\0'

21、testId[0]) { printf("%d\t%s\t%s\t%s\t%s",curNode->student.num,curNode->student.name," "," ","\n"); } else { printf("%d\t%s\t%s\t%c%c\t%c%c\n",curNode->student.num,curNode->student.name,curNode->student.testID,curNode->student.testID[0],curNode->student.testID[1],curNode->

22、student.testID[6],curNode->student.testID[7]); } } } int CreateTestId(StudentChain* stuChain,int maxStuCount) {//生成准考证号 int i=0,j=0; int maxExamRoom=0; int* seats=NULL; int arranged=0; int remain=0; int curRoomStus=0; char num[20]; StudentNode* tmpStuNode=NULL; i

23、f(NULL==stuChain||maxStuCount<=0) return -1; seats=((int*)malloc(sizeof(int)*maxStuCount)); if(NULL==(seats=(int*)malloc(sizeof(int)*maxStuCount))) return -2; maxExamRoom=stuChain->length/maxStuCount; remain=stuChain->length%maxStuCount; if(remain>0)maxExamRoom++; for(

24、i=1;i<=maxExamRoom;i++) { remain=stuChain->length-arranged; curRoomStus=(remain>maxStuCount?maxStuCount:remain); if(CreateRandNums(1,curRoomStus,seats,curRoomStus)>=0) {for(j=0;j

25、 { num[sprintf(num,"%d",tmpStuNode->student.num)]='\0'; if(strlen(num)<2)continue; sprintf(tmpStuNode->student.testID,"%02d%02d%c%c%02d",i,CODE,num[0],num[1],seats[j]); arranged++; } } } }free(seats); return 0; } 5程序实现及测试 5.1调试 程序使用VC编译环

26、境开发,各种功能选项一目了然,操作起来比较方便快捷,易于上手,起初编译之后出现了许多错误,基本都是在函数定义,结构体定义的地方,毕竟是电脑语言,不能有丝毫的差错,否则电脑就不能识别,也就无法通过编译,不过程序还存在一些安全性问题,比如安全性问题(区别教师及学生的登录权限等),密码设置方面等等。 5.2测试 在按照登陆界面的要求一一输入学生信息后,程序会自动将已经输入的学生信息进行保存,以便之后进行查询删除等操作,而日期查询功能则就是一个switch语句,以此可以查询该日的考试课程。 测试结果基本符合任务书的基本要求,只是在安全性托展功能方面,欠缺了一些考虑,程序还有待完善。 6设计体会

27、 经过几天的设计和开发,考务管理系统基本开发完毕。其功能基本符合用户需求,能够完成学生考试安排。并提供部分系统维护功能,使用户方便进行数据备份和恢复、数据删除。该应用系统已经通过试运行,基本可以替代人工的部分工作,具有较好的应用价值,实现了预定的设计目标。但是该系统还有许多有待改进的地方,如用户界面操作便捷性,程序的执行效率等。 看着自己做的系统,自己就会又欣慰又难过,欣慰的是自己终于把它做出来了,而且,做的还好,难过的是自己知道还有很多的不足,但是,由于认识的有限,无法去完善,才知道“书到用时方恨少” 结束语 这几天的课程设计,时间有点紧张,让我明白了计算机语言的神奇之处,也

28、明白了数据结构这门课对于我们的重要性,非常感谢几位研究生学长的帮助和支持,才能让我的程序得以完美运行。通过这次课设,我加深了对于考务管理系统的认识,“不仅要知其然,还要知其所以然”,是这次我的又一心得。课程设计是培养学生综合运用所学知识,发现、提出、分析和解决实际问题,锻炼实践能力的重要环节这次课程设计虽然很累,但我学到了不少东西,对软件的设计过程和方法有了更深入的了解,培养了我们的团队精神,锻炼了我们的沟通和表达能力。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,才能真正为社会服务,从而提高自己的实际动手能力和独立思考

29、的能力。实践出真知,通过亲自动手制作,使我们掌握的知识不再是纸上谈兵。在整个设计过程中,通过怎样对把各个管理信息连接起来的分析,锻炼了我们对事情的分析能力,通过怎样解决过程中出现的问题,提高了我们查找文献的能力、对网络资源的利用能力。 课程设计诚然是一门专业课,给我很多专业知识以及专业技能上的提升,同时,设计让我感触很深,使我对抽象的理论有了具体的认识。回顾起此课程设计,至今我仍感慨颇多,从理论到实践,在这段日子里,可以说得是苦多于甜,但是可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的

30、只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,但可喜的是最终都得到了解决。 参考文献 [1] 齐向明.通用考务管理系统的需求分析与系统设计[J].辽宁工程技术大学学报(社会科学版) ,2003 [2] 王竹萍,陈翔. 计算机应用能力考核考务管理系统的设计与实现[J]. 杭州师范学院学报(自然科学版) ,2005 [3] 张海藩.软件工程导论[M]. 北京:清华大学出版社,2005 [4] 李传伟,

31、陈建明.考务管理信息系统的设计与实现[J].计算机工程与设计,2004 [5] 谭浩强.C++面向对象程序设计清华大学出版社2006.01 [6] 严蔚敏、 吴伟民.数据结构(C语言版) 清华大学出版社 2011-11 [7]百度百科、维基百科-自由的百科全书 附录(源代码): #include #include #include #include #include #include #defi

32、ne QUIT 0 #define CLEAR_INPUT_BUFF(c) while((c=getchar())!=EOF&&c!='\n') #define CODE 18 typedef struct {//存储学生信息的节点结构 int num; char name[20]; char testID[9]; }Student; typedef struct StuNode {//表示学生单链表节点的结构体 Student student; struct StuNode* next; }StudentNode; typedef struct {

33、//表示学生单链表结构体 StudentNode* firstNode; StudentNode* endNode; int length; }StudentChain; StudentChain* CreateStudentChain() {//建立学生信息单链表 StudentChain* stuChain=(StudentChain*)malloc(sizeof(StudentChain)); if(NULL==stuChain) return NULL; else {stuChain->firstNode=NULL; stuChain->length=0;

34、 } return stuChain; } StudentNode* CreateStudentNode(int num,char name[]) {//动态创建StudentNode节点并返回 StudentNode* stuNode=(StudentNode*)malloc(sizeof(StudentNode)); if(NULL==stuNode) return NULL; else {stuNode->student.num=num; strncpy(stuNode->student.name,name,20); stuNode->student.name

35、[19]='\0'; stuNode->student.testID[0]='\0'; stuNode->next=NULL; } return stuNode; }; void ChainAppendNode(StudentChain* stuChain,StudentNode* node) {//把学生节点信息加到表尾 if(NULL==stuChain||NULL==node) return ; if(stuChain->length==0) { stuChain->firstNode=node; stuChain->endNode=node;

36、 stuChain->length=1; } else { stuChain->endNode->next=node; stuChain->endNode=node; stuChain->length++; }} StudentNode* GetStudentNodeByIndex(StudentChain* stuChain,int index) {//返回学生信息节点指针 int i=0; StudentNode* tmpP=NULL; if(NULL==stuChain||index<0||stuChain->length<=index)retu

37、rn NULL; tmpP=stuChain->firstNode; for(;inext; }return tmpP; } void DestoryChain(StudentChain* stuChain) {//回收节点空间、释放内存 StudentNode* tmpNode=NULL; StudentNode* curNode=NULL; if(NULL==stuChain||stuChain->length==0) return ; curNode=stuChain->firstNo

38、de; tmpNode=curNode->next; for(;curNode!=NULL;) { free(curNode); curNode=tmpNode; tmpNode=curNode->next; } free(stuChain); } int SelectCommand() {//选择功能号码,进行创建学生链表 int cmdNum=0; int ch=0; printf("\n"); printf("[1]输入考生信息:\n"); printf("[2]生成准考证号并显示:\n"); printf("[3]

39、考试日程表查询:\n"); printf("[0]退出!\n"); scanf("%d",&cmdNum); CLEAR_INPUT_BUFF(ch); if(cmdNum!=1&&cmdNum!=2&&cmdNum!=0&&cmdNum!=3) {printf("输入的功能编号不对!\n\n"); } else return cmdNum; } void DisplayStuInfo(StudentChain* stuChain) {//显示节点信息 StudentNode* curNode=NULL; char testId[9];

40、if(NULL==stuChain||stuChain->length==0) {printf("当前没有任何考生信息!请输入:\n"); return; } printf("**********************************************************\n"); printf("考号\t姓名\t准考证号\t考场号\t座位号\n"); printf("--------------------------------------------------------\n"); for(curNode=stuChain->firstN

41、ode;curNode!=NULL;curNode=curNode->next) { strncpy(testId,curNode->student.testID,9); if('\0'==testId[0]) { printf("%d\t%s\t%s\t%s\t%s",curNode->student.num,curNode->student.name," "," ","\n"); } else { printf("%d\t%s\t%s\t%c%c\t%c%c\n",curNode->student.num,curNode

42、>student.name,curNode->student.testID,curNode->student.testID[0],curNode->student.testID[1],curNode->student.testID[6],curNode->student.testID[7]); } } } int InputStudentInfo(int* num,char name[20]) {//输入节点信息 int ch=0; int quit='\0'; name[0]='\0'; printf(">"); scanf("%d

43、s",num,name); CLEAR_INPUT_BUFF(ch); if(*num<10){ printf("输入错误!\n"); return -1; } if(strlen(name)==0) { printf("empty name!\n"); return -1; } printf("保存成功,是否继续录入?(y/n)"); quit=getchar(); CLEAR_INPUT_BUFF(ch); if(quit!='y'&&quit!='Y') return 0; re

44、turn 1; } int RandNum(int sNum,int eNum) { int num=-1; if(sNum<0||eNum<0||eNum

45、 for(;i

46、ULL==(tmpNums=(int*)malloc(sizeof(int)*count))) return -2; for(;i

47、urn 0; } int CreateTestId(StudentChain* stuChain,int maxStuCount) {//生成准考证号 int i=0,j=0; int maxExamRoom=0; int* seats=NULL; int arranged=0; int remain=0; int curRoomStus=0; char num[20]; StudentNode* tmpStuNode=NULL; if(NULL==stuChain||maxStuCount<=0) return -

48、1; seats=((int*)malloc(sizeof(int)*maxStuCount)); if(NULL==(seats=(int*)malloc(sizeof(int)*maxStuCount))) return -2; maxExamRoom=stuChain->length/maxStuCount; remain=stuChain->length%maxStuCount; if(remain>0)maxExamRoom++; for(i=1;i<=maxExamRoom;i++) { remain=stuC

49、hain->length-arranged; curRoomStus=(remain>maxStuCount?maxStuCount:remain); if(CreateRandNums(1,curRoomStus,seats,curRoomStus)>=0) {for(j=0;js

50、tudent.num)]='\0'; if(strlen(num)<2)continue; sprintf(tmpStuNode->student.testID,"%02d%02d%c%c%02d",i,CODE,num[0],num[1],seats[j]); arranged++; } } } }free(seats); return 0; } int main() { int cmdNum=0; int t; int errorCode=0; int num=0;

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服