1、c语言五子棋的设计与实现课程设计92020年4月19日文档仅供参考学生课程设计报告五子棋的设计与实现一、课程设计内容该程序是经过C+编写,具备存储,调用,修改和查询学生基本信息的管理系统,该程序并嵌入了五子棋游戏作为附加应用。嵌入的五子棋程序具备自动输出表格功能,并经过双人对弈实现该游戏的操作,而且该程序中的函数具备判断胜负方的功能 二、 技术路线以C、c+语言为编程语言,组合不同功能的函数进行功能的叠加三、 设计与实现1.五子棋的设计与实现:(1) 首先画棋盘,用一个19*19的二维数组来画棋盘。(2) 设计一个转义函数:把二维数组的内容转义成符号。(3) 设计一个判断函数,分别对白黑子从横
2、、竖、左斜、右斜四个方向判断是否连成五子,每个方向分成两部分,每个部分用一个循环来完成是否连成五子的判断。只要连成了五子,返回一个值来记录。例如其中的一个判断竖直方向的代码(其它的类似):for(int i=0;i-1 & stoneh-i-1l=o) js+=1;else break;for(int j=0;j5;j+)if(h+j+1=5)system(cls);return 0;(4) 接下来是主函数:主函数里面需要对输入的键盘操作进行判断,上下左右分别对应不同的操作,分别把光标上下左右移动,空格键表示下子,对应的sign、lasth、lastl变化(因为sign提示该谁下子了,last
3、h、lastl记录下子的位置)h表示悔棋,只需将lasth、lastl的位置数组元素清零。根据判断函数返回值告诉玩家谁赢了,下棋总次数为奇数则黑棋走,偶数白棋走。2.学生信息管理系统的设计与实现该程序经过分模块进行组合编写,信息管理系统模块经过C语言构造了学生信息的结构体,而且创立了查看函数、保存函数、打开函数、颜色函数等功能函数分别完成信息管理系统的存储信息、查找信息、修改信息等功能。颜色函数的调用实现了界面的美观性,主函数中的switch语句的使用实现了信息管理系统的选择功能,并能够经过界面选项为入口选择进行信息系统管理和游戏。case 1:type();break; /*调用键入学生信息
4、函数*/case 2:look();break; /*调用查看函数*/case 3:search_name();break; /*调用姓名查看函数*/case 4:search_number();break; /*调用学号查看函数*/case 5:order();break; /*调用排序函数*/case 6:del();break;/*调用删除函数*/case 7:save();break;/*调用保存函数*/case 8:see();break;/*调用打开文件函数*/case 9:welcome();break;/*调用我的个人信息函数*/case 10:game();break;cas
5、e 11:flag=1;break;/*退出SWITCH语句*/default :printf(错误!);(4)测试与结果四、 感想和体会一周的课程设计结束了,在这次的课程设计中不但检验了我所学习的c+专业知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。在设计过程中,与同学分工设计,和同学们相互探讨,相互学习,相互监督。学会了合作,学会了运筹帷幄,学会了宽容,学会了理解,也学会了做人与处世。课程设计是我们c+专业课程知识综合应用的实践训练,着是我们迈向社会,从事职业工作前一个必不少的过程”千里之行始于足下”,经过这次课程设计,我深深体会到这句千古名言的真正含义我今天认
6、真的进行课程设计,学会脚踏实地迈开这一步,就是为明天能稳健地在社会大潮中奔跑打下坚实的基础经过这次模具设计,本人在多方面都有所提高。经过这次学生信息管理系统和五子棋游戏设计,综合运用本专业所学课程的理论和生产实际知识进行一次程序设计中培养和提高学生独立工作能力,巩固与c+专业课等课程所学的内容,掌握大程序的设计的方法和步骤,掌握了平时课堂上的学习知识和编程能力的提高,同时各科相关的课程都有了全面的复习,独立思考的能力也有了提高。在这次程序设计过程中,体现出自己单独设计模具的能力以及综合运用知识的能力,体会了学以致用、突出自己劳动成果的喜悦心情,从中发现自己平时学习的不足和薄弱环节,从而加以弥补。在此感谢我们的揣锦华老师.,老师严谨细致、一丝不苟的作风一直是我工作、学习中的榜样;老师循循善诱的教导和不拘一格的思路给予我无尽的启迪;这次模具设计的每个实验细节和每个数据,都离不开老师您的细心指导。而您开朗的个性和宽容的态度,帮助我能够很顺利的完成了这次程序设计。同时感谢对我帮助过的同学们,谢谢你们对我的帮助和支持,让我感受到同学的友谊。由于本人的设计能力有限,在设计过程中难免出现错误,恳请老师们多多指教,我十分乐意接受你们的批评与指正,本人将万分感谢。