猜数字游戏

猜数字游戏
猜数字游戏

猜数字游戏

《C程序设计》课程设计(实习)报告

题目猜数字游戏

姓名: 彭江发

学号: 100910024

专业: 电子信息工程

班级: 电信1001

指导教师: 李秀芳

职称: 讲师

谭天琪同组人:

计算机与电子工程学院

2011年9月

课程设计(实习)作品验收表

题目猜数字游戏

姓名彭江发谭天琪

参与人员班级电信1001 电信1001

学号 100910024 100910029

设计任务与要求:编写一个猜数字游戏,并具有一定的容错功能,界面要友好,功能要齐全,且满足下面规则:

(1)一个四位数,各位数上字不重复,从1到9.

(2)按以下提示猜出这四位数。

(3)每次猜测输入的数据给出类似的提示*A*B。

(4)其中A前的*代表你本次猜对了多少个数字。

(5)其中B前的*代表你本次猜对的数字并且位置正确的个数。作品完成情况:基本完成作业要求,容错,界面友好,可查询答案。验收情况: 验收教师签名:___________

年月日

注:1. 除“验收情况”栏外~其余各栏均由学生在作品验收前填写。

2. “验收情况”栏由验收小组按实际验收的情况如实填写。

目录

1 设计目的与内容要求 (1)

1.1设计目的 (1)

1.2课程设计内容 (2)

1.3设计思想.....................................................................2 1.4设计流程图..................................................................3 2系统设计........................................................................3 2.1系统设计功能要求.........................................................3 2.1.1 m ain函数..................................................................4 2.1.2 get函数..................................................................4 2.1.3 game函数..................................................................5 2.1.4 menu函数..................................................................7 2.2调试与运行..................................................................8 3致谢..............................................................................10 4总结..............................................................................10 5 参考文献 (10)

猜数字游戏

1 设计目的与内容要求

1.1设计目的

本课程设计是电子信息工程专业重要的实践性环节之一,是在学生学习完《C 程序设计》课程后进行的一次全面的综合联系。数据结构是介于数学、计算机软件和计算机硬件之间的一门计算机专业的核心课程,它是计算机程序设计、数据库、操作系统、编译原理及人工智能等的重要基础,广泛的应用于信息学、系统工程等各种领域。

C语言课程设计是为数据结构课程独立开设的实践性教学环节。C语言课程设计对于巩固数据结构知识,加强学生的实际动手能力和提高学生综合素质是十分必要的。本课程设计的目的和任务:

(1).巩固和加深学生对C语言课程的基本只是的理解和掌握;

(2).掌握C语言编程和程序调试的基本技能;

(3).利用C语言进行基本的软件设计

(4).掌握书写程序设计说明文档的能力;

(5).提高运用C语言解决实际问题的能力;

(6).要求学生达到熟练掌握C语言的基本知识和技能。

(7).了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力。

(8).提高程序设计和调试能力。学生通过上机实习,验证自己设计的算法的正确性。学会有效利用基本调试方法,迅速找出程序代码中的错误并且修改。

(9).培养算法分析能力。分析所设计算法的时间复杂度和空间复杂度,进一步提高程序设计水平。

(10).初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能。

1.2 课程设计内容

题目要求我们编写一个猜数字游戏,并具有一定的容错功能,界面要友好,功能要齐全,且满足下面规则:

(1)一个四位数,各位数上字不重复,从1到9.

(2)按以下提示猜出这四位数。

(3)每次猜测输入的数据给出类似的提示*A*B。

(4)其中A前的*代表你本次猜对了多少个数字。 (5)其中B前的*代表你本次猜对的数字并且位置正确的个数。

1.3 设计思想

四位随机数的产生

如何确定产生的四位随

机数中各位数的不同

如何判断输入的四位数

各位不同、及确定

随机数与游戏中输入数

的对比

能进行多次输入四位数

能输入正确的数(即本

次游戏的随机数)

1.4 设计流程图

开始

随机数的确定

使用数组代替四位是数的个位

判断随机数的个

位是否相同

输入猜的四位数

判断输入数的各

位数是否相同

是否

计算随机数与所猜

数是否一样

显示的XAXB

是否为4A4B

结束

2系统设计

2.1系统设计功能要求

题目要求我们编写一个猜数字游戏,并具有一定的容错功能,界面要友好,功能要齐全。

还应该有两个人的重点设计模块,所以运用了调用函数及递归调用,是其运行起来客观,浏览程序方便易懂。

2.2 main函数

void main()

{

menu();

game(get());

}

2.3 get函数

在设计get函数时,认真阅读题目要求,通过从网上找资料查询到随机数的产生规则,并通过题目设计思想与之符合而改良。使系统产生的随机数是4位数,

用if语句判断使各位的数都不相同。最后定义数组使产生的随机数存储在数组

a[ ]里面,为后面的判断做铺垫。

下面是该模块的一些程序代码:

(1) 系统产生随机数及判断:

srand( (unsigned)time(NULL) ); //随机数种子设置

while(i==0)

{

i=rand(); //这增加随机性

i=i%100;

}

