C++课程设计
图6-4 穷举递归法界面
(这是把皇后第三种方法运行后显示的界面,其中*是棋盘中棋子的位置,@是棋盘中皇后的位置,坐标表示在当前情况下皇后所处位置)
27
C++课程设计
图6-4 退出界面
(此时,按任意键便可以退出八皇后的运行界面)
28
C++课程设计
总 结
就编写的程序而言,虽然能达到预期的结果,但在运行时所需的时间比较长,而且总体结构还不够简洁,不太容易去理解。许多问题还需要继续研究,许多技术还需要更多的改进。去图书馆借了不少书,也去网上看了些资料,只是对大概的知识有了点了解,但还是很难着手于写代码,后来就按照老师说的,先搞清楚原理,再考虑如何去实现!后来又去上网查看相关资料,又到图书馆借了很多书看,总算有头绪了。但在调试过程中,还是遇到了很多困难,后来通过了很多同的帮助才把问题解决了。
通过这次的课程设计,让我了解了八皇后这一经典的问题。同时让我更好地掌握了栈思想以及一维数组等等知识,以及一些书本上没有的东西,这对我以后的学习生涯以及将来步入社会起到很大的帮助。这次课程设计虽然花了我很多时间和精力,但很值得,因为它对我能力提高起到很大帮助。这次课程设计也提醒我以前知识的匮乏,它给我敲响了警钟,让我意识到自己基础的不扎实.当然这次实验还是有很多问题的。比如程序设计的界面不够好,一些程序并非自己所写,而是修改某些程序而成,但这些不该,在下次课程设计时不会再发生.
在编写代码时,我希望能随机选择一数 X(1~92)后,能输出该种情况所对应的八个皇后的摆放方式和每个皇后所在的位置,但想了好久,就是无法实现。而且,当92种情况都输出时,前面的几十种情况无法看到,要想让摆放皇后的图形和所在具体的位置一起输出,就得修改程序让使她们一个一个地输出,这样显然比较麻烦。
针对八皇后这个课题,也许表层只局限于对八个皇后的摆放,但还可以对更多的情况进行探讨分析,比如九皇后,十皇后等等。在报告正文中已经多次提到
29
C++课程设计
关于N皇后的设计方法,但只是一带而过,有些问题很难通过一个报告设计就轻而易举的得到解决,还需要花费更多的时间。也许随着皇后个数的增多,程序运行的时间将变得很长,我们能否将运行的时间缩短呢?
致 谢
课程设计终于告一段落了,一周的努力过后,也算是颇有收获,很多以前不清楚、不熟悉的内容都在这一周的努力中得到了锻炼,感谢老师给予的大量帮助及指导,感谢同学们的帮助,才让我顺利完成了这次的课程设计!通过他们们的帮助,我深刻体会到:做程序设计需要团队共同努力,共同贡献自己的力量,才能编写出一段好的程序,谢谢你们!
在此,由衷的感谢淮阴工学院、计算机工程系提供的实践机会,实验室人员提供的实验环境,让我可以在不断地调试中完善程序;感谢指导教师王晓燕、戴俊峰的辛勤指导,让我认识这个课题、熟悉这个课题并且最后完成这个课题;感谢同组同学的互帮互助,提供那么多经典程序供我参考并且指出了许多我的编程过程中出现的问题;感谢我的导师,在我遇到困难难以完成时,他总会给我宝贵的建议,帮助我战胜困难;感谢参考文献的原作者,以及给过我帮助的所有人员!可以说本次的实验并不是仅仅有我一个人在努力,是通过的大家的帮助,和我个人的劳动共同得出的,我不会忘记你们给我的支持,谢谢你们!
感谢帮助过我的每一个人!谢谢!!
30
C++课程设计
参 考 文 献
1 于永彦,于长辉,刘作军.C++程序设计《实践教学指导书》.淮安市淮海路小学印刷厂,2007000000000000
2 谭浩强,C 程序设计.北京:清华大学出版社,1998
3 吴乃陵,况迎辉 .C++程序设计.第二版.北京:高等教育出版社,2006 4 求是科技 .C&C++实效编程百例.人民邮电出版社,2004
5 蒋爱军,李师贤,梅骁勇.C++ Primer习题解答 .第四版 .人民邮电出版社,2006
6 於春景.实用C++调试指南.华中理工大学出版社,2006 7 徐惠民.C++大学基础教程.人民邮电出版社,2004 8 於春景.实用C++调试指南.华中理工大学出版社,2006
31