文曲星猜数字用c语言编程,实训一用C语言设计一个猜数字游戏(7页)-原创力文档...

实训一 用C语言设计一个猜数字游戏

一、实训准备工作及要求:

1、请同学们自由组合,班长负责统计分组名单(电子稿)。

2、每组8人,组长1人,组长负责该组的任务分工及全面督促任务完成。

具体要求如下:

两人负责全面理解此项目程序各模块的功能,做出相关结论,留做ppt备用。

两人负责运行程序,提供(拷贝)4次正确猜对数字的运行界面,留做ppt备用

两人负责制件ppt, ppt内容至少应包括:项目名称、团队成员组成及分工、选题 要求、设计思想、流程图、程序清单(用超链接方法),程序功能模块介绍,运行结果 展示,自评说明(程序设计的优点及不足)等,各组可根据具体情况适当增加内容。

两人负责ppt汇报主讲,汇报结束后,ppt±交给老师(如感觉不满意,可对其完 善后再上交)

在进行ppt汇报时,各组要随吋面临老师或同学的提问,团队所有成员要做好冋 答或补充的准备。

二、实训目的:

1、通过编程实例重点掌握数组、函数、程序结构设计等知识点

2、熟练掌握VC++6.0的编程及调试的操作方法。

三、实训内容:

1、选题背景:

这是一个模仿“文曲星”中猜数字游戏的小程序,其主要是随机生成4个不同的 数字,然后由玩家键入数字,同时系统给予一定的提示帮助,当输入错误次数超过最 大次数时游戏结束。

2、设计思想:

猜数字游戏是一个比较长见的游戏,其最基本的是生成几个不同的随机数,当玩家 不能在规定次数内输入正确时系统自动结束游戏,并给出正确答案。并询问是否继续。

在实现过程中,应用到了时间函数来生成随机数并与10取余来生成一位随机数, 然后再自定义一个函数来判断所生成随机数是否有重复,当无重复时做为机给定答案。 如果所生成的数字有重复则重新生成。

3、程序流程图参考:

4、程序清单参考

#include

#include

# include

#define MANY 4

#define TIME.OUT 8 严定义变量及函数*/ int a,b,u;

void game();

void ab(int answer]],int guess[]); void same(int num[J);

/*主目录*/

void menu()

{

char choice,ch ;

do

{

do

{

system("cls'^);

printf(H\t\t\t\t 简单猜数字\n\n\n\nM); printf(n\t\t\t\tl.开始游戏 \n\nM); printf(H\t\t\t\t2.使用说明 \n\nH); pri ntf(u\t\t\t\t3 .退出 \n\rT);

printf(n\t\t\t 请输入(1?3): ”); fflush(stdin);

choice=getchar();

}

while(choice!-l '&&choice!二'2 '&&choice!='3,);

switch(choice)

{

case T :

{

game();

break;

}

case 2 :

{

system("clsH);

printf(n\t\t\t\t 欢迎使用本程序\n\n\nH);

printf(”游戏说明:输入%d位数字,输入后会有提示XaYb,X表示有几个数字与答案 数字相同且位置相同.\n”,MANY);

printfC-Y表示有儿位数字与答案数字相同但位置不正确。\n“); printf(n例如:答案数字是5764,如果输入5481,则会提示lalbo \nn); printf(”按任意键返回主目录……\nM);

fflush(stdin);

ch=getchar();

break ;

case '3':

{

printf(”确定要退出吗? (y/n):“);

}

\

fflush(stdin); ch=getchar(); if(ch=='y,||ch=='Y')exit(O); else continue ;

f

} while(l);

}

/*游戏部分*/ void game()

int guess[MANY],answer[MANY];

int times,i,mJ ;

int key;

time_t t;

char wantplay,temp ;

srand((unsigned)time(&t));

do

{

/*生成MANY个随机数引

do

{

u=0 ;

for(i=0;i

guess[i]=rand()%10 ; same(guess);

}

while(u);

printf(n请输入%d位不相同的数:\n”,MANY); for(times=l ;times<=TIME_OUT+l ;times++) {

代超过限定数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值