排考场座位程序(共19页)_第1页
排考场座位程序(共19页)_第2页
排考场座位程序(共19页)_第3页
排考场座位程序(共19页)_第4页
排考场座位程序(共19页)_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上高级语言程序设计课程设计说明书设计题目:排考场座位程序目 录1.设计任务2.需求分析3系统模块图4.模块说明5.用户使用说明6.部分程序流程图7.测试结果8.程序设计小结9.参考文献附录1.设计任务假设考场有8行8列的座位,每当一个学生进入考场就为他安排座位。主界面如下:当选择1,用户输入准考证号,随机产生该学生座位的行号和列号,要求一个考生只有一个座位,已有考生的位置上不能再安排新的考生;当选择2,取消某人的考场座位;当选择3,输入行号列号,输出该考生的准考证号;当选择4,输入某学生的准考证号,输出该学生的座位。当选择5,输出次考场所有考生信息。2.需求分析 本程序

2、除了可以应用于安排考场座位上,也可以应用在订票系统,学生信息管理系统以及酒店的入住登记等方面.3系统模块图安排考场座位系统输出考场中所有考生信息模块安排座位模块取消座位模块查找考场中考生个人信息模块查找考场中考生座位信息模块退出系统 4.模块说明模块一:考生座位安排实现方法:系统根据用户输入的准考证号和姓名,利用rand()函数随机产生该考生座位的行号和列号,同时可以实现一个考生只有一个座位,而且在已有考生的位置上不会再安排新的考生。输入的同时系统利用链表将输入的数据信息存入计算机内存中。模块二:取消某考生考场座位实现方法:系统通过用户输入的准考证号,利用循环结构找出与该准考证号相符的考生座位

3、信息,同时清空链表中的记录该考生信息的节点。模块三:查找该考场考生信息实现方法:系统通过用户输入的座位的行号和列号,利用循环结构找出与该座位信息相符的考生的信息,然后输出该考生的信息。模块四:查找该考场某考生座位实现方法:系统通过用户输入的准考证号,利用循环结构找出与该准考证号相符的考生座位信息,然后输出该考生的信息。模块五:显示该考场所有考生信息实现方法:系统通过循环结构将计入链表中的信息有次序的全部输出5.用户使用说明在开始界面,用户键入任意键继续用户键入1,用户输入准考证号和姓名,系统随机该考生座位的行号和列号,要求做到一个考生只有一个座位,而且在已有考生的位置上不能再安排新的考生;用户

