100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 石头剪子布c语言课程设计 c语言课程设计报告石头剪子布.doc

石头剪子布c语言课程设计 c语言课程设计报告石头剪子布.doc

时间:2019-04-09 13:23:15

相关推荐

石头剪子布c语言课程设计 c语言课程设计报告石头剪子布.doc

c语言课程设计报告石头剪子布.doc

题目:石头剪子布

专业:

班级:

学号:

姓名:

指导教师:

成绩:

设计日期:-7-5--7-9

目录:

TOC \o "1-5" \h \z 一、选题背景3-

二、设计思路4-

三、主要问题的解决方法及关键技术4-

四>程序流程图5 -

五、源程序清单5-

六、程序运行结果7-

七、设计总结9-

八、教师评语10-

选题背景

通过一个学期的C语言课程的学习,《C语言程序设计》课程己结束,根据学 校课程学习的安排,要进行一周的c语言实习,自己动手编写游戏和系统。根据 老师布置的设计任务书,按照学委的安排,根据个人的能力及意愿,我选择了设 计一格小游戏:石头剪子布。

实验准备:做游戏前,首先,自己详细看了《C语言程序设计》(教科书),理解了相 关函数的用法和作用;另外,上网查询了很多相关资料,还有找了很多相关的游戏设计的代 码,都详细的看了一遍,加深了对C语言以及相关内容进一步理解。根据实际情况设II?出 一款比较理想的小游戏。

设计题目的要求:

游戏要设置开始,结束操作控制

游戏要有时间提示即相关结果的提示语

游戏要能自动判断输赢,并显示最终比赛结果

设计思路

系统功能模块图:

输入:计算机随机输入选择,用户输入选择,并将数据储存。

计算:根据计算机和用户的选择,计算大小,并判断输赢,计算用户的胜负率, 并储存。

输出:根据用户的输入,将用户的游戏结果显示在屏幕上。

三、主要问题的解决方法及关键技术

游戏功能需求分析:

输入数据:

计算机随机输入数据;

用户输入合法的数据

存储数据:

存储计算机的输入数据;

存储用户的合法输入数据;

判断用户的输赢:

根据用户的选择,比较用户与计算机的胜负 计算用户的胜负率:

根据计算机的记录,计算用户的胜负次数的总和及概率

Ul

程序流程

储存并输出结果

c结束:)

五、源程序清单

#include Mstdio.h"

#include "time.h" #include "stdlib.h" void main()

char r,dn;

/*定义变量存储用P,电脑的选择*/

int s,q;

double p,y,n,f,z;

P=0;

y=0;

n=0;

printf(n出锤子输入c\n出剪刀输入j\n出布输入b\n计算您的得分输入An可以一次输入许多 会一次性出很多结果哦化请输入您的选择An”);

srand(time(O));/*随机数生成器,设置rand种子值,用来获取计算机的输入*/

do{

do{

s=rand()%3;

switch(s)/*储存电脑随机产生的数掘*/

{

case 0 : dn='c';break;

case 1 : dn=’j’;break;

case 2 : dn='b';break;

}

do{

scanf("%cM,&r);

}while(r!=,c'&&r!=,b,&&r!=,j,&&r!=,f);/* 用來获取用户的合法输入 */

if(r==*f)/*统计用户的游戏结果*/

{

z=y+n+p;

f=100/z*(p/2.0+y);

printff’一共比了。/og 场\11 贏了。/og 场\n 输了。/og 场\n 平局。/og g\n",z,y,n,p);

y=10()/z*y;

n=100/z*n;

p=100/z*p;

printff您的胜率为%七°/。%\!1您的败率7j%.3g%%\n您平局率:7j%.3g%%\n您的综合分数

^J%.3g\n对您成绩的评语:",y,n,p,f);

if(f<=20)

printf(”您的运气真的差到一定无法想象的程度了?!\n\n”);

if(f〉20&&f〈二 40)

printf("您的运气差了点哦,努力,加油!\n\n,,);

if(f>40&&f<=60)

printff您的运气还可以屮等啦?屮等啦……\n\n");

if(f>60&&f<=80)

printf("您的运气不错哟?!嘿嘿……\n\nn);

if(f>80&&f<=100)

printff哇?!?!?您的运气真的好到家了你太帅了 GG你太可爱了 MM?!!?\n\n");

printf(”\n随便输入儿个字符按回车关闭程序\n”);

scanf("%dn,&q);

}

if(dn==r)/*计算用户的胜负,并输出*/

printff 平手,继续\nn);

P++;

}

else

switch(dn)

{

case 'c': if(r==’j’)

{

printf("电脑 WIN!!锤子:剪刀\n");n++; }

else

{

printff 人 WIN!锤子^\nn);y++; (break;

case 'j*: if(r==’b’)

{

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。