课程设计(舞伴配对)_第1页
课程设计(舞伴配对)_第2页
课程设计(舞伴配对)_第3页
课程设计(舞伴配对)_第4页
课程设计(舞伴配对)_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

1、武汉工程大学 计算机科学与工程学院综合设计报告设计名称: 应用软件综合设计 设计题目: 舞伴配对 学生学号: 1105080207 专业班级: 2011级计算机工程2班 学生姓名: 胡文博 学生成绩: 指导教师(职称): 庄朋(讲师) 课题工作时间: 13年9月9日 至 13年9 月20日 说明:1、报告中的第一、二、三项由指导教师在综合设计开始前填写并发给每个学生;四、五两项(中英文摘要)由学生在完成综合设计后填写。2、学生成绩由指导教师根据学生的设计情况给出各项分值及总评成绩。3、指导教师评语一栏由指导教师就学生在整个设计期间的平时表现、设计完成情况、报告的质量及答辩情况,给出客观、全面的

2、评价。4、所有学生必须参加综合设计的答辩环节,凡不参加答辩者,其成绩一律按不及格处理。答辩小组成员应由2人及以上教师组成。5、报告正文字数一般应不少于5000字,也可由指导教师根据本门综合设计的情况另行规定。6、平时表现成绩低于6分的学生,其综合设计成绩按不及格处理。7、此表格式为武汉工程大学计算机科学与工程学院提供的基本格式(适用于学院各类综合设计),各教研室可根据本门综合设计的特点及内容做适当的调整,并上报学院批准。成绩评定表学生姓名: 胡文博 学号: 1105080207 班级: 2011计算机工程2班 类别合计分值各项分值评分标准实际得分合计得分备注平时表现1010按时参加综合设计,无

3、旷课、迟到、早退、违反实验室纪律等情况。完成情况3020按设计任务书的要求完成了全部任务,能完整演示其设计内容,符合要求。10能对其设计内容进行详细、完整的介绍,并能就指导教师提出的问题进行正确的回答。报告质量3510报告文字通顺,内容翔实,论述充分、完整,立论正确,结构严谨合理;报告字数符合相关要求,工整规范,整齐划一。5课题背景介绍清楚,综述分析充分。5设计方案合理、可行,论证严谨,逻辑性强,具有说服力。5符号统一;图表完备、符合规范要求。5能对整个设计过程进行全面的总结,得出有价值的结论或结果。5参考文献数量在3篇以上,格式符合要求,在正文中正确引用。答辩情况2510在规定时间内能就所设

4、计的内容进行阐述,言简意明,重点突出,论点正确,条理清晰。15在规定时间内能准确、完整、流利地回答教师所提出的问题。总评成绩: 分 补充说明: 指导教师: 庄 朋 (签字)日 期: 2013 年 9 月 20 日答辩记录表学生姓名: 胡文博 学号: 1105080207 班级: 2011计算机工程2班 答辩地点: 计算机工程专业机房 答辩内容记录:答辩成绩合计分值各项分值评分标准实际得分合计得分备注2510在规定时间内能就所设计的内容进行阐述,言简意明,重点突出,论点正确,条理清晰。15在规定时间内能准确、完整、流利地回答教师所提出的问题。答辩小组成员(签字): 2013 年 9 月 20 日

5、指导教师评语指导教师: 庄 朋 (签字)日 期: 2013 年 9 月 20 日一、综合设计目的、条件、任务和内容要求:算法与数据结构在计算机科学中是一门核心专业基础课,在整个计算机课程体系中处于承上启下的核心地位,它一方面扩展和深化在离散数学、程序设计语言等课程学到的基本技术和方法,一方面为进一步学习其它专业课奠定坚实的理论与实践基础。课程的主要任务是学习数据的逻辑结构,存储结构以及相关的算法设计。应用软件综合设计是计算机科学与技术专业学生的一门实践课程,是学习完数据结构课程后的课程设计,本课程的目的是使学生学会分析待加工处理数据的特性,以便选择适当的逻辑结构、存储结构以及进行相应的算法设计

6、。在教给学生数据结构选择和算法设计的同时,培养学生的抽象思维能力、逻辑推理能力和形式化思维方法,增强分析问题和解决问题的能力。 掌握线性表(队列)的基本操作及其实现,能够利用它来解决实际生活中的问题,并对文件流的操作做一定了解。内容:分两个层次层次一:设计一个模拟配对系统,逐步演示参加舞会的男士和女士各自排队进入舞厅。舞会开始时,从两队中按顺序组成舞伴开始跳舞。如果男士和女士人数不等,则多出的人只能等到下一舞曲才能开始。1程序从文本“dance.txt”读入男士和女士的信息,文件格式如下: 性别 姓名 其中,性别是一个字符“F”或“M”。当文件中记录读完后,两个队列都已形成。2若有人在等待,程

