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

上传人:第*** 文档编号:55634206 上传时间:2018-10-03 格式:DOC 页数:18 大小:419.01KB
返回 下载 相关 举报
c语言程序课程设计-猜数字游戏_第1页
第1页 / 共18页
c语言程序课程设计-猜数字游戏_第2页
第2页 / 共18页
c语言程序课程设计-猜数字游戏_第3页
第3页 / 共18页
c语言程序课程设计-猜数字游戏_第4页
第4页 / 共18页
c语言程序课程设计-猜数字游戏_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《c语言程序课程设计-猜数字游戏》由会员分享,可在线阅读,更多相关《c语言程序课程设计-猜数字游戏(18页珍藏版)》请在金锄头文库上搜索。

1、C C 语言程序设计课程设计语言程序设计课程设计专专 业业: 自动化 班班 级级: 姓姓 名名: 学学 号号: 指导教师指导教师: 兰州交通大学自动化与电气工程学院兰州交通大学自动化与电气工程学院2015 年年 07 月月 21 日日评语:考勤(10) 纪律(10)过程(40)设计报告(30) 答辩(10)总成绩(100)C 程序设计课程设计报告1一引言一引言1.1 设计目的设计目的复习和巩固 C 语言基础知识,进一步加深对 C 语言的理解和掌握。提高同学将课本上的理论知识和实际结合的能力,锻炼同学的分析解决实际问题的能力,提高同学团队合作的能力。使同学们善于观察和思考,善于合作,具备实践编程

2、的基础素质,和实际问题分析的思考方式。1.2 设计要求设计要求在设计时充分地分析和理解问题本身,综合考虑系统功能,怎样使系统结构清晰、合理、简单和易于调试。然后详细设计,确定每个过程和函数的简单功能,以及过程(或函数)之间的调用关系。最后认真完成课程设计说明书,并对设计方法,结果等进行总结。充分地分析和理解问题本身,弄清要求做什么(What to do?) 。在确定解决方案框架过程中(How to do?) ,综合考虑系统功能,考虑怎样使系统结构清晰、合理、简单和易于调试。最后确定每个过程和函数的简单功能,以及过程(或函数)之间的调用关系。确定算法的主要流程,在此基础上进行代码设计(Codin

3、g) ,每个明确的功能模块程序一般不超过 60 行,否则要进一步划分。上机前程序静态检查可有效提高调试效率,减少上机调试程序时的无谓错误。静态检查主要有两种途径:(1)用一组测试数据手工执行程序;(2)通过阅读或给别人讲解自己的程序而深入全面地理解程序逻辑。二基础题二基础题2.1 题目题目用选择法对 10 个数进行排序。有一个已排好序的数组。现输入一个数,要求按原来的规律插入到原数组中。2.2 解题思路解题思路程序的主要功能是对数组元素用排序函数按从小到大的顺序进行排序。先定义一个 10 个元素的一维数组 a10,然后从电脑输入 10 个数(也就是对数组赋值) ,然后使用一次 fun()函数,

4、对这 10 个数进行排序;然后再定义一个 11 个元素的一维数组 b11,同时再从电脑输入一个数同 a10一起赋值给 b11,C 程序设计课程设计报告2然后再使用 fun()函数,重新排序的到最后的有顺序的一组数据。2.3 流程图流程图子函数流程图如图 1 所示:开始i=1i=iaj int fun() int a33,sum; int i,j; _; for(i=0;i void main() void fun(int a ,int n); int a10,i,k,b11; printf(“请输入十个数:n“); for(i=0;i int fun() int a33,sum; int i,

5、j; sum=1; for(i=0;i #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); /*主目录*/void menu()char choice,ch; dodosystem(“cls“);printf(“tttt简单猜数字nnnn“); printf(“tttt1.开始游戏nn“);printf(“tttt2.使用说明nn“);printf(“tttt3.退出游戏nn“)

6、;printf(“ttt请输入(1-3):“);fflush(stdin);choice=getchar();while(choice!=1switch(choice)case1: game();C 程序设计课程设计报告14break;case2:system(“cls“);printf(“tttt欢迎使用本程序nnn“);printf(“游戏说明:输入%d位数字,输入后会有提示XAYB,X表示有几个数字与答案数字相同且位置相同。n “,MANY); printf(“Y表示有几位数字与答案数字相同但位置不正确。n“); printf(“例如:答案数字是5764,如果输入5481,则会提示1A1

7、B。n“); printf(“祝你愉快!nn“); printf(“按任意键返回主目录n“); getch();break;case3:printf(“确定要退出吗?(y/n):“);fflush(stdin);ch=getchar();if(ch=y|ch=Y)exit(0);elsecontinue; while(1); /*游戏部分*/void game() int guessMANY,answerMANY; int times,i,m,j;C 程序设计课程设计报告15int key;time_t t; char wantplay,temp; srand(unsigned)time( d

8、o/*生成MANY个随机数*/dou=0; for(i=0;iMANY;i+) guessi=rand()%10; same(guess); while(u); printf(“请输入%d位不相同的数:n“,MANY); for(times=1;times=TIME_OUT+1;times+) /*超过限定数次*/if(times=(TIME_OUT+1) printf(“正确答案是:“); for(m=0;mMANY;m+)printf(“%d“,guessm);printf(“n猜了%d次都没猜中“,TIME_OUT);break;printf(“第%d次:“,times); /*玩家输入

9、*/fflush(stdin); for(j=0;jMANY;j+)temp=getchar();answerj=temp-48; /*temp是char型*/ C 程序设计课程设计报告16/*检查输入有没有重复*/u=0; same(answer); if(u) printf(“你输入的数字有重复,请重新输入n“); continue; ab(answer,guess);/*判断输入数字正确的个数*/ if(a=MANY) printf(“恭喜!你猜对了“); break; else printf(“%dA%dBn“,a,b); printf(“还想玩吗?(y/n):“); fflush(s

10、tdin); wantplay=getchar(); if(wantplay=y|wantplay=Y) system(“cls“); continue; else menu();while(wantplay=y|wantplay=Y); /*判断输入的数或生成的数有没有重复的函数*/void same(int num) int i,j; C 程序设计课程设计报告17for(i=0;iMANY-1;i+) for(j=i+1;jMANY;j+) if(numi=numj) u=1; /*提示XAYB的函数*/void ab(int answer,int guess) int i,j; a=b=0; for(i=0;iMANY;i+) for(j=0;jMANY;j+) if(answeri=guessj) if(i=j)a+; elseb+; /*主函数*/ void main() menu();

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号