版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、高级语言程序设计课程设计说明书设计题目:排考场座位程序1 .设计任务2 .需求分析3系统模块图4. 模块说明5. 用户使用说明6. 部分程序流程图7. 测试结果8. 程序设计小结9. 参考文献附录1. 设计任务假设考场有8行8列的座位,每当一个学生进入考场就为他安排座位。主界面如下:SeatArrdngementSystem1.SeatArrangement2.SeatCancelled3 .Findthearrangedstudent4 -.FindthearrangedsasI5 .Displayalltheinformation6 .ExitPleaseinputthecommand:当
2、选择1,用户输入准考证号,随机产生该学生座位的行号和列号,要求一个考生只有一个座位,已有考生的位置上不能再安排新的考生;当选择2,取消某人的考场座位;当选择3,输入行号列号,输出该考生的准考证号;当选择4,输入某学生的准考证号,输出该学生的座位。当选择5,输出次考场所有考生信息。2 .需求分析本程序除了可以应用于安排考场座位上,也可以应用在订票系统,学生信息管理系统以及酒店的入住登记等方面.3 .系统模块图4. 模块说明模块一:考生座位安排实现方法:系统根据用户输入的准考证号和姓名,利用rand()函数随机产生该考生座位的行号和列号,同时可以实现一个考生只有一个座位,而且在已有考生的位置上不会
3、再安排新的考生。输入的同时系统利用链表将输入的数据信息存入计算机内存中。模块二:取消某考生考场座位实现方法:系统通过用户输入的准考证号,利用循环结构找出与该准考证号相符的考生座位信息,同时清空链表中的记录该考生信息的节点。模块三:查找该考场考生信息实现方法:系统通过用户输入的座位的行号和列号,利用循环结构找出与该座位信息相符的考生的信息,然后输出该考生的信息。模块四:查找该考场某考生座位实现方法:系统通过用户输入的准考证号,利用循环结构找出与该准考证号相符的考生座位信息,然后输出该考生的信息。模块五:显示该考场所有考生信息实现方法:系统通过循环结构将计入链表中的信息有次序的全部输出5. 用户使
4、用说明在开始界面,用户键入任意键继续用户键入1,用户输入准考证号和姓名,系统随机该考生座位的行号和列号,要求做到一个考生只有一个座位,而且在已有考生的位置上不能再安排新的考生;用户键入2,取消某人考场座位(假设取消后的座位别人能坐);用户键入3,用户需输入座位的行号和列号,然后显示该座位学生的信息;用户键入4,用户需输入某考生准考证号,然后显示该学生的座位;用户键入5,显示该考场每位考生的基本信息;用户键入6,退出系统;注:在用户输入命令界面,如果用户输入了16之外的其他数字、字符或符号系统自动报错,并返回用户命令界面。6. 部分程序流程图6.1 考生座位安排6.1.1 考生座位安排模块源程序
5、*/*选择1,为新来的考生安排座位,方法:用户输入准考证号和姓名,系统随机产生/*该考生座位的行号和列号,要求做到一个考生只有一个座位,而且在已有考生的位*/*置上不能再安排新的考生;*/voidfun1()inth=0,l=0,i,j,f=1,f2=1;structnode*q,*p,*r;if(count=HANG*LIE)printf("tttTheroomisfull!n");elsewhile(1)f=1;h=rand()%HANG+1;l=rand()%LIE+1;r=head;p=head->next;if(f2)get_id();while(p!=NU
6、LL)if(strcmp(p->ID,ID)=0)printf("tttTheIDhasexited!n");f=0;break;elseif(p->hang=h)&&(p->lie=l)f=2;f2=0;break;elser=p;p=p->next;if(f=1)get_name();q=(structnode*)malloc(sizeof(structnode);r->next=q;q->hang=h;q->lie=l;strcpy(q->ID,ID);strcpy(q->name,name);q-
7、>next=NULL;count+;printf("ttt*ADDSUCCESS!*nn");printf("tttID:%sntttname:%sntttPosition:(%d,%d)n",ID,name,h,l);break;if(f=0)break;6.1.2 考生座位安排模块流程图6.2取消某考生考场座位模块源程序/*选才i2,取消某人考场座位(假设取消后的座位别人能坐)*/voidfun2()structnode*p,*r;intf=1;p=head->next;r=head;printf("tttPleaseinput
8、theID:");scanf("%s",ID);printf("n");while(p!=NULL)if(strcmp(p->ID,ID)=0)r->next=p->next;count-;f=0;printf("ttt*DeleteSUCCESS!*nn");break;elser=p;p=p->next;if(f=1)printf("tttTheIDisnotexit!nn");6.2.2取消某考生考场座位模块流程图6.3.1查找考生信息源程序/*选才i3,4,显示考场座次表,
9、要求再每个座位对应的行列上显示该考生的准考证号*/voidfun3()unsignedh,l,f=1;structnode*p=head->next;printf("tttPleaseinputtheposition:");scanf("%d,%d",&h,&l);printf("n");while(p!=NULL)if(p->hang=h)&&(p->lie=l)printf("ttt*SELECTSUCCESS!*nn");printf("tttID:
10、%sntttname:%sn'n",p->ID,p->name);f=0;break;elsep=p->next;if(f=1)printf("tttNOONEexit!nn");voidfun4()structnode*p=head->next;unsignedf=0;get_id();while(p!=NULL)if(strcmp(p->ID,ID)=0)printf("ttt*FIND!*nn");printf("tttPosition:(%d,%d)n",p->hang,p
11、->lie);f=1;break;elsep=p->next;if(f=0)printf("tttFAILE:TheIDisnotexit!nn");6.3.2查找考生信息流程图7.测试结果7.1 开始界面:* TheScienceAndTechnologyafOpticalInformation*AHighLevelLanguageProgramdesigntK*於*mmManual* *Subject:SeatArrangementSystem* *Class:20101461* *StudentID:2010146143* *Name:Wanvan* *C
12、onditionDate:2011/11/29*隆冬共呆共*M整关矩差养*M安养*MM*-M-#*«*t«*«»*««-*-»7.2 菜单界面:SeatArrangementSvsten1 .Seatfirrangement2 .SeatCancelled3-Findthearrangedstudent4 .Findthearrangedseat5 .Displayalltheinformation6 .E>citPleaseinputthecommand;1.3 功能一:考生座位安排1.3.1 安排座位:Please
13、inputthectjranidrrd;PlenseirpiitstudentT0:2加PAdseinpitlshidenlntme:4JanycinfiDDSUCCESS!*-*-10:20106143nninrWnnynnRosition:11.1)1.3.2 某座位已有人就坐:Pleaseinputthecommand;1PleaseinputstudentID;201014-6143TheIDhasexited!1.3.3 考场已满:Pleaseinputthecommand:1Theroomisfull!1.4 功能二:取消某考生考场座位1.4.1 取消预订座位Pleaseinput
14、thecommand:2PleaseinputtheID:2019146143"垂ritDoletQSUCCESS!*1.4.2 取消失败,没有该考号考生Pleaseinputthecommand:2PleaseinputtheID:111TheIDisnotexit?1.5 功能三:根据考生座位信息查考生个人信息1.5.1 找到该考生输出其个人信息Pleaseinputthecommand:3Pleaseinputtheposition:!2w*£ELECTSUCCESS!*ID:2010146109name:Chengzheng1.5.2 该座位未安排考生Pleasei
15、nputthecommand:3Pleaseinputtheposition:1.1NOONEexitM1.6 功能四:根据学号查找某学生座位信息1.6.1 找到该考生输出其座位信息Pleaseinputthecommand:4PleaseinputstudentID:2016146140注tt.!*Position:(2,1)1.6.2 没有该学号的考生Pleaseinputthecommand:4PleaseinputstudentID:201014614-9FfllLE:TheIDisnotexit!1.7 功能五:输出该考试所有考生信息Pleaseinputthecommand:510
16、:2310146143name:hang:1lie:110:2918146109name;Chengzhenghang:llie:210:2010146140name:Liweihang:21ie:1ID:20101t6151name:Liushouqihang:2lie:28 .程序设计总结本次程序设计由于完成仓促,虽然想要实现的功能均可以实现,但是,仍然会有不可预测的错误,例如:当完成某一项任务之后,当用户输入命令以外数字系统有时没有报错,而是执行前一个操作的功能;同时,当用户输入了正确的的命令之后系统不会立即回应,有时出不来结果;但编译时系统也不报错,而且这种错误只是偶发性的,总的运行结
17、果还不错。在本次程序设计过程中,感受最深的是:细节决定成败,有的时候就是一个点号的错误,会让你纠结半个小时;其次,还是要有扎实的基本功,编程不是粘贴和复制也不是拿着别人的程序找错,如果不亲手去写程序,没有练好编程基本功即使你的想法再好也只是天方夜谭。最后,送给自己一句话,有想法是好事,动手实践才能出成果。9 .参考文献1 谭浩强.C程序设计(第3版).北京:高等教育出版社,20062 刘玮玮,汪晓平.C语言高级实例解析.清华大学出版社,2004附录源程序#include"stdlib.h"#include"Stdio.h"#include"Co
18、nio.h"#defineHANG2#defineLIE2typedefstructnodeunsignedhang;unsignedlie;charID20;charname20;structnode*next;unsignedcmd,count;structnode*head;charID20,name20;unsignedget_cmd()system("cls");printf("nn");printf("tttSeatArrangementSystemnn");printf("ttt1.SeatArran
19、gementn");printf("ttt2.SeatCancelledn");printf("ttt3.Findthearrangedstudentn");printf("ttt4.Findthearrangedseatn");printf("ttt5.Displayalltheinformationn");printf("ttt6.Exitn");printf("ntttPleaseinputthecommand:");scanf("%d",
20、&cmd);printf("n");returncmd;voidstart()inti,j;printf("nn");for(j=0;j<3;j+)printf("t");for(i=0;i<68;i+)printf("*");Science And Technology of OpticalHigh Level Language Programprintf("n");printf("t*TheInformation*n");printf("t*
21、tAdesigntt*n");printf("t*printf("t*tttManualttt*n");*tSubject:SeatArrangementSystemtt*n");printf("t*tClass:20101461tttt*n");printf("t*tStudentID:2010146143ttt*n");printf("t*tName:Wanyantttt*n");printf("t*tComletion Date:2011/11/29tt*n"
22、);for(j=0;j<4;j+)printf("t");for(i=0;i<68;i+)printf("*");printf("n");system("pause");void get_id()printf("tttPlease input student ID:");scanf("%s",ID);printf("n");void get_name()printf("tttPlease input student name:&quo
23、t;);scanf("%s",name);printf("n");void fun1()int h=0,l=0,i,j,f=1,f2=1; struct node *q,*p,*r;if(count=HANG*LIE)printf("tttTheroomisfull!n");elsewhile(1)f=1;h=rand()%HANG+1;l=rand()%LIE+1;r=head;p=head->next;if(f2)get_id();while(p!=NULL)if(strcmp(p->ID,ID)=0)printf(&
24、quot;tttTheIDhasexited!n");f=0;break;elseif(p->hang=h)&&(p->lie=l)f=2;f2=0;break;elser=p;p=p->next;if(f=1)get_name();q=(structnode*)malloc(sizeof(structnode);r->next=q;q->hang=h;q->lie=l;strcpy(q->ID,ID);strcpy(q->name,name);q->next=NULL;count+;printf("tt
25、t*ADDSUCCESS!*nn");printf("tttID:%sntttname:%sntttPosition:(%d,%d)n",ID,name,h,l);break;if(f=0)break;voidfun2()structnode*p,*r;intf=1;p=head->next;r=head;printf("tttPleaseinputtheID:");scanf("%s",ID);printf("n");while(p!=NULL)if(strcmp(p->ID,ID)=0)r
26、->next=p->next;count-;f=0;printf("ttt*DeleteSUCCESS!*nn");break;elser=p;p=p->next;if(f=1)printf("tttTheIDisnotexit!nn");voidfun3()unsignedh,l,f=1;structnode*p=head->next;printf("tttPleaseinputtheposition:");scanf("%d,%d",&h,&l);printf("
27、;n");while(p!=NULL)if(p->hang=h)&&(p->lie=l)printf("ttt*SELECTSUCCESS!*nn");printf("tttID:%sntttname:%snn",p->ID,p->name);f=0;break;elsep=p->next;if(f=1)printf("tttNOONEexit!nn");voidfun4()structnode*p=head->next;unsignedf=0;get_id();while(p!=NULL)if(strcmp(p->ID,ID)=0)printf("ttt*FIND!*nn");printf("tttPosition:(%d,%d)n",p->hang,p->lie);f=1;break;elsep=p->next;if(f=0)printf("tttFAILE:TheIDisnotexi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026中国电信云南公司春季校园招聘备考题库完美版附答案详解
- 2026雀巢中国春季校园招聘备考题库及参考答案详解ab卷
- 2026陕西延安北方医院招聘备考题库含答案详解【b卷】
- 2026上半年北京事业单位统考市经济和信息化局招聘6人备考题库附参考答案详解(达标题)
- 2026安徽蚌埠市卫生健康委委属医院第二批“校园招聘”79人备考题库有答案详解
- 2026上半年四川成都大学考核招聘高层次人才5人备考题库及完整答案详解(典优)
- 2026四川成都市青白江区医疗卫生事业单位考核招聘急需紧缺卫生专业技术人才18人备考题库含答案详解(模拟题)
- 2026广西柳州融水苗族自治县人民法院招聘书记员2人备考题库及答案详解【夺冠】
- 2026云南玉溪市文化和旅游局城镇公益性岗位招聘2人备考题库【达标题】附答案详解
- 2026江苏南通市工会社会工作者招聘21人备考题库及答案详解(名师系列)
- 男科疾病超声治疗应用指南
- 肿瘤终末期患者生活质量评估与提升方案
- 砌体墙体裂缝处理方案
- 扶贫致富电商培训课件
- 化州介绍教学课件
- 2026年全国中学生天文知识竞赛(中学组)经典试题及答案
- 药店课件教学课件
- 现场勘查课件
- 2025年高效能项目管理系统开发项目可行性研究报告
- 建筑项目施工安全检查表含整改措施
- 2026年安徽卫生健康职业学院单招职业技能考试题库及参考答案详解
评论
0/150
提交评论