7、序给出有多少人等待,并打印出等待队列中第一个人的名字。层次二:排在队列前面的男士可以在女士队列中选择自己最喜欢的女伴来配对跳舞。 指导教师签字: 庄 朋 2013 年 8 月 26 日二、进度安排:第2周(9.9-9.10) : 学生熟悉课题的任务和要求,查阅相关文献和资料,并做好编码准备第2周 (9.11-9.13) :程序编码、调试第3周 (9.16-9.19) :程序编码、调试和测试,书写报告第3周 (9.20): 答辩、检查、验收、递交设计报告三、应收集资料及主要参考文献:应收集的资料:面向对象程序设计思想和方法C/C+语言参考手册数据结构、软件工程方面参考书籍主要参考文献:1姬涛,周

8、启生.计算机程序设计基础(上册)教程.北京:中国传媒大学出版社,2010. 2张俊,张彦铎.c+面向对象程序设计.第一版,北京:中国铁道出版社,2008.3谭浩强.c+程序设计.北京:清华大学出版社,20114李春葆,尹为民.数据结构教程(第三版).北京:清华大学出版社,2008.四、综合设计(课程设计)摘要(中文): 舞伴配对系统模拟的是一个小型的配对系统,此程序实现的功能包括五项主要内容,即从文件中读取舞会人员信息并将其按男女分类进队,显示舞会所有男士姓名,显示舞会所有女士姓名,进行舞会人员配对,显示配对后剩余人员的信息。每个舞会人员信息又包括2项内容,即性别和姓名。本程序的主要目的是利用

9、平时编写程序以及调试程序的能力,结合教学环节,运用数据结构知识解决实际问题的能力,为后续计算机专业课程的学习打下坚实的基础。本程序是用c语言写的,是基于过程设计的方法设计的,运行时会有提示,进入主菜单界面后,用户可以根据提示选择任意一个选项,程序会根据用户的选项执行相应的操作,当用户输入的信息错误时,程序会提示用户错误信息,进而让用户在使用本系统时感到很人性化。关键词:舞伴配对;c语言;菜单五、综合设计(课程设计)Abstract(英文):Partner matching system is a small simulation matching system, this program fe

10、atures include five main elements, namely read from the file prom personnel information and classified by men and women into the team, showing all the men dance name, display names of all the ladies dance for dance personnel pairing, showing the remaining staff after pairing information. Each party

11、also includes two personnel information content, that gender and name. The main purpose of this program is the use of the usual programming and debugging programs ability to combine teaching, the use of data structure knowledge to solve practical problems, for subsequent computer science courses and

12、 lay a solid foundation. This procedure is used c language is based on the design of the process design methods, the runtime will be prompted to enter the main menu interface, the user can be prompted to choose either option, the program will be based on the users option to perform the appropriate a

13、ctions, when a user enters incorrect information, the program will prompt the user an error message, and then let the user of this system was very humane.Keywords:dance partner pairing; c language; menu武汉工程大学计算机科学与工程学院 综合设计报告目 录摘 要 IIAbstract . II第一章 课题背景. 11.1 设计的背景.11.2 设计的目的. 11.3 设计的意义. 11.4 解决的

14、主要问题. 11.2 技术要求. 1第二章设计简介及设计方案论述 . 22.1 程序主要流程图.2 2.2 主要设计思路.3第三章详细设计.43.1 所有定义的功能函数.4 3.2 主要功能函数介绍.43.2.1 菜单函数.43.2.2 保存舞会人员信息函数.53.2.3 读取舞会人员信息函数.53.2.4 显示舞会人员信息函数.63.2.5 按顺序显示女队舞会成员函数.73.2.6 按给定编号删除女士信息函数.73.2.7 舞会人员配对函数.83.2.8 配对后剩余人员信息函数.9 第四章设计结果及分析.104.1 调试过程及分析.10 总 结 .14 致 谢 .16 参考文献 .17 附录