L:for(int j=0;j

{

m=m+rand(); //判断随机数是否是四位数如果不是继续取数

}

if(m>9999||m<1000)goto L; (2) 定义数组并判断:

a[0]=m/1000;

a[1]=(m%1000)/100;

a[2]=(m%100)/10;

a[3]=m%10;

if((a[0]==a[1])||(a[1]==a[2])||(a[2]==a[3])||(a[3]==a[0])||(a[0]==a[ 2])||(a[0]==

a[3])||(a[1]==a[3])) 2.4 game函数

void game(int m)

{

int A=0;

int B=0;

int n;

int a[4];

int b[4];

a[0]=m/1000;

a[1]=(m%1000)/100;

a[2]=(m%100)/10;

a[3]=m%10;

printf("想知道游戏规则请输入2.\n");

while(A!=4||B!=4)

{

A=0;

B=0;

printf("请输入你猜出的这个四位不同数~\n");

printf("想知道答案请输入3.\n");

T:scanf("%d",&n);

if(n==3)

printf("正确的数:%d\n\n",m);

else if(n==2)

{

printf(" \n\n");

printf("********\n游戏规则:\n编写一个猜数字游戏,有一定的容错

功能,界面友好,功能齐全\n\n1一个四位数,各位数上字不重复,从1 到9\n2按以下提示猜出这四位数\n3每次猜测输入的数据给出类似的提

示*A*B\n4其中A前的*代表你本次猜对了多少个数字\n5其中B前的*

代表你本次猜对的数字并且位置正确的个数.\n\n\n");

}

if(n>9999||n<1000)

{

printf("输入错误,请重新输入四位不同数~\n");

printf("想知道答案请输入3~\n\n\n");

goto T;

}

b[0]=n/1000;

b[1]=(n%1000)/100;

b[2]=(n%100)/10;

b[3]=n%10;

if((b[0]==b[1])||(b[1]==b[2])||(b[2]==b[3])||(b[3]==b[0])||(b[0]==b[ 2])||(b[0]

==b[3])||(b[1]==b[3]))

{

printf("输入错误,请重新输入四位不同数~想知道答案请输入

3.\n\n");

goto T;

}

for(int c=0;c<4;c++)

{

for(int d=0;d<4;d++)

if(a[c]==b[d])

{

A+=1;

if(c==d)

B+=1;

}

}

printf("%dA%dB\n\n\n",A,B);

}

printf("恭喜你答对了!!!\n");

}

2.5 menu函数

该模块主要是设计该程序的界面及其功能的延伸。该界面分成两个,第一个时进入游戏界面的前言,通过延时、清屏控制语句控制第一界面与第二界面的有效转换;第二个界面为游戏的查询、运行、判断等个功能与一体的良好界面。该缺陷是在设计第4个选项时,不能有效控制函数的退出。 (1) 第一界面: void menu()

{

printf("\n");

printf("********欢迎来到猜数字游戏*******\n");

printf("**********祝你玩得开心***********\n");

printf("******制作者:彭江发,谭天琪******\n"); (2) 延时及清屏的使用: system("pause");

system("cls");

(3) 第二界面:

printf("**游*戏*界*面**\n");

printf("* 1-开始游戏*\n");

printf("*2-游戏规则*\n");

printf("*3-查询答案*\n");

printf("*4-游戏结束*\n");

(4) 选项的输入及转换:

while(flag)

{

scanf("%d",&t);

if(t==1)

game(get());

}

2.5 调试与运行

2.5.1 初始界面(第一界面)

图一

2.5.2 游戏界面(第二界面)

图二

2.5.3 了解游戏规则

图三 2.5.5 猜数字过程

图四 2.5.5 游戏结束

图五

3. 致谢

在大一的期末两周的时间里,学校让我们到实验楼进行C语言上级实验。感谢学校给了我们这一次珍贵的培训机会,在这次的培训当中,老师们的辛勤付出让我们感到了丝丝温暖,非常感谢学校及老师的辛勤教诲。

4. 总结

通过为期一周的C课程设计实验课使我了解到了一个程序开发的过程,虽然规模不大,但为我以后的编程学习打下了基础。在编程的过程中,我体会到了学习编程的辛苦,为了一个算法的实现而思考,为了一个小小的编译错误而花时间去寻找,这需要很大的毅力和耐心,而且要有良好的思维,这才使得我完成这个任务,也使我感到一分喜悦,毕竟自己完成了一个有模有样的程序。于此,我也发现自己

的一些不足,良好的编程习惯的养成,坚定的毅力和耐心仍是我要加强的,同别人的交流也是必须的,这样才能不断使我进步。

5. 参考文献

[1]《数据结构(C语言版)》,严蔚敏,吴伟民编著,清华大学出版社,2002

年8月;

[2]《C语言程序设计教程》,杨路明,郭浩志,北京邮电大学出版社,2005

年6月;

[3]《C程序设计(第三版)》,谭浩强,清华大学出版社,2005年2月; [4]《数据结构实用教程》,徐孝凯,清华大学出版社,2006年8月; [5]《数据结构题集》,严蔚敏,清华大学出版社,2005年; [6]《数据结构》(C语言版),刘大有,高等教育出版社,2004年; [7]《C语言程序设计案例教程》(第2版),廖湖声等,人民邮电出版社,2005年;

附录 #include

#include

#include

int flag=1;

int get()

{

int m=0;

int i=0;

int a[4];

srand( (unsigned)time(NULL) ); //随机数种子设置

while(i==0)

{

i=rand(); //这增加随机性

i=i%100;

}

L:for(int j=0;j

{

m=m+rand(); //判断随机数是否是四位数如果不是继续取数

}

if(m>9999||m<1000)goto L;

a[0]=m/1000;

a[1]=(m%1000)/100;

a[2]=(m%100)/10;

a[3]=m%10;

if((a[0]==a[1])||(a[1]==a[2])||(a[2]==a[3])||(a[3]==a[0]) ||(a[0]==a[2])||(a[0]==a[3])||(a[1]==a[3]))goto L;

return m;

}

void game(int m)

{

int A=0;

int B=0;

int n;

int a[4];

int b[4];

a[0]=m/1000;

a[1]=(m%1000)/100;

a[2]=(m%100)/10;

a[3]=m%10;

printf("想知道游戏规则请输入2.\n");

while(A!=4||B!=4)

{

A=0;

B=0;

printf("请输入你猜出的这个四位不同数~\n");

printf("想知道答案请输入3.\n");

T:scanf("%d",&n);

if(n==3)

printf("正确的数:%d\n\n",m);

else if(n==2)

{

printf(" \n\n");

printf("********\n游戏规则:\n编写一个猜数字游戏,有一定的容错功能,界面友好,功能齐全\n\n1一个四位数,各位数上字不重复,从1 到9\n2按以下提示猜出这四位数\n3每次猜测输入的数据给出类似的提示*A*B\n4其中A前的*代表你本次猜对了多少个数字\n5其中B前的* 代表你本次猜对的数字并且位置正确的个数.\n\n\n");

}

if(n>9999||n<1000)

{

printf("输入错误,请重新输入四位不同数~\n");

printf("想知道答案请输入3~\n\n\n");

goto T;

}

b[0]=n/1000;

b[1]=(n%1000)/100;

b[2]=(n%100)/10;

b[3]=n%10;

if((b[0]==b[1])||(b[1]==b[2])||(b[2]==b[3])||(b[3]==b[0])||(b[0]==b[ 2])||(b[0]

==b[3])||(b[1]==b[3]))

{

printf("输入错误,请重新输入四位不同数~想知道答案请输入

3.\n\n");

goto T;

}

for(int c=0;c<4;c++)

{

for(int d=0;d<4;d++)

if(a[c]==b[d])

{

A+=1;

if(c==d)

B+=1;

}

}

printf("%dA%dB\n\n\n",A,B);

}

printf("恭喜你答对了!!!\n");

}

void menu()

{

int t;

printf("\n");

printf(" ");

printf("*********************************\n"); printf(" ");

printf("********欢迎来到猜数字游戏*******\n"); printf(" \n\n");

printf(" ");

printf("**********祝你玩得开心***********\n"); printf(" \n\n");

printf(" ");

printf("******制作者:彭江发,谭天琪******\n"); printf(" ");

printf("*********************************\n"); printf(" \n\n");

system("pause");

system("cls");

printf("*********************************************************** ********************\n");

printf("**********************************游*戏*界*面

**********************************\n");

printf("*********************************************************** ********************\n\n\n");

printf(" ");

printf("* 1-开始游戏 *\n");

printf(" ");

printf("* 2-游戏规则 *\n");

printf(" ");

printf("* 3-查询答案 *\n");

printf(" ");

printf("* 4-游戏结束 *\n");

printf(" ");

printf("\n");

while(flag)

{

scanf("%d",&t);

if(t==1)

game(get());

}

}

void main() {

menu(); game(get()); }

猜数字小游戏JAVA程序报告

JAVA程序设计报告 ——猜数字小游戏 目录 一、猜数字小游戏简介 (4) 二、用户需求分析 (4) 三、问题描述 (4) 1.课程设计的任务 2.课程设计的要求 四、模块设计 (5) 1.课程设计的要求 2.功能模块设计 3.流程图 五、功能设计 (7) 1 . 随机数的产生模块 2 . 输入判断模块 3 . 记录猜测次数模块 4.计时模块 5.输入输出模块 6.成绩判断模块 六、异常处理 (9) 七、调试分析 (10) 八、不足之处 (11) 九、总结 (12) 十、程序附页 (13) 摘要 猜数字是一款非常经典的脑力游戏,游戏规则简单,是消磨时间、锻炼脑力的好选择。通过选择猜数字游戏这个题目,可以让我掌握Java中的包和类,并且可以灵活的使用my eclipse软件。同时更加深入的了解字符界面的编程过程。使我更熟练的掌握Java程序框架

的搭建和类的创建格式。在分析阶段,要进行面向对象的需求分析、系统设计、画出相应的需求分析图、系统设计模型图,这些工作更能锻炼我的逻辑思维,更能培养我思考的全面性。让我学会了多角度思考问题,对我以后的编程奠定了更好的基础。 一、猜数字小游戏简介 系统随机产生任意一个1—100的自然数,玩家输入数字,若输入的数 字比随机生成数小,系统将提示,数字太小请您重新输入;如果输入的数字 比随机生成数大,系统将提示,数字太大请您重新输入;若输入的字符不是 合法字符,系统将提示,您输入的数字不合法,请从新输入,游戏开始时, 系统自动记录您猜数字的时间和次数,结束后显示游戏共花费的次数和时间 及对游戏结果的评价。 二、用户需求分析 设计一个猜数字游戏程序,要求具体如下特性: a.输入任意一个数字。数字的要求是1—100的自然数即可。 b.系统对您输入的数字进行判断。 如果玩家输入的数字与计算机随机生成数相比较,输入的数字比随机生 成数小.系统将提示您,数字太小请您重新输入。 如果玩家输入的数字与计算机随机生成数相比较,如果输入的数字比随 机生成数大。系统将提示您,数字太大请您重新输入。 如果玩家输入的字符不是合法字符,系统将提示您,您输入的数字不合法,请从新输入。 c. 游戏开始时,系统自动记录您猜数字的时间,结束后显示游戏共花费 的时间。 d. 每猜测一次,系统会记录下来,游戏结束后,显示共猜测多少次。 e. 在游戏结束时,可以选择关闭游戏,或者再来一局 f. 游戏结束前可选择直接显示答案 三、问题描述 1.课程设计的任务: 根据所选题目,完成课程设计的分析、设计和编码,写出课程设计报告。 (1)掌握Java的语言规范,面向对象的核心概念和特性;

猜数字游戏的VB代码

猜数字游戏的VB代码 本猜数字游戏的方法及规则: 系统自动生成一个四位数(四个数字没有重复),玩者需要猜中这个数字。玩者在四个文本框内输入四个数字,按“ENTER”后,如果猜对,则文本框变绿,本轮结束,按“CLEAR”进入下一轮。如果不对,则会在下面显示“xAxB”,其中“xA”表示有四个数字中有多少个数字是数字和所在位置都猜对的,“xB”表示有多少个数字猜对但是所在位置不对。比如,答案是“1234”,玩者猜“5432”,则显示“1A2B”,因为“3”猜对且位置也对,“4”猜对但位置不对,“2”猜对但位置不对。如果玩者猜“1324”,则显示“2A2B”;如果玩者猜“4567”,则显示“0A1B”;如果玩者猜“4256”,则显示“1A1B”,原因自己推。(四位数也可能是零开头。)最多猜错十次,如十次没有猜对,则游戏失败,本轮结束,按“CLEAR”进入下一轮。按“QUIT”可查看答案,同时本轮结束。各控件在界面上的布局如下:

Option Explicit Private Sub Command1_Click() '此为“确认”按钮。 If Form1.ForeColor <> vbMagenta Then If Command2.Enabled = False Then Dim keydig(1 To 4) As Integer, ansdig(1 To 4) As Integer Dim n, m, cnt_A, cnt_B As Integer, isappliable As Boolean Static count, keynum As Integer 'command按钮事件执行终,必须使变量count仍然残留。 Do If count = 0 Then '“count”变量计算Command1_Click执行的次数,每执行一次增加1。 Randomize keynum = Int(Rnd * (9876 - 123 + 1)) + 123 '生成一个四位随机整数。 End If '3rd

猜数字游戏

2、猜数字游戏。游戏随机生成4个互不相同的1位数,接受用户输入,根据用户输入输出“mAnB”的结果。A表示数字和位置都正确,B表示数字正确,位置不正确。例如随机数为“1234”,用户输入为“1435”,显示“2A1B”。 #include #include #include #define N 4 #define NUM 8 void detect(char s[]) { int i,j,num; int a,b; char ch[N]; for(num=0;num='0'&&ch[i]<='9') { for(j=0;j

printf("You are right!\n"); break; } } if(num==NUM) printf("Sorry,the right answer is:%sd\n",s); } main() { int i,j; char s[N+1]; srand(time(0)); for(i=0;i

猜数字游戏代码C语言

猜数字游戏代码C语言 #include <stdio.h> #include <stdlib.h> #include <time.h> void fun() { static int gc,count,try_time; static int a[4],b[4],i,j,k=0,m=0,n=1,u,sumA=0,sumB=0,flag[10]={0}; srand(time(NULL)); count=4; try_time=10; for(i=0;i<count;i++) { int t; do { t=rand()%10; }while(i==0 && t==0);

if(flag[t]==0) { a[i]=t; flag[t]=1; } else i--; } printf("\n∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽\n"); printf("∽猜数游戏∽\n"); printf("∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽\n"); printf("∽1: 开始游戏∽\n"); printf("∽2: 查看上次成绩∽\n"); printf("∽3: 帮助信息∽\n");

printf("∽4: 系统设置∽\n"); printf("∽0: 退出游戏∽\n"); printf("∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽\n"); printf("请输入选择: "); scanf("%d",&n); if(n==0) { printf("\n\n感谢您的使用,游戏退出!\n"); exit(0); } if(n==2){ printf("\n\n上次的成绩为:%d\n",u); do { printf("输入0返回上级菜单:"); scanf("%d",&n); printf("输入错误!请重新输入!\n"); }while (n>0); {

C语言程序课程设计猜数字游戏

C语言程序设计课程设计 专业:自动化 班级: 姓名: 学号: 指导教师: 兰州交通大学自动化与电气工程学院 2015年07月21日

一.引言 1.1设计目的 复习和巩固C语言基础知识,进一步加深对C语言的理解和掌握。提高同学将课本上的理论知识和实际结合的能力,锻炼同学的分析解决实际问题的能力,提高同学团队合作的能力。使同学们善于观察和思考,善于合作,具备实践编程的基础素质,和实际问题分析的思考方式。 1.2设计要求 在设计时充分地分析和理解问题本身,综合考虑系统功能,怎样使系统结构清晰、合理、简单和易于调试。然后详细设计,确定每个过程和函数的简单功能,以及过程(或函数)之间的调用关系。最后认真完成课程设计说明书,并对设计方法,结果等进行总结。 充分地分析和理解问题本身,弄清要求做什么(What to do?)。在确定解决方案框架过程中(How to do?),综合考虑系统功能,考虑怎样使系统结构清晰、合理、简单和易于调试。最后确定每个过程和函数的简单功能,以及过程(或函数)之间的调用关系。 确定算法的主要流程,在此基础上进行代码设计(Coding),每个明确的功能模块程序一般不超过60行,否则要进一步划分。 上机前程序静态检查可有效提高调试效率,减少上机调试程序时的无谓错误。静态检查主要有两种途径:(1)用一组测试数据手工执行程序;(2)通过阅读或给别人讲解自己的程序而深入全面地理解程序逻辑。 二.基础题 2.1题目 用选择法对10个数进行排序。 有一个已排好序的数组。现输入一个数,要求按原来的规律插入到原数组中。 2.2解题思路 程序的主要功能是对数组元素用排序函数按从小到大的顺序进行排序。 先定义一个10个元素的一维数组a[10],然后从电脑输入10个数(也就是对数组赋值),然后使用一次fun()函数,对这10个数进行排序;然后再定义一个11个元素的一维数组b[11],同时再从电脑输入一个数同a[10]一起赋值给b[11],然后再使用fun()函数,重新排序的到最后的有顺序的一组数据。 2.3流程图 子函数流程图如图1所示:

猜数字游戏课程设计完整版

北京邮电大学世纪学院 实验、实习、课程设计报告撰写格式与要求 (试行) 一、实验报告格式要求 1、有实验教学手册,按手册要求填写,若无则采用统一实验报告封面。 2、报告一律用钢笔书写或打印,打印要求用A4纸;页边距要求如下:页边距上下各为厘米,左右边距各为厘米;行间距取固定值(设置值为20磅);字符间距为默认值(缩放100%,间距:标准)。 3、统一采用国家标准所规定的单位与符号,要求文字书写工整,不得潦草;作图规范,不得随手勾画。 4、实验报告中的实验原始记录,须经实验指导教师签字或登记。 二、实习报告、课程设计报告格式要求 1、采用统一的封面。 2、根据教学大纲的要求手写或打印,手写一律用钢笔书写,统一采用国家标准所规定的单位与符号,要求文字书写工整,不得潦草;作图规范,不得随手勾画。打印要求用A4纸;页边距要求如下:页边距上下各为厘米,左右边距各为厘米;行间距取固定值(设置值为20磅);字符间距为默认值(缩放100%,间距:标准)。

三、报告内容要求 1、实验报告内容包括:实验目的、实验原理、实验仪器设备、实验操作过程、原始数据、实验结果分析、实验心得等方面内容。 2、实习报告内容包括:实习题目、实习任务与要求、实习具体实施情况(附上图表、原始数据等)、实习个人总结等内容。 3、课程设计报告或说明书内容包括:课程设计任务与要求、总体方案、方案设计与分析、所需仪器设备与元器件、设计实现与调试、收获体会、参考资料等方面内容。 四、课内实践课报告撰写要求 1、大型作业类的按课程设计要求撰写; 2、带实习性质的按实习要求撰写; 3、其余的按实验要求撰写。 五、其它 由于存档的需要,所有报告必须双面打印,请教师做好把关工作。 北京邮电大学世纪学院

猜数字游戏程序设计

课程设计任务书 学生姓名:专业班级:自动化1004班 指导教师:工作单位:自动化学院 题目:猜数字游戏程序设计 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) 1.猜数字游戏程序设计随机产生一个0至149的数字(不显示),输入猜测数字,程序提示和所猜数字大小,直至正确,猜数正确后显示猜数的次数,程序采用汇编语言在PC机上完成。 2.画出简要程序流程图,编写程序。 3.撰写课程设计说明书。内容包括:摘要、目录、正文、参考文献、附录(程序清单)。正文部分包括:设计任务及要求、方案比较及论证、软件设计说明(软件思想,流程,源程序设计及说明等)、程序调试说明和结果分析、课程设计收获及心得体会。 时间安排: 2012年12月30日----- 12月31日查阅资料及方案设计 2013年01月01日----- 01月05日编程 2013年01月06 日----- 01月08日调试程序 2013年01月09 日----- 01月10日撰写课程设计报告 指导教师签名:20 年01 月11 日 系主任(或责任教师)签名:年月日

目录 摘要 (1) 1 汇编语言基础 (2) 1.1汇编语言简介 (2) 1.2汇编语言特点 (2) 2 设计原理分析 (3) 2.1随机数的产生 (3) 2.2子模块 (3) 2.3设计流程图 (4) 3 子程序分析 (5) 3.1RAN的主要算法 (5) 3.2INPUT的主要算法 (5) 3.3ENTER的主要算法 (6) 4源程序 (7) 4.1程序代码 (7) 4.2程序运行截图 (13) 心得体会 (15) 参考文献 (16)

设计一个“猜数字”的游戏

《猜数字小游戏》教学设计 深圳市宝安区文汇中学:刘高强 一、课前系统部分: (一)教材分析 《猜数字小游戏》这一节内容是2009年深圳市电化教育馆编著的中小学信息技术初中版九年级下册第二单元第五个知识点的内容。本节课的主要知识点是掌握程序的分支结构,VB中常用的选择语句有两个:if语句和select case语句。要想编写这样的程序,需要用到这两种选择语句。这为后面的较难的程序的编写打下基础。 (二)学情分析 本节课的教学对象是初三学生,通过前几节课的学习,学生已经基本熟悉了VB编程环境,基本掌握了设计程序界面的操作方法。对于初三的学生来说,正是想象力丰富、朝气蓬勃的年纪,必定对本节课的内容充满兴趣,只要教师把握得当,一定能激发学生的学习热情,达到最好的教学效果。 (三)教学目标设计 1、知识与技能: (1)了解选择结构中的if语句的用法。 (2)窗体、文本框控件、按钮控件及标签控件属性的理解 2、方法与过程 (1)利用设计一个猜数字的游戏使学生了解分支结构程序的编写方法。 (2)利用设计一个猜数字的游戏加深学生对控件属性的的理解。 3、情感态度与价值观 培养学生严谨、一丝不苟的学习习惯。并在同学间的交流合作中,培养互助协作的能力和独立解决问题的能力。同时,也可以培养和提高学生的创新意识。 4、教学重点与难点 教学重点:分支结构语句的理解 教学难点:分支结构语句的理解 (四)教学方法 任务驱动法、自然分材法、多媒体课件教学 二、教学过程: (一)操作样例,进入本节主题 [学生]操作猜数小游戏,思考程序的做法。 [教师]提出问题,让学生利VB来设计该小游戏 (二)设计程序界面 1、打开visualbasic程序。 2、修改窗体的form1的属性。 (1)修改form1的caption的属性为“猜数字游戏——设计者:你自己的名字” 注意:修改窗体form1的属性,一定是先要选中窗体。 如下图:

C语言程序课程设计猜数字游戏

C语言程序设计课程设计 : 自 动 化 级 : 名: 学号: 指导教师: 兰州交通大学自动化与电气工程学院 2015年07月21日

一.引言 设计目的 复习和巩固C语言基础知识,进一步加深对C语言的理解和掌握。提高同学将课本上的理论知识和实际结合的能力,锻炼同学的分析解决实际问题的能力,提高同学团队合作的能力。使同学们善于观察和思考,善于合作,具备实践编程的基础素质,和实际问题分析的思考方式。 设计要求 在设计时充分地分析和理解问题本身,综合考虑系统功能,怎样使系统结构清晰、合理、简单和易于调试。然后详细设计,确定每个过程和函数的简单功能,以及过程(或函数)之间的调用关系。最后认真完成课程设计说明书,并对设计方法,结果等进行总结。 充分地分析和理解问题本身,弄清要求做什么(What to do)。在确定解决方案框架过程中(How to do),综合考虑系统功能,考虑怎样使系统结构清晰、合理、简单和易于调试。最后确定每个过程和函数的简单功能,以及过程(或函数)之间的调用关系。 确定算法的主要流程,在此基础上进行代码设计(Coding),每个明确的功能模块程序一般不超过60行,否则要进一步划分。 上机前程序静态检查可有效提高调试效率,减少上机调试程序时的无谓错误。静态检查主要有两种途径:(1)用一组测试数据手工执行程序;(2)通过阅读或给别人讲解自己的程序而深入全面地理解程序逻辑。 二.基础题 题目 用选择法对10个数进行排序。 有一个已排好序的数组。现输入一个数,要求按原来的规律插入到原数组中。解题思路 程序的主要功能是对数组元素用排序函数按从小到大的顺序进行排序。 先定义一个10个元素的一维数组a[10],然后从电脑输入10个数(也就是对数组赋值),然后使用一次fun()函数,对这10个数进行排序;然后再定义一个11个元素的一维数组b[11],同时再从电脑输入一个数同a[10]一起赋值给b[11],然后再使用fun()函数,重新排序的到最后的有顺序的一组数据。 流程图 子函数流程图如图1所示:

猜数字小游戏算是一个比较经典的智力游戏

猜数字小游戏算是一个比较经典的智力游戏,当然这个游戏做起来比较简单,写这个程序的目的主要是为了说明如何编写一个游戏,这里有一个通用游戏编成模板,万变不离其踪,绝大多数游戏都逃脱不了这个格式: #include........ #define........ void main() {inta,b,c; a=1; b=2; c=3; //设置初始值 while(a!='q') //循环直到退出游戏标志出现 {printf("%d",c); //相当于重画屏 a=getch(); //相应输入设备 c=a*b; //相当于重新运算变量值算法 } } 牢记这个模板格式,以后你所要做的事就是用具体的游戏代码代替模板中的相应部分。祝你好运! #include 《conio.h》 #include 《stdio.h》 #include 《stdlib.h》 #include 《time.h》 #include 《math.h》 #define RED 4 #define GREEN 2 #define YELLOW 62 #define WHITE 63 main() { int a=0,b,i,j,k1,k,n,times=0,guess[4],answer[4];char Q; clrscr(); textcolor(RED); for(i=1;i《=21;i++) cprintf("\03");printf("\n"); /*做一个开头小图形*/ cprintf("\03"); textcolor(WHITE); cprintf(" GUESS NUMBER GAME "); textcolor(RED); cprintf("\03\r\n"); for(i=1;i《=21;i++) cprintf("\03");printf("\n"); textcolor(GREEN); cprintf("%10c\r\n",'\01'); textcolor(YELLOW); cprintf("Times "); textcolor(GREEN);

猜数字游戏C++代码

#include #include #include #include #include #include"windows.h" void main() {using namespace std; int a[4],b[4];int i,j;char chong='Y';int d; while(chong=='Y'||chong=='y'){//确保可以无数次游戏直到不选“Y”退出system("cls"); cout<<"猜数字游戏(输入-1中途退出)"<0;j--){//游戏只有10次机会 if(ca==4){ cout<<"恭喜你获胜了"<>a[i];//初始化输入四个数 if(a[i]==-1) exit(1); } while(a[0]<0||a[0]>9){ cout<<"第一个数输入有误,请重新输入"<

猜数小游戏

利用C++编写的猜数小游戏。可做课程设计。程序效果:

程序代码: #include #include #include class Game{ char name[20]; //储存游戏者的姓名 int total; //记录游戏者得的总分数 int level; //储存游戏者所选的数字范围 int rule; //储存游戏者所选的游戏规则 int num [6]; //记录游戏者输入的赌球数字 int cp_num[6]; //储存电脑所产生的随机数 int truematch[6]; //记录每个数字得的分数 int money; //存储游戏者钱数 int bet; //存储下注钱数 char range; //记录游戏规则 char Rank; //存储游戏难易等级 static int play; //记录游戏者当前所在的局数,即总共玩的局数static int score; //记录游戏者赢的局数 char choise; //储存游戏者输入的字符y或n public : //设置游戏提示信息 void _show( ) { system ("color 47"); printf ("\t\t\t---------------------------\n"); printf ("\t\t\t欢迎来到福彩中心! 祝您好运!\n");

printf ("\t\t\t---------------------------\n"); printf ("\n游戏说明:\n"); printf ("1.球号对的数目大于选定的等级的球数要求(2|4|6)为赢;\n"); printf ("2.赢了时,按照难度[e-2|h-4]*正确球数*押金计算赢的金币;\n"); printf ("3.输了时,按照难度[e-1|h-1]*等级球数[a-2|b-4|c-6]*押金计算输的金币.\n"); system ("pause"); } void gameboy1( )//初始化姓名和金币数 { system ("cls"); cout<<"请输入您的姓名【1到20个字符或字母】: "; cin.getline (name,20); //输入游戏者姓名 for (;;) { cout<<"输入您拥有的金币[>=100]:"; cin>>money; if (money>=100) break; } } void menu( ) { //储存所选的游戏规则 cout<<"a:当输入的6个数字中至少有2个匹配时游戏者赢!"<>range; if (range=='a'||range=='b'||range=='c') break; } //根据输入的数字来确定游戏规则 switch(range) { case 'a': rule=2;break; case 'b': rule=4;break; case 'c': rule=6; } } //选择游戏的难易程度 void _level( ) { //记录输入的字符

java猜数字游戏源代码

import java.awt.Color; import java.awt.Container; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.Box; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JTextField; class WindowButton extends JFrame implements ActionListener{ /** * */ private static final long serialVersionUID = 1L; int number; JTextField inputNumber; JLabel feedBack; JButton buttonGetNumber,buttonEnter; WindowButton(String s){ super("猜数字小游戏"); buttonGetNumber=new JButton("得到一个随机数"); feedBack=new JLabel("无反馈信息",JLabel.CENTER); feedBack.setBackground(Color.green); inputNumber=new JTextField("0",5); buttonEnter=new JButton("确定"); buttonEnter.addActionListener(this); buttonGetNumber.addActionListener(this); buttonGetNumber.addActionListener(this); Box boxH1=Box.createHorizontalBox(); boxH1.add(new JLabel("获取1-100之间的随机数:")); boxH1.add(buttonGetNumber); Box boxH2=Box.createHorizontalBox(); boxH2.add(new JLabel("输入您的猜测: ")); boxH2.add(inputNumber); Box boxH3=Box.createHorizontalBox(); boxH3.add(new JLabel("单击确定按钮: ")); boxH3.add(buttonEnter); Box boxH4=Box.createHorizontalBox();

猜数字游戏的分析与实现

课程设计名称:猜数字游戏的分析与实现 目录

一游戏说明 二总体设计 三程序代码 四运行结果 五附录文档 一游戏说明 1使用说明 (1)开始功能键选择 1:开始游戏 2:查看排行榜 3:查看帮助 4:清除排行榜 5 :等级设定 (2)系统将提交的数与它自动产生的数进行比较,输出结果“*A*B”形式。其中A代表数字正确相应位置也正确,B代表数字正确但位置不正确。如:1A3B表示游戏者有1个数字的位置正确且数值也正确,除此以外,游戏者还猜对了3个数字,但位置不对,即游戏者已经猜出4位数据,但有3个数据位置不对

2程序说明书 (1)程序的功能说明:猜数字游戏是一个运行在Windows平台下的小型游戏软件,依据猜数字游戏的基本规则,给用户进行成绩排行,并可以随着玩家的游戏记录进行更新。游戏用户可以选择开始游、排行榜查看、帮助等主要功能。当用户选择开始游戏时,系统会让用户逐次猜数字,用户每次猜数字后系统会给出本次猜数字的结果提示,如位置和数字都正确的数字个数、数字正确但位置不正确的数字个数。如果用户猜数字的次数超过10次,则提示用户游戏失败,如果在10次之内猜出4个数字和正确的顺序,则提示用户猜数字成功,并到排行榜中进行比较,如果排名在前一名,则计入排行榜中,以便其他用户查看。在排行榜查看功能中,用户可以查看当前的游戏排行,如有新的记录产生,则插入到排行榜中,并把排行榜中位次最末的记录挤出排行榜。在帮助模块,用户可以查看游戏规则,当熟悉规则后可以退出帮助模块。 (2)程序的设计说明:排行榜中存放玩家信息和成绩,排行榜对应record文件。如删除该文件,则调用系统后,会初始化排行榜,重新建立该文件,并设置初始的玩家姓名和游戏记录。 3 软件可以实现的基本功能 (1)游戏区:玩家可以在游戏区逐次猜数字,系统给出玩家每次猜数字后的提示,包括数值、位置均正确的数字个数和数值正确但位置不正确的数字个数。 (2)刷新排行榜:当玩家成功完成一轮猜数字游戏后,可通过和排行榜中相应记录的比较判断玩家是否可以进入排行榜,进入排行榜的资格游戏成绩在前五名的玩家。 (3)查看排行榜:玩家可以查看当前排行榜中的排名顺序,从而确定自己的游戏目标。排行榜的查看按一定顺序显示给用户,便于查看。 (4)清除排行榜:玩家可以选择清除排行榜功能,使得排行榜上的玩家姓名和玩家游戏记录从系统中清除,只留下系统默认的玩家名(player)和系统默认记录10次。 (5)帮助:玩家通过帮助功能了解游戏规则和排行榜设置规则。 4模块设计说明 (1).游戏区模块 该模块为玩家提供猜数字游戏的主体功能,由系统自动产生4个随机排列的整数,并给用户10次机会猜测数字的数值和排列顺序。如果用户在10次之内没有猜出正确的结果,则提示用户游戏失败,否则提示用户猜数字成功,并调用产生新记录模块对玩家游戏成绩进行处理。流程图如下:

猜数字游戏课程设计报告

XXXX学校 《C程序设计》 课程设计报告 设计题目:猜数字游戏 附录完整源代码 专业: 班级: 学生: 学号: 指导教师: 起止时间: xxx.x.x -xxx.x.x xxxx-xxxx年 xx 学期

目录 1 、程序设计描述 1.1 程序设计目的: 1.2 程序设计要求: 1.3、猜数字游戏的简介: 2 、程序设计内容: 2.1、游戏主要框架图: 2.2、开始游戏框架: 2.3、最佳排行框架: 2.4、游戏操作说明模块: 2.5、退出游戏系统: 2.6、游戏系统总流程图: 3、猜数字游戏源代码: 3.1、void main()函数函数功能: 3.2、void game();//双人游戏 void pgame();//单人游戏 3.4、排行榜模块函数功能: 3.5、继续游戏模块函数功能: 3.6、操作说明模块函数功能: 4、调试与测试: 4.1、调试方法 4.2、测试结果的分析与讨论 4.3、测试过程中遇到的主要问题及采取的解决措施 5、程序具体说明书: 6、程序设计心得: 7、参考文献

1 、程序设计描述 1.1 程序设计目的: 综合使用所学过的C语言程序设计知识,掌握结构化程序设计的基本思路和方法,利用所学的基本知识和技能,发挥自学能力和查找资料的能力,解决稍微复杂的结构化程序设计问题,加深对所学知识的理解与掌握,增强学生利用自己所学知识解决实际问题的能力,为以后的程序开发打下基础。 1.2 程序设计要求: 1、巩固和加强《C语言程序设计》课程的理论知识。 2、掌握C语言的基本概念、语法、语义和数据类型的使用特点。 3、掌握C语言程序设计的方法及编程技巧,能正确使用C语言编写程序。 4、进一步理解和运用结构化程设计的思想和方法;学会利用流程图。 5、掌握调试程序的基本方法及上机操作方法。 6、掌握书写程设计开发文档的能力,学会撰写课程设计总结报告。课程设计的思想和方法还可以作为做毕业论文时的参考资料。 7、通过查阅手册和文献资料,培养独立分析问题和解决问题的能力。为做毕业设计打好基础。 8、培养自己的创新能力和创新思维。可以根据指导书和相关文献上的参考算法,自己设计出相应的应用程序。 9、培养自己良好的程序设计风格。在实际编程中,为了提高编程质量,对空行、空格和注释均有要求。在课程设计书写代码时,应该严格按要求处理,以便建立良好的程序设计风格。 1.3、猜数字游戏的简介: 猜数字游戏(又称 Bulls and Cows )是一种大概于20世纪中期兴起于的益智类小游戏。一般由两个人玩,也可以由一个人和电脑玩,在纸上、在网上都可以玩。这种游戏规则简单,但可以考验人的严谨和耐心。 2 、程序设计内容: 2.1、游戏主要框架图: 该模块为玩家提供猜数字游戏的主体功能,即开始游戏、继续游戏、最佳排行、操作说明、退出游戏。给用户一个清晰明了的操作界面!流程图如下:

猜数字游戏课程设计报告

学校 《C程序设计》 课程设计报告 设计题目:猜数字游戏 附录完整源代码 专业: 班级: 学生: 学号: 指导教师: 起止时间: xxx.x.x -xxx.x.x xxxx-xxxx年 xx 学期

录 1 、程序设计描述 1.1 程序设计目的: 1.2 程序设计要求: 1.3、猜数字游戏的简介: 2 、程序设计内容: 2.1、游戏主要框架图: 2.2、开始游戏框架: 2.3、最佳排行框架: 2.4、游戏操作说明模块: 2.5、退出游戏系统: 2.6、游戏系统总流程图: 3、猜数字游戏源代码: 3.1、void main()函数函数功能: 3.2、void game();//双人游戏 void pgame();//单人游戏 3.4、排行榜模块函数功能: 3.5、继续游戏模块函数功能: 3.6、操作说明模块函数功能: 4、调试与测试: 4.1、调试方法 4.2、测试结果的分析与讨论 4.3、测试过程中遇到的主要问题及采取的解决措施 5、程序具体说明书: 6、程序设计心得: 7、参考文献

、程序设计描述 1.1 程序设计目的: 综合使用所学过的C语言程序设计知识,掌握结构化程序设计的基本思路和方法,利用所学的基本知识和技能,发挥自学能力和查找资料的能力,解决稍微复杂的结构化程序设计问题,加深对所学知识的理解与掌握,增强学生利用自己所学知识解决实际问题的能力,为以后的程序开发打下基础。 1.2 程序设计要求: 1、巩固和加强《C语言程序设计》课程的理论知识。 2、掌握C语言的基本概念、语法、语义和数据类型的使用特点。 3、掌握C语言程序设计的方法及编程技巧,能正确使用C语言编写程序。 4、进一步理解和运用结构化程设计的思想和方法;学会利用流程图。 5、掌握调试程序的基本方法及上机操作方法。 6、掌握书写程设计开发文档的能力,学会撰写课程设计总结报告。课程设计的思想和方法还可以作为做毕业论文时的参考资料。 7、通过查阅手册和文献资料,培养独立分析问题和解决问题的能力。为做毕业设计打好基础。 8、培养自己的创新能力和创新思维。可以根据指导书和相关文献上的参考算法,自己设计出相应的应用程序。 9、培养自己良好的程序设计风格。在实际编程中,为了提高编程质量,对空行、空格和注释均有要求。在课程设计书写代码时,应该严格按要求处理,以便建立良好的程序设计风格。 1.3、猜数字游戏的简介: 猜数字游戏(又称 Bulls and Cows )是一种大概于20世纪中期兴起于英国的益智类小游戏。一般由两个人玩,也可以由一个人和电脑玩,在纸上、在网上都可以玩。这种游戏规则简单,但可以考验人的严谨和耐心。 2 、程序设计内容: 2.1、游戏主要框架图: 该模块为玩家提供猜数字游戏的主体功能,即开始游戏、继续游戏、最佳排行、操作说明、退出游戏。给用户一个清晰明了的操作界面!流程图如下:

C语言 猜数游戏 程序 课程设计

■课题:猜数游戏 ■要求:计算机产生随机数,猜中即胜,猜不中,提示是大了还是小了,继续猜,直至猜到。 界面要求:图形方式界面(使用C语言绘制界面)■软件环境:C-Free / VC++ 下面是整个完成之后的程序,我将分部做介绍: ①:首先是主程序,我调用了stdio.h,stdlib.h,time.h这三个程序来为下面的编程服务; #include #include #include void main() ②:定义一些最基本的变量,以及调用色彩,使界面变得更为丰富多样化。 { ③:将文件保存于上述的文件夹中,从中我学会了保存文件。 freopen("in.txt","r",stdin); system("color 9f"); int i,g,l,j=1; long t;

char y; while(1) { srand((unsigned)time(NULL)); t=time(NULL); ④:在完成这些最基本的工作后,接下来就是绘制界面的过程了。由于所学的只是有限,所以只能使用一些最基本的符号来绘制这个相对来说比较简单的界面了。 printf("\n"); printf(" |-----------------------------------|\n"); printf(" | ★☆欢迎进入猜数字游戏☆★|\n"); printf(" |-----------------------------------|\n"); printf(" |------ 有时间规定的-----|\n"); printf(" | 要努力加油哦|\n"); printf(" |-----------------------------------|\n"); printf(" | |\n"); printf(" |-----------------------------------|\n"); printf(" |-----------------------------------|\n"); printf("\n"); printf(" 这是一个猜数字游戏,由电脑随即产生一个数字.\n");

猜数字游戏C语言代码

#include #include #include void fun() { static int gc,count,try_time; static int a[4],b[4],i,j,k=0,m=0,n=1,u,sumA=0,sumB=0,flag[10]={0}; srand(time(NULL)); count=4; try_time=10; for(i=0;i

flag[t]=1; } else i--; SSSSS \n"); prin tf(" s 猜 数 游 戏 s \n"); printf(" ssssssssssssssssssssssss ssss \n" printf(" s 1: 开 始 游 戏 s \n"); printf(" s 2: 查 看 上次 成 绩 s \n"); printf(" s 3: 帮 助 信 息 s \n"); printf(" s 4: 系 统 设 置 s \n"); printf(" s 0: 退 出 游 戏 s \n"); ssss \n" printf("\n sssssssssssssssssssssss printf(" ssssssssssssssssssssssss

printf(" 请输入选择: "); scanf("%d",&n); if(n==0) { printf("\n\n 感谢您的使用,游戏退出!\n"); exit(0); } if(n==2){ printf("\n\n 上次的成绩为:%d\n",u); do { printf(" 输入0 返回上级菜单:"); scanf("%d",&n); printf(" 输入错误!请重新输入!\n"); }while (n>0); { system("CLS"); fun(); } } if(n==3)

相关文档
最新文档