C语言课程设计-猜数游戏
更新时间:2023-05-29 14:12:01 阅读量: 实用文档 文档下载
C语言课程设计,猜数游戏软件
《C 语言程序设计》课程设计报告题 学 姓目 号 名猜数游戏年级专业 同组人员 学 号09 电子信息工程指导老师 完成日期 2010 年 6 月 24 日安徽师范大学物理与电子信息学院College of Physics and Electronic Information, Anhui Normal University
C语言课程设计,猜数游戏软件
一、实践的目的和要求 加深对《C 语言》课程所学知识的理解,进一步巩固 C 语言语法规 则。学会编制结构清晰、风格良好、数据结构适当的C语言程序, 从而具备解决综合性实际问题的能力。 二、实践内容 在熟练掌握 C 语言的基本知识:数据类型(整形、实型、字符型、 指针、数组、结构等) ;运算类型(算术运算、逻辑运算、自增自 减运算、赋值运算等) ;程序结构(顺序结构、判断选择结构、循 环结构) ;大程序的功能分解方法(即函数的使用)等。进一步掌 握各种函数的应用,包括时间函数、绘图函数,以及文件的读写操 作等。 三.问题描述: 用 C 语言编写程序,实现猜数游戏的相关功能。四.基本要求: 随机产生一个五位数,且没有重复数字; 猜数时给出大小提示; 记录猜数次数,最后给出评分。五.分析: 该程序设计的关键在于如何实现随机分配数据与核对输入数据的
C语言课程设计,猜数游戏软件
过程, 利用系统时钟作为随机数的种子, 将每次产生的 0~9 之间 (包 括 0 和 9)的随机数存到数组 aid 中,将从键盘中输入的数据存到 数组 num 中。用数组 num 中的所有数与数组 aid 的每个数比较, 通过统计位置与数据均相同的个数及统计位置不同但数据相同的 个数来输出提示信息,根据猜数次数给出分数。并设计游戏界面。 六.设计内容: 该游戏可以由程序随机产生 0 到 9 之间的数字, 且不产生重复 数字。玩游戏者通过游戏提示输入八次来匹配上面所产生的数字。A 代表位置正确且数字正确,B 表示数字 正确而为之不匹配。 (1)本游戏设计整体思路: 1)利用画图函数设计一个进入游戏的动感画面; 2)设计游戏菜单; 实现以下功能: 按 1 键进入游戏; 按 2 输出游戏规则; 按 3 直接退出游戏。 3)设计猜数游戏主程序,并能够实现以下功能: 由系统随机产生五位数字;当游戏玩家输入所猜的五 位数字时,系统进行对比显示 A 与 B 的个
C语言课程设计,猜数游戏软件
数,以便于玩家根据此继续进行猜数。当玩家按 A 键时可以看答 案。最后根据猜数情况给出分数。 七.流程图:开始判断输入的数字,根据 数字进行选择若 为 1 进入游戏若 为 2 输出游戏规则若 为 3 退出游戏输入数字开始 游戏按任意键退出输出结果结束
C语言课程设计,猜数游戏软件
八.程序清单:#include<stdio.h> #include<stdlib.h> #include<time.h> #include<conio.h> #include<dos.h> #include<string.h> #include<graphics.h> #include<math.h> #define MAXTIMES 8 #define PI 3.1415926 void guess() { int aid[5],num[5],A,B,i,j,times,flag,key,key2,score; char ch; do { flag=0; srand((unsigned)time(NULL)); for(i=0;i<5;i++) aid[i]=rand()%10; for(i=0;i<5;i++) { /*生成目标数组*/ /*判断是否产生相同的数字*/
C语言课程设计,猜数游戏软件
for(j=i+1;j<5;j++) if(aid[i]= =aid[j]) { flag=1; break; } } }while(flag==1);times=1; while(times<=MAXTIMES) { key=0; key2=0; printf("NO.%d:please input five different int numbers to play!\n", times); for(i=0;i<5;i++) {scanf("%d",&num[i]);} for(i=0;i<5;i++) { if(!(num[i]<=9)&&(num[i]>=0)) { printf("Error!the numbers you input must be int numbers which / *判断所输数字是否合法则*/ /*程序主体部分*/
C语言课程设计,猜数游戏软件
from 0 to 9\n"); key=0; break; } } if(key==1) continue; for(i=0;i<5;i++) { for(j=i+1;j<5;j++) { if(num[i]==num[j]) { printf("Error! The numbers you input must be different!\n"); key2=1; } break; } } if(key2==1) continue; A=0; /*判断是否输入了相同的数字*/
C语言课程设计,猜数游戏软件
B=0; for(i=0;i<5;i++) { if(num[i]==aid[i]) A++; } for(i=0;i<5;i++) { for(j=0;j<5;j++) { if(num[i]==aid[j]) B++; } } B=B-A; printf("A%dB%d\n",A,B); if(A==5) /*游戏成功,提示并返回*/ /*比较两组数组*/{ printf("Congratulations!\n"); printf("Press any key to exit!\n"); getch(); }
C语言课程设计,猜数游戏软件
else { and exit.\n"); ch=getch(); if(ch=='n') { continue; } if((ch=='a')||(ch=='A')) { printf("%d%d%d%d%d\n",aid[0],aid[1],aid[2],aid[3],aid[4]); getch(); } score=(A/5.0)*100; /*给出分数*/ printf("Press ENTER to continue,or press A to see about answerprintf("The score is %d \n",score);times++; } }}
C语言课程设计,猜数游戏软件
void {play()double a; int x1,x2,color=1; int gdriver=DETECT,gmode; initgraph(&gdriver,&gmode,""); cleardevice(); for(a=1;a<=600;a+=1) { setcolor(color); x1=220+100*cos(a/47.75); x2=280+100*sin(a/47.75-PI/2); /*用余弦函数确定坐标*/ /*用正弦函数确定坐标*/ /*进行图形初始化*/line(a,x1,a+80,x1); line(a,x2,a+80,x2); delay(10000); color++; if(color>15) color=1; } getch();/*用 line()函数连接相同纵坐标*/ /*用 line()函数连接相同纵坐标*/
C语言课程设计,猜数游戏软件
closegraph(); }void main(){void play(); int i; play(); system("cls"); textcolor(10); textbackground(2); gotoxy(10,5); cprintf(" gotoxy(10,8); GUESS/*主菜单*//*调用 DOS 命令,清屏,与 clrscr()相同*/ /*在文本模式中选择新的字符颜色*//*将光标定位*/ NUM GAME \n”);cprintf("####################MENU#####################\n"); gotoxy(10,9); cprintf("# gotoxy(10,10); cprintf("# gotoxy(10,11); WELCOME TO THE GAME ! #\n); #\n");
C语言课程设计,猜数游戏软件
cprintf("# gotoxy(10,12); cprintf("# gotoxy(10,13); cprintf("# gotoxy(10,14); cprintf(“ gotoxy(10,15); cprintf("# gotoxy(10,16); cprintf("# gotoxy(10,17); cprintf("# gotoxy(10,18); cprintf("# gotoxy(10,19); cprintf("# gotoxy(10,20); GOOD LUCK TO YOU ! 3 exit 2 rule 1 start game?(Y\N)#\n");#\n);#\n");#\n);#\n");#\n");#\n");#\n");#\n");cprintf("#######################################################\n"); /*cprintf()送格式化输出至文本窗口屏幕*/
C语言课程设计,猜数游戏软件
gotoxy(10,22); printf("Please choose :"); scanf("%d",&i); switch(i) { case 1: clrscr(); guess(); sleep(1); break; case 2: clrscr(); printf(" The Rules Of The Game\n"); /*输出游戏规则*/ /*调用 guess 函数*/ /*程序停止 1 秒钟*/printf("\n"); printf("\n"); printf("step 1 : printf("\n"); printf("\n"); printf("step 2 : printf("\n"); printf("\n"); printf("step 3 : A represent location and data are input the number !\n"); input the numbers of digits\n");
C语言课程设计,猜数游戏软件
correct\n"); printf("\n"); printf("\n"); printf(" B represent is wrong!\n"); sleep(5); break; case 3 : exit(0); default: break; } }九:小结与收获locationiscorrectbutdata/*退出游戏*/经过多次的上机实践学习,使我对 C 语言有了更进一步的认 识和了解,要想学好它要重在实践,要通过不断的上机操作才能更 好地学习它,通过实践,我也发现我的好多不足之处,首先是自己 在指法上还不行,经常按错字母,通过学习也有所改进;再有对 C 语言的一些标准库函数不太了解, 还有对函数调用的正确使用不够 熟悉,还有对 C 语言中经常出现的错误也不了解,通过实践,使
C语言课程设计,猜数游戏软件
我在这几个方面的认识有所提高。通过这次程序设计对 for 循环也有了进一步的认识,同时也了解了一些书本之外的知识,特别是动画效果。通过实践的学习,我认到学好计算机要重视实践操作,不仅仅是学 习 C 语言,还是其它的语言,以及其它的计算机方面的知识都要 重在实践,所以后在学习过程中,我会更加注视实践操作,使自己 便好地学好计算机。 十:参考文献 [1]《C 语言程序设计教程》 学出版社 [2]《C 语言程序设计上机指导与习题选解》主编:杨路明 邮电大学出版社 [3] 《C 语言程序设计(第二版)》 主编:谭浩强 出版社 [4]《C 语言程序开发范例宝典》 [5]《编程大讲坛 业大学出版社 09 级电子(2)班 张蒙 0908252 2010 年 6 月 13 人民邮电出版社 电子工 清华大学 北京 主编:杨路明 北京邮电大C 语言核心开发技术从开发到精通》
C语言课程设计,猜数游戏软件
物理与电子信息学院课程设计评定主要内容包括:设计报告内容的完整性和完成情况、报告格式的规范性、通过课程 设计取得的收获等。指 导 教 师 评 语
正在阅读:
C语言课程设计-猜数游戏05-29
挽联选汇(附称谓)05-19
闪电的主人-尼古拉 特斯拉08-10
奥巴马就职演讲(中英对照)05-17
测量学试题库(含答案)07-06
孝的高中议论文作文8篇03-08
娃哈哈销售部工作手册05-13
绵阳市教育局骨干教师 - 图文12-09
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 语言
- 课程
- 设计
- 游戏
- 七年级数学有理数加减法同步练习题1
- 李婷-60例妇产科失血性休克的抢救护理措施 2
- DD407/FGH95合金热等静压扩散连接反应层元素互扩展规律II.模型验证及实验分析-论文
- 甲状腺腺瘤教学查房
- 教师招聘《中学教育心理学》通关试题每日练卷7125
- 南充市2012年数学中考试题及答案
- 5.2.7做个太阳能热水器
- 医院绩效考核应向全面绩效管理转变
- 大学计算机基础总复习题
- 生活与哲学结构及解题方法
- 如何写大学活动策划书(大学策划书格式及实例修订版)
- 井巷工程混凝土试块取样方法
- 华南师范大学自然地理学考研试题答案归纳
- 小学教师绩效工资分配实施方案
- 淮南市2014-2015(1)高一通用技术期末测试卷2
- 通信工程-安全生产应急预案
- 托福语法指导:附语法真题及答题要点
- 三年制美术教育专业
- 新翼之梦4.9装备合成图
- 201104、201107.2012年4月自学考试公共政策学真题