15、 主要程序代码 .18 摘 要舞伴配对系统模拟的是一个小型的配对系统,此程序实现的功能包括五项主要内容,即从文件中读取舞会人员信息并将其按男女分类进队,显示舞会所有男士姓名,显示舞会所有女士姓名,进行舞会人员配对,显示配对后剩余人员的信息。每个舞会人员信息又包括2项内容,即性别和姓名。本程序的主要目的是利用平时编写程序以及调试程序的能力,结合教学环节,运用数据结构知识解决实际问题的能力,为后续计算机专业课程的学习打下坚实的基础。本程序是用c语言写的,是基于过程设计的方法设计的,运行时会有提示,进入主菜单界面后,用户可以根据提示选择任意一个选项,程序会根据用户的选项执行相应的操作,当用户输入的信

16、息错误时,程序会提示用户错误信息,进而让用户在使用本系统时感到很人性化。关键词:舞伴配对;c语言;菜单Abstract Partner matching system is a small simulation matching system, this program features include five main elements, namely read from the file prom personnel information and classified by men and women into the team, showing all the men dance n

17、ame, display names of all the ladies dance for dance personnel pairing, showing the remaining staff after pairing information. Each party also includes two personnel information content, that gender and name. The main purpose of this program is the use of the usual programming and debugging programs

18、 ability to combine teaching, the use of data structure knowledge to solve practical problems, for subsequent computer science courses and lay a solid foundation. This procedure is used c language is based on the design of the process design methods, the runtime will be prompted to enter the main me

19、nu interface, the user can be prompted to choose either option, the program will be based on the users option to perform the appropriate actions, when a user enters incorrect information, the program will prompt the user an error message, and then let the user of this system was very humane.Keywords

20、:dance partner pairing; c language; menu- 25 -第一章 课题背景1.1 设计的背景 当今社会高速发展,参加舞会已成为人们放松心情,陶冶情操,调节生活的一种重要工具和途径。参加舞会的人可能对各种舞会的流程都很了解,然而对那些还没有参加过舞会的人来说,适当的了解一下会务的流程是很有必要的。利用计算机编程来模拟舞会配对就是一个很好的获取舞会流程的途径和方法。用户可以根据提示来一步步的熟悉舞会流程。1.2设计的目的 通过本课程的设计,学生可以利用c语言及编程技术进行一系列的操作,掌握线性表(队列)的基本操作及其实现,能够利用它来解决实际生活中的问题,并对文件

21、流的操作做一定了解。提升运用数据结构知识解决实际问题的能力,为后续计算机专业课程的学习打下坚实的基础。1.3设计的意义舞会配对模拟系统的设计是对学生所学知识的一种很好的综合应用,有助于帮学生进一步熟悉和掌握专业课程的内容。用户在使用本系统时也能很好的熟悉和了解一般舞会的进展流程,让没参加过舞会的人员也能从其他途径获取舞会流程的有关信息。1.4解决的主要问题(1)将所有舞会人员的信息存到指定的文件中(2)从文件中读取舞会人员信息并将其按男女分类进队(3)显示舞会所有男士姓名(4)显示舞会所有女士姓名(5)进行舞会人员配对(6)显示配对后剩余人员的信息1.5技术要求熟练掌握c语言的用法及编程技术,

22、会进行程序的调试应用。能进行常规错误的自我修正。拥有运用数据结构知识解决实际问题的基本能力,特别是对线性表(队列)的基本操作及其实现有很好的了解应用,能够利用它来解决实际生活中的问题,并对文件流的操作有一定了解。 第二章 设计简介及设计方案论述2.1 程序主要流程图: 菜单界面菜单界面 用户选择其中一项执行完后返回到主菜单(没有选退出)退出菜单界面显示配对后剩余人员信息进行舞会人员配对显示舞会所有女士姓名显示舞会所有男士姓名读取舞会人员信息并分类进队 2-1-1 主要流程图2.2主要设计思路 程序从main函数开始执行,将参加舞会的人员信息存到结构体数组中让后通过Save函数将舞会人员信息保存

23、到指定文件中以便用户读取。初始化两个队列,分别将文件中读取的男士和女士进行进队操作。用户进入根据提示进入系统菜单界面后,会有6个选项可供选择,用户根据自己的需要选择一个选项后程序就会调用相应的函数,实现相应的功能。直到用户选择退出菜单后,程序运行就会终止。因此只需设计好一个菜单界面以及相应的功能的函数即可。用一个无限for循环加switch选择语句,case后面的6个相应的功能函数与菜单界面中的序号一一对应,用户根据自己的需要,选择一个选项后,switch语句就会调用相应的功能函数,执行相应的操作。每次执行完后,用户按任意键即可再次进入菜单界面,再次选择自己所要执行的选项。当然,为了使界面更简