4、键入2,取消某人考场座位(假设取消后的座位别人能坐);用户键入3,用户需输入座位的行号和列号,然后显示该座位学生的信息;用户键入4,用户需输入某考生准考证号,然后显示该学生的座位; 用户键入5,显示该考场每位考生的基本信息;用户键入6,退出系统;注:在用户输入命令界面,如果用户输入了16之外的其他数字、字符或符号系统自动报错,并返回用户命令界面。6.部分程序流程图6.1考生座位安排6.1.1考生座位安排模块源程序/*选择1,为新来的考生安排座位,方法:用户输入准考证号和姓名,系统随机产生*/*该考生座位的行号和列号,要求做到一个考生只有一个座位,而且在已有考生的位*/*置上不能再安排新的考生;

5、*/void fun1() int h=0,l=0,i,j,f=1,f2=1; struct node *q,*p,*r; if(count=HANG*LIE) printf(tttThe room is full!n); else while(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(tttThe ID has exited!n);f=0;break; else if(p-hang=h)&(

6、p-lie=l) f=2; f2=0; break; else r=p; p=p-next; if(f=1) get_name(); q=(struct node*)malloc(sizeof(struct node); r-next=q; q-hang=h; q-lie=l; strcpy(q-ID,ID); strcpy(q-name,name); q-next=NULL; count+; printf(ttt*ADD SUCCESS!*nn); printf(tttID:%sntttname:%sntttPosition:(%d,%d)n,ID,name,h,l); break; if(

7、f=0) break; 6.1.2考生座位安排模块流程图开始输入用户信息是否继续进行? 结束返回主菜单Y输入命令16. 2取消某考生考场座位模块源程序/*选择2,取消某人考场座位(假设取消后的座位别人能坐)*/void fun2() struct node *p,*r; int f=1; p=head-next; r=head; printf(tttPlease input the ID:); scanf(%s,ID); printf(n); while(p!=NULL) if(strcmp(p-ID,ID)=0) r-next=p-next; count-; f=0; printf(ttt*

8、Delete SUCCESS!*nn); break; else r=p; p=p-next; if(f=1) printf(tttThe ID is not exit!nn); 6.2.2取消某考生考场座位模块流程图 开始输入要删除考生的学号是否找到?删除数据显示成功显示没有找到Y结束 开始6. 3.1查找考生信息源程序/*选择3,4,显示考场座次表,要求再每个座位对应的行列上显示该考生的准考证号*/void fun3() unsigned h,l,f=1;struct node *p=head-next; printf(tttPlease input the position:);scan

9、f(%d,%d,&h,&l); printf(n); while(p!=NULL) if(p-hang=h)&(p-lie=l) printf(ttt*SELECT SUCCESS!*nn); printf(tttID:%sntttname:%snn,p-ID,p-name);f=0; break; else p=p-next; if(f=1)printf(tttNO ONE exit!nn); void fun4() struct node *p=head-next; unsigned f=0; get_id(); while(p!=NULL) if(strcmp(p-ID,ID)=0) p

10、rintf(ttt*FIND!*nn); printf(tttPosition:(%d,%d)n,p-hang,p-lie); f=1; break; else p=p-next; if(f=0) printf(tttFAILE:The ID is not exit!nn);6.3.2查找考生信息流程图开始输入查找的方式:3.座位号;4.ID是否找到?显示找到的记录提示没找到Y结束Y是否继续查找?返回主菜单7.测试结果7.1开始界面:7.2菜单界面:7.3功能一:考生座位安排7.3.1安排座位:7.3.2某座位已有人就坐:7.3.3考场已满:7.4功能二:取消某考生考场座位7.4.1取消预订座

11、位7.4.2取消失败,没有该考号考生7.5功能三:根据考生座位信息查考生个人信息7.5.1找到该考生输出其个人信息7.5.2该座位未安排考生7.6功能四:根据学号查找某学生座位信息7.6.1找到该考生输出其座位信息7.6.2没有该学号的考生7.7功能五:输出该考试所有考生信息8.程序设计总结本次程序设计由于完成仓促,虽然想要实现的功能均可以实现,但是,仍然会有不可预测的错误,例如:当完成某一项任务之后,当用户输入命令以外数字系统有时没有报错,而是执行前一个操作的功能;同时,当用户输入了正确的的命令之后系统不会立即回应,有时出不来结果;但编译时系统也不报错,而且这种错误只是偶发性的,总的运行结果

12、还不错。在本次程序设计过程中,感受最深的是:细节决定成败,有的时候就是一个点号的错误,会让你纠结半个小时;其次,还是要有扎实的基本功,编程不是粘贴和复制也不是拿着别人的程序找错,如果不亲手去写程序,没有练好编程基本功即使你的想法再好也只是天方夜谭。最后,送给自己一句话,有想法是好事,动手实践才能出成果。9.参考文献1谭浩强.C程序设计(第3版).北京:高等教育出版社,20062刘玮玮,汪晓平. C语言高级实例解析.清华大学出版社,2004附录源程序#includestdlib.h#include Stdio.h#include Conio.h#define HANG 2#define LIE

13、2typedef struct node unsigned hang; unsigned lie; char ID20; char name20; struct node *next; ;unsigned cmd,count;struct node *head;char ID20,name20;unsigned get_cmd() system(cls); printf(nn); printf(tttSeat Arrangement Systemnn); printf(ttt1.Seat Arrangementn);printf(ttt2.Seat Cancelledn); printf(tt

14、t3.Find the arranged studentn); printf(ttt4.Find the arranged seatn); printf(ttt5.Display all the informationn); printf(ttt6.Exitn); printf(ntttPlease input the command:); scanf(%d,&cmd); printf(n); return cmd;void start() int i,j; printf(nn); for(j=0;j3;j+) printf(t); for(i=0;i68;i+) printf(*); pri

15、ntf(n); printf(t*The Science And Technology of Optical Information*n); printf(t*tA High Level Language Program designtt*n); printf(t*tttManualttt*n); printf(t*tSubject:Seat Arrangement Systemtt*n); printf(t*tClass:tttt*n); printf(t*tStudentID:ttt*n); printf(t*tName:Wanyantttt*n); printf(t*tComletion

16、 Date:2011/11/29tt*n); for(j=0;j4;j+) printf(t); for(i=0;inext; if(f2) get_id(); while(p!=NULL) if(strcmp(p-ID,ID)=0) printf(tttThe ID has exited!n);f=0;break; else if(p-hang=h)&(p-lie=l) f=2; f2=0; break; else r=p; p=p-next; if(f=1) get_name(); q=(struct node*)malloc(sizeof(struct node); r-next=q;

17、q-hang=h; q-lie=l; strcpy(q-ID,ID); strcpy(q-name,name); q-next=NULL; count+; printf(ttt*ADD SUCCESS!*nn); printf(tttID:%sntttname:%sntttPosition:(%d,%d)n,ID,name,h,l); break; if(f=0) break; void fun2() struct node *p,*r; int f=1; p=head-next; r=head; printf(tttPlease input the ID:); scanf(%s,ID); p

18、rintf(n); while(p!=NULL) if(strcmp(p-ID,ID)=0) r-next=p-next; count-; f=0; printf(ttt*Delete SUCCESS!*nn); break; else r=p; p=p-next; if(f=1) printf(tttThe ID is not exit!nn); void fun3() unsigned h,l,f=1;struct node *p=head-next; printf(tttPlease input the position:);scanf(%d,%d,&h,&l); printf(n);

19、while(p!=NULL) if(p-hang=h)&(p-lie=l) printf(ttt*SELECT SUCCESS!*nn); printf(tttID:%sntttname:%snn,p-ID,p-name);f=0; break; else p=p-next; if(f=1)printf(tttNO ONE exit!nn); void fun4() struct node *p=head-next; unsigned f=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; else p=p-next; if(f=0) printf(tttFAILE:The ID is not exit!nn); void fun5() struct node *p=head-next,*q; int h,l,f; for(h=1;h=HANG;h+) for(l=1;lnex

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论