1、系统通过用户输入的座位的行号和列号,利用循环结构找出与该座位信息相符的考生的信息,然后输出该考生的信息。模块四:查找该考场某考生座位系统通过用户输入的准考证号,利用循环结构找出与该准考证号相符的考生座位信息,然后输出该考生的信息。模块五:显示该考场所有考生信息系统通过循环结构将计入链表中的信息有次序的全部输出在开始界面,用户键入任意键继续用户键入1,用户输入准考证号和姓名,系统随机该考生座位的行号和列号,要求做到一个考生只有一个座位,而且在已有考生的位置上不能再安排新的考生;用户键入2,取消某人考场座位(假设取消后的座位别人能坐);用户键入3,用户需输入座位的行号和列号,然后显示该座位学生的信
2、息;用户键入4,用户需输入某考生准考证号,然后显示该学生的座位;用户键入5,显示该考场每位考生的基本信息;用户键入6,退出系统;注:在用户输入命令界面,如果用户输入了16之外的其他数字、字符或符号系统自动报错,并返回用户命令界面。6.1考生座位安排6.1.1考生座位安排模块源程序/*选择1,为新来的考生安排座位,方法:用户输入准考证号和姓名,系统随机产生*/*该考生座位的行号和列号,要求做到一个考生只有一个座位,而且在已有考生的位*/*置上不能再安排新的考生;*/void fun1() int h=0,l=0,i,j,f=1,f2=1; struct node *q,*p,*r; if(cou
3、nt=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!f=0;break; if(p-hang=h)&(p-lie=l) f=2; f2=0; break; r=p; p=p- if(f=1) get_name(); q=(struct node*)mal
4、loc(sizeof(struct node); r-next=q; q-hang=h;lie=l; strcpy(q-ID,ID);name,name);next=NULL; count+;ttt*ADD SUCCESS!*nntttID:%sntttname:%sntttPosition:(%d,%d)n,ID,name,h,l); if(f=0) 6.1.2考生座位安排模块流程图开始输入用户信息是否继续进行? 结束返回主菜单Y输入命令16. 2取消某考生考场座位模块源程序/*选择2,取消某人考场座位(假设取消后的座位别人能坐)*/void fun2() struct node *p,*r
5、; int f=1;tttPlease input the ID: scanf(%s,ID);next=p- count-; f=0;ttt*Delete SUCCESS!tttThe ID is not exit!nn6.2.2取消某考生考场座位模块流程图 开始输入要删除考生的学号是否找到?删除数据显示成功显示没有找到结束6. 3.1查找考生信息源程序/*选择3,4,显示考场座次表,要求再每个座位对应的行列上显示该考生的准考证号*/void fun3() unsigned h,l,f=1;struct node *p=head-tttPlease input the position:sca
6、nf(%d,%d,&h,&l);ttt*SELECT SUCCESS!%snn,p-ID,p-name); else p=p- if(f=1)printf(tttNO ONE exit! void fun4() struct node *p=head- unsigned f=0;ttt*FIND!tttPosition:hang,p-lie); else p=p-tttFAILE:The ID is not exit!6.3.2查找考生信息流程图输入查找的方式:3.座位号;4.ID显示找到的记录提示没找到是否继续查找?7.1开始界面:7.2菜单界面:7.3功能一:7.3.1安排座位:7.3.2
7、某座位已有人就坐:7.3.3考场已满:7.4功能二:7.4.1取消预订座位7.4.2取消失败,没有该考号考生7.5功能三:根据考生座位信息查考生个人信息7.5.1找到该考生输出其个人信息7.5.2该座位未安排考生7.6功能四:根据学号查找某学生座位信息7.6.1找到该考生输出其座位信息7.6.2没有该学号的考生7.7功能五:输出该考试所有考生信息8.程序设计总结本次程序设计由于完成仓促,虽然想要实现的功能均可以实现,但是,仍然会有不可预测的错误,例如:当完成某一项任务之后,当用户输入命令以外数字系统有时没有报错,而是执行前一个操作的功能;同时,当用户输入了正确的的命令之后系统不会立即回应,有时
8、出不来结果;但编译时系统也不报错,而且这种错误只是偶发性的,总的运行结果还不错。在本次程序设计过程中,感受最深的是:细节决定成败,有的时候就是一个点号的错误,会让你纠结半个小时;其次,还是要有扎实的基本功,编程不是粘贴和复制也不是拿着别人的程序找错,如果不亲手去写程序,没有练好编程基本功即使你的想法再好也只是天方夜谭。最后,送给自己一句话,有想法是好事,动手实践才能出成果。1谭浩强.C程序设计(第3版).北京:高等教育出版社,20062刘玮玮,汪晓平. C语言高级实例解析.清华大学出版社,2004源程序#includestdlib.h#include Stdio.hConio.h#define
9、 HANG 2#define LIE 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(clstttSeat Arrangement Systemnnttt1.Seat Arrangementnprintf(ttt2.Seat Cancellednttt3.Find the arranged stud
10、entnttt4.Find the arranged seatnttt5.Display all the informationnttt6.ExitnntttPlease input the command:%dcmd); return cmd;void start() int i,j; for(j=0;j3;j+)t for(i=0;i68;i+)*t*The Science And Technology of Optical Information*nt*tA High Level Language Program designtt*nt*tttManualttt*nt*tSubject:
11、Seat Arrangement Systemtt*nt*tClass:20101461tttt*nt*tStudentID:2010146143ttt*nt*tName:Wanyantttt*nt*tComletion Date:2011/11/29tt*n4;pausevoid get_id()tttPlease input student ID:void get_name()tttPlease input student name:,name);void fun5()next,*q; int h,l,f; for(h=1;h=HANG;h+) for(l=1;l if(f=1) prin
12、tf(#t printf(void p_cmd(unsigned t) switch(t) case 1: fun1(); case 2: fun2(); case 3: fun3(); case 4: fun4(); case 5: fun5(); case 6: default :tttWrong comand! system(int main(void)start();system( head=(struct node*)malloc(sizeof(struct node); head- get_cmd();if(cmd=6)break; if(cmd!=1&cmd!=2&=3&=4&=5) ; p_cmd(cmd);nnnnnnnnnnttttByebye! getch(); return 0;
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2