24、洁明了,每次执行完相应的功能函数,用户按任意键重新进入菜单界面时,都会清屏,即执行system(CLS);语句。这样用户使用时界面就不会显得那么不美观。 2-2-1 主函数截图第三章 详细设计3.1所有定义的功能函数void InitQueue(LiQueue *&q);/初始化队列void enQueue(LiQueue *&q,struct dancer k);/进队int deQueue(LiQueue *&q);/出队void Save(struct dancer a);/将舞会人员信息保存到指定文件中void ReadIn(LiQueue *&p,LiQueue *&q);/从指定文

25、件中读取舞会人员信息int Display1(LiQueue *&q);/显示舞会人员信息int Display2(LiQueue *&q);/ 按编号显示女士信息QNode * Delete1(LiQueue *&q);/删除男士信息QNode * Delete2(LiQueue *&q,int choice);/按给定编号删除女士信息void Find(LiQueue *&p,LiQueue *&q);/舞会人员配对void Function(LiQueue *&p,LiQueue *&q);/配对后剩余人员的信息int menu_select();/菜单界面函数 3.2主要功能函数介绍3

26、.2.1菜单函数int menu_select() int c; printf(按任意键进入菜单界面.n);/*提示压任意键继续*/ getchar(); /*读入任意字符*/ system(CLS);printf(*菜单界面*nn); printf( 1. 从文件中读取舞会人员并将其分类排队n);printf( 2. 显示舞会所有男士姓名n);printf( 3. 显示舞会所有女士姓名n);printf( 4. 舞会人员配对过程n);printf( 5. 舞会人员配对后结果n);printf( 6.退出n);printf(*n); do printf(n 输入一个选项(16):); /*提示

27、输入选项*/ scanf(%d,&c); /*输入选择项*/ while(c6); /*选择项不在5之间重输*/printf(n);return c; /*返回选择项,主程序根据该数调用相应的函数*/调用菜单函数时,显示屏上会显示菜单界面,其中switch语句是供用户选择的相应选项,选择一个选项后,程序会调用相应的功能函数来执行。3.2.2保存舞会人员信息函数void Save(struct dancer a)FILE *fp;if(fp=fopen(d:dance.txt,wb)=NULL)printf(eroor opening!n);exit(1);if(fwrite(a,sizeof(

28、struct dancer),22,fp)!=22)printf(error writing!n);exit(1);fclose(fp);此函数的功能是将舞会人员信息保存到指定路径的文件中。3.2.3读取舞会人员信息函数void ReadIn(LiQueue *&p,LiQueue *&q)struct dancer t;FILE *fp;int j=15;char r,temp;if(fp=fopen(d:dance.txt,rb)=NULL)printf(error opening!n);exit(1);printf(是否将文件中的所有人都读取出来(y或n):);getchar();sca

29、nf(%c,&r);if(r=y)while(!feof(fp)&j)fread(&t,sizeof(struct dancer),1,fp);if(t.gender=M)enQueue(p,t);else if(t.gender=F)enQueue(q,t);j-;elseprintf(nn);while(!feof(fp)&j)fread(&t,sizeof(struct dancer),1,fp);printf(是否从文件中读取 %s 的信息(y或n)?,);getchar();scanf(%c,&temp);if(temp=y)if(t.gender=M)enQueue(p

30、,t);else if(t.gender=F)enQueue(q,t);j-;此函数是用来从指定路径文件中读取舞会人员信息并将读取出来的男士和女士分别进队。在调用此函数时程序会提示用户是否将指定路径文件中的人全部读出来,如果选择y则全部读出来,否则舞会人员的信息会一个一个的提示用户是否读出。3.2.4显示舞会人员信息函数int Display1(LiQueue *&q) QNode *k; if(q-front=NULL) printf(没有人排队!nn); return 0; else k=q-front; printf(%c:t,k-x.gender); while(k!=NULL) pr

31、intf(%st,); k=k-next; printf(n); return 1;此函数的功能是将进队的舞会人员显示出来,男队则在前注明M,女队则在前注明F。3.2.5按顺序显示女队舞会成员函数int Display2(LiQueue *&q) QNode *k; int count=1; if(q-front=NULL) return 0; elsek=q-front; while(k!=NULL) printf(%d:%st,count,); k=k-next; count+; printf(n); return count;此函数的功能是将女队中的每个舞

