c++课程设计报告石头剪刀布游戏.docx
《c++课程设计报告石头剪刀布游戏.docx》由会员分享,可在线阅读,更多相关《c++课程设计报告石头剪刀布游戏.docx(10页珍藏版)》请在冰点文库上搜索。
c++课程设计报告石头剪刀布游戏
.C++课程设计(论文)任务书
电气学 院 电气专 业2 班
一、课程设计(论文)题目:
石头-剪刀-布游戏
二、课程设计(论文)工作自2012年6月18日起至2012年6月22日止
三、课程设计(论文)地点:
计算中心机房606
四、课程设计(论文)内容要求:
1.本课程设计的目的
(1)进一步巩固和加深对“C++程序设计”课程基本知识的理解和掌握,了解C++语言在项目开发中的应用。
(2)学习程序设计开发的一般方法,了解和掌握项目开发过程及方式,培养正确的设计思想和分析问题、解决问题的能力,特别是项目设计能力。
(3)通过对标准化、规范化文档的掌握并查阅有关技术资料等,培养项目设计开发能力,同时提倡团队合作精神。
2.课程设计的任务及要求
(1)基本要求:
(1)对系统功能进行需求分析;
(2)使用VisualC++编译器进行程序编译;
(3)提出系统的设计方案;
(4)编写源程序代码并进行调试。
(2)创新要求
在基本要求达到后,可进行创新设计。
(3)课程设计论文编写要求
课程设计报告的撰写要求表述简明,图表准确。
报告按如下内容和顺序用A4纸进行打印并装订成册。
(1)封面:
采用统一的课程设计封面,并按要求填写好封面要求的个人信息和选题。
(2)设计任务书
(3)评阅书
(4)目录
(5)正文
(6)主要参考文献
(4)课程设计评分标准
(1)达到课程设计的目的与要求,程序的可读性较好,并调试正确,60分;
(2)能正确回答老师所提问题,可增加10分;
(3)课程设计报告书写规范整齐,可增加10分;
(4)心得体会认真总结,可增加10分;
(5)程序有创新性,可增加10分;
成绩评定实行优秀、良好、中等、及格和不及格五个等级。
不及格者需重做。
(5)课程设计进度安排
(1)准备阶段(6学时):
选择设计题目、了解设计目的要求、查阅相关资料。
(2)程序模块设计分析阶段(8学时):
程序总体设计、详细设计。
(3)代码编写调试阶段(10学时):
程序模块代码编写、调试、测试。
(4)撰写论文阶段(6学时):
总结课程设计任务和设计内容,撰写课程设计论文。
学生签名:
2012年6月11日
课程设计(论文)评审意见
(1)态度评价(20分):
优( )、良( )、中( )、一般( )、差( );
(2)任务难度(20分):
优( )、良( )、中( )、一般( )、差( );
(3)设计分析(20分):
优( )、良( )、中( )、一般( )、差( );
(4)创新性评价(20分):
优( )、良( )、中( )、一般( )、差( );
(5)回答问题(20分):
优( )、良( )、中( )、一般( )、差( );
(6)论文格式规范性及考勤是否降等级:
是( )、否( )
评阅人:
杜玲玲 职称:
副教授
2012年6月25日
目 录
第一章系统概要
简单游戏的设计能有效的培养编程能力,实现游戏者与电脑的游戏对决,通过系统的设计可以实现人机的互动对决。
1.进入系统,游戏者只需输入0或者1或者2,以不同出拳进入系统,如果输入0,1和2以外的其他字符,则显示输入错误,请重新输入。
2.游戏者根据需要输入0到2之间的数代表石头剪刀布,若出石头(输入0),电脑出剪刀(即电脑随机生成的数字为1),则游戏者赢,电脑输了,同理,根据石头赢剪刀,剪刀赢布,布赢石头的规则,游戏者每一次与电脑对决,分出输赢。
3.根据输赢的次数,编辑输出游戏者与电脑对决输赢的次数,即战况。
4.程序要用到随机函数,即随机生成不同的数字(0,1,2),这样保证每次游戏者与电脑对决电脑不会出同样的拳(数字),因为数字的变化和输入数字的不同,程序要用到选择判断语句,考虑用if语句,为每次对决后能继续游戏,程序应用到循环结果,可用while语句来实现循环。
第二章
设计思路与算法
图2-1总体设计
第三章源程序代码
#include
#include
#include
#include
voidmain()
{
inti,j,k,l,n,m;
cout<<"欢迎进入石头剪刀布小游戏\n"<<"请输入输入石头(0)剪刀
(1)布
(2):
"<cout<<"按任意键开始"<getch();
cout<<"如果结束游戏选择除0~2的任意数\n"<l=0,k=0,j=0,i=0;
while
(1)
{
i++;//每进行完一局局数自动加1
cout<<"********第"<
cout<<"请选择";
cin>>n;
if(n>=3)
{
cout<<"你选择了退出游戏,游戏结束\n你的最终成绩:
";
cout<<"赢"<}
srand((unsigned)time(NULL));
m=rand()%3;//系统生成0~2之间的随机数
if(m==0)
cout<<"对方出了石头"<elseif(m==1)
{
cout<<"对方出了剪刀"<}
else
{
cout<<"对方出了布"<}
if(n==0&&m==1)//系统随机数与输入的数字比较
{
cout<<"恭喜你,你赢了!
"<k++;
}
else
if(n==1&&m==2)//系统随机数与输入的数字比较
{
cout<<"恭喜你,你赢了!
"<k++;
}
else
if(n==2&&m==0)//系统随机数与输入的数字比较
{
cout<<"恭喜你,你赢了!
"<k++;
}
else
if(n==m)//系统随机数与输入的数字比较
{
cout<<"势均力敌!
"<j++;
}
else//非赢非平
{
cout<<"很遗憾,你输了!
"<l++;
}
cout<<"战况:
赢"<cout<<"*****************************\n"<}
}
第四章运行结果及分析
图4-1
1.进入程序,出现如图4-1的画面,游戏者可从0~2中选一个数输入来进行游戏,0代表石头,1代表剪刀,2代表布,如果输入其它数则结束游戏。
图4—2
2.第一局,游戏者输入1(剪刀),系统出布,游戏者赢了,输出战况。
第二局开始。
图4—2
3.第二局中,游戏者输入9,即选择退出游戏,游戏结束。
系统输出最终成绩。
第五章心得体会
1,通过学习对随机函数的产生和运用有了初步的了解和认识,能正确运用随机种子产生相应范围内的随机数,进一步增进了对c++语言的运用和了解。
2,对循环结构有了更加清晰的认识,在不断地改错中积累了如何正确的运用循环体,能灵活自如的用if语句,对&&和||等也能用于循环中语句中来减少语句的使用,避免复杂的运算和不必要的语句,有了一定的认识和掌握,对于循环语句也有了更多的了解。
3,通过课程设计对c++语言有了更进一步的了解,对c++有了更深的兴趣,同时也培养了自己独立查资料的能力和独立设计稍微复杂的运行程序的能力,自己在设计程序中也更加有了耐心和信心,同时在运行自己设计的程序时也获得了喜悦和自豪感
4,提高了自己查找错误的能力,对一些细微之处(如标点的运用,相应函数的格式等)记忆更加深刻,在多次操作中,避免了无谓的改错。
5,对于程序的整体设计有了初步的了解,学会了如何独立设计构思程序的能力。
参考文献
[1]柴欣,张红梅.VisualC++程序设计基础(第二版)[M].中国铁道出版社.2007.8
[2]吕凤翥.C++语言基础教程[M].清华大学出版社.2007.2
[3]《C++程序设计》精品课程
[4]徐慧民.C++大学基础教程.人民邮电出版社.2009.1