32、会人员按顺序排列出来,对手的女士编号为1,后面的女士编号依次递增。这样有助于男士在选择舞伴时只需点击该女士编号即可。3.2.6按给定编号删除女士信息函数QNode * Delete2(LiQueue *&q,int choice)int s;QNode *t=q-front;QNode *r;if(choice=1)q-front=q-front-next;return t;elsefor(s=0;snext;r-next=t-next;if(t-next=NULL)q-rear=r;return t;此函数是按给定的序号删除女士信息,男士在选定好相应的舞伴序号时可调用此函数删除女队中对应该序

33、号的女士的信息,这样下一位男士在选择自己的舞伴时就不会重复。3.2.7舞会人员配对函数void Find(LiQueue *&p,LiQueue *&q)int number=1,lab,y=1;QNode *m,*f;LiQueue *result1,*result2;InitQueue(result1);InitQueue(result2);m=p-front;f=q-front;while(m!=NULL&f!=NULL)dolab=Display2(q)-1;printf(%s请选择上面自己最喜欢的舞蹈女伴(若不选则输入0):,);scanf(%d,&y);if(yla

34、b)printf(n);printf(选择号码有误,请重选n);while(ylab); enQueue(result1,(Delete1(p)-x);if(y=0)enQueue(result2,(Delete2(q,1)-x);elseenQueue(result2,(Delete2(q,y)-x);m=p-front;f=q-front;printf(nn);if(result1-front!=NULL)printf(配对表如下:n); while(result1-front!=NULL)deQueue(result1);printf(-);deQueue(result2);printf

35、(n);此函数的功能是进行舞会人员的配对,排在队列前的男士可以优先选择自己最喜欢的一名女士,选择后该男士出队,对应编号的女士也出队。若男士不做选择则女队中队首的女士自动与男士配对,若男士选择的编号不符要求,则程序会提示该男士重新选择。3.2.8配对后剩余人员信息函数void Function(LiQueue *&p,LiQueue *&q)QNode *t;int z=1;if(p-rear=NULL&q-rear=NULL)printf(舞伴配对完成n);else if(p-rear!=NULL)t=p-front;while(t-next!=NULL)z+;t=t-next;printf(

36、有%d名男士在等待,第一个人的名字是:%sn,z,);elset=q-front;while(t-next!=NULL)z+;t=t-next;printf(还有%d名女士在等待,第一个人的名字是:%sn,z,);此函数的功能是显示舞会人员配对后剩余人员的个数,以及第一个人员的姓名。第四章 设计结果及分析4.1 调试过程及分析4-1进入菜单提示图4-2菜单界面图用户进入系统后,按任意键即可进入菜单界面。4-3输入好友信息图选择“1”后系统会提示是否将文件中的所有人都读出来,用户可根据选项选择y或n.以上是选择y为例。4-4显示舞会所有男士

37、姓名图返回菜单界面后选择“2”,可以显示所有舞会男士姓名。4-5显示舞会所有女士姓名图返回菜单界面后选择“2”,可以显示所有舞会女士姓名。4-6舞会人员配对界面图4-7舞会人员配对过程图返回菜单界面后选择“4”,进行舞会模拟配对过程。男士可以根据自己最喜欢的女士选择其编号,每次男士选择时都会将被选的女士按编号排列出来,若男士不做选择,则输入“0”,系统会自动帮其选择队首的女士作为其舞伴。4-8配对后剩余人员信息图返回菜单界面后选择“5”,可显示配对后剩余人员的总人数以及排在队首的人的姓名。4-9退出菜单界面图返回菜单界面后选择“6”,系统会自动退出菜单界面。总 结 近两周的课程设计课学习,使我

38、受益匪浅。不仅让我回顾了一下大一所学的指针,结构体的使用方法,更让我了解到了一些与文件有关的操作方法,这使我对C语言有了更进一步的认识。我们不仅要学一些课本的理论知识,更重要的是要将所学的知识加以实际的应用,这样才能不断的加深我们对知识的熟悉程度,提高我们自身的综合应用能力。首先我觉得在整个程序设计中比较难处理的就是文件的存取操作。如何将信息保存到指定路径的文件中,如何从指定的文件中读取信息,这两步操作对我们整个编程来说是举足轻重的,把握不好的话,对后面输入输出都会造成很严重的影响。基于以往编程的经验,我是一步一步来写程序的,也就是一个一个函数的写,并且调试。直到每一个函数都没问题为止。这样既

39、省时又省力,错误也容易查找和排除。刚开始写文件存取函数时,我就遇到过很大的麻烦,写进去的信息在相应的文件中查找时发现全是一些乱码,于是我又将大一学的计算机程序基础中有关文件的那章内容好好的复习了一遍,复习过程中我才深刻的发现到有关文件那章的内容确实忘记的差不多了,顿时深感惭愧。基础课不能忘记,它是我们后续专业课的基础,也是我们整个编程过程的基础。我尤感对于知识的学习不能仅仅就是当时学习完了之后就一了百了,还要时常地拿出来复习复习,回顾回顾。所谓温故而知新,这样才会有更大的进步。当然此次课程设计另外一个重点就是对队列的操作问题,这也是我们大二数据结构中一个基础也很重要的知识点。线性表和队列是解决

40、其它问题的一种很好的工具,在大二的数据结构学习中,我们就有所接触,这次课程设计真好能帮我们好好的温习一下。我觉得对队列操作的有关函数中最容易出错的地方就是函数的参数。很多地方形参都是指针的引用,这一点是很需要我们思考和把握的地方。形参的错误会导致很大甚至不可预料的错误。对指针的操作也是一样的,我们要时刻注意指针所指的地方,一步一步在纸上比划清楚,防止程序出现崩溃。在做课程设计时,遇到的问题远远不止是文件和指针的问题。例如清屏,用户输错信息如何处理等都是要考虑的。例如在系统中用户每选完一个选项,程序执行完后就会立刻回到菜单主界面,用户完全看不到执行的结果,这就要求程序有一个暂停的功能,于是我用两

41、个getchar();执行语句,这样就可以了。用户在看到执行后的结果后就可以根据提示按任意键返回主菜单,这样程序就显得更人性化。又如在用户输入错误信息后,我们不能因为用户没有输入正确信息而终止整个程序,而要考虑到用户本身,我们可以用一些if语句提示用户输入的信息出错了,重新输入,或返回到主菜单。这样整个程序实现起来才更科学更全面,用户用起来也就更惬意。 回顾整个课程设计,我觉得自己收获最大的地方是实际动手能力的提高。有些函数代码自己在草稿纸上写出来认为是对的,没有任何错误,可是实际在电脑上操作时发现远远不是我想的那么简单,有时连一个非常简单的函数都会编译出错,而且调试时出错的地方往往不止一处,

42、这让我深刻的认识到:自己书写的认为是对的程序,在电脑上运行时就不一定对了,一定要亲自动手上机调试,才能知道自己的程序到底是否正确。而且动手能力是我们计算机专业的学生必修好好对待的一件事,决不能马虎。理论知识再强,动手能力也不一定强,我们计算机专业的学生不同于其他专业学计算机的学生之处,除了计算机理论要比他们丰富外,动手能力也要比他们有优势,这样才能显示我们与他们的不同。总之,此次课程设计不仅让我回顾了大一程序基础课中有关文件操作的一些知识,也让我温故了大二数据结构中线性表和队列的有关内容。所谓欲速则不达,适时的回过头来温习下学过的知识对我们来说也是一件很好的事情。这样才有助于我们取得更大的进步

43、。致 谢 感谢学院给我们这次课程设计的机会,感谢课程设计中蔡琼老师和庄朋老师给我们提供的一些有价值指导和帮助,感谢我的同学在程序编写与调试时给我的一些建议与帮助。感谢同学与图书馆给我们提供的一些参考书。参考文献1姬涛,周启生.计算机程序设计基础(上册)教程.北京:中国传媒大学出版社,2010. 2张俊,张彦铎.c+面向对象程序设计.第一版,北京:中国铁道出版社,2008.3谭浩强.c+程序设计.北京:清华大学出版社,2011.4李春葆,尹为民.数据结构教程(第三版).北京:清华大学出版社,2008.附录#include#include#include#defineMaxsize 50struc

44、t dancerchar gender;char name20;typedef struct qnodestruct dancer x;struct qnode *next;QNode;typedef structQNode *front;QNode *rear;LiQueue;void InitQueue(LiQueue *&q)q=(LiQueue *)malloc(sizeof(LiQueue);q-front=q-rear=NULL;void enQueue(LiQueue *&q,struct dancer k)QNode *s;s=(QNode *)malloc(sizeof(QNode);s-x.gender=k.gender;strcpy(,);s-next=NULL;if(q-rear=NULL)q-front=q-rear=s;else q-rear-next=s;q-rear=s;int deQueue(LiQueue *&q)QNode *t;if(q-rear=NULL)return 0;t=q-front;if(q-front=q-rear)q-front=q-rear=NULL;elseq

温馨提示

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

评论

0/150

提交评论