版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
word文档下载后可任意复制编辑课程设计报告课程名称课题名称专业数据结构纸牌游戏通信工程word文档下载后可任意复制编辑任务书下达日期2014年6月16日任务完成日期2014年6月22日
word文档下载后可任意复制编辑目录一、需求分析…………3二、概要设计…………3三、详细设计…………3四、调试分析…………7五、用户使用说明……………………7六、测试结果…………7七、总结………………8八、附录………………8
word文档下载后可任意复制编辑课题名称纸牌游戏1.需求分析1.1运行程序后,便会显示出正面朝上的牌的编号。所以需要程序能够储存1.2显示出这52张牌中翻动次数最多与最少的牌,以及翻动的次数和是正面向上还是反面向上,需要程序能够自动计数自行比较并且输出的功能。2.概要设计2.1编号为1-52张纸牌,则需要创建一个线性表,运用malloc函数申请内存空间,存储纸牌编号信息。2.2设计翻牌程序,存储最后正面向上的牌的编号,动次数最少的牌号,以及他们翻动的次数,和他们是正面向上还是反面向上。2.3编写主函数,输出全部纸牌编号与程序的运行结果,让用户能够看到直观的求解结果。和翻动次数最多的牌号,和翻3.详细设计3.1创建线性表存储所有的纸牌编号typedefstruct//定义线形表{intdata[52];}list;voidbuild(list*&l)//建立线形表{inti;l=(list*)malloc(sizeof(list));for(i=0;i<52;i++){
word文档下载后可任意复制编辑l->data[i]=0;}3.2建立fanpai()函数voidfanpai(list*&l){intj,i;for(j=2;j<=52;j++){for(i=1;i<=52;i++){if((i*j<=52)&&(l->data[i*j-1]==1)){l->data[i*j-1]=0;k[i*j-1]++;continue;}if((i*j<=52)&&(l->data[i*j-1]==0)){l->data[i*j-1]=1;k[i*j-1]++;continue;}}}printf("正面朝上的牌有:");for(j=0;j<52;j++){if(l->data[j]==0)printf("%d",j+1);}
word文档下载后可任意复制编辑3.3建立zuiduo()函数voidzuiduo(list*&l){intb=k[0],j;for(j=0;j<51;j++){if(b<k[j+1]){b=k[j+1];}}printf("\n翻牌次数最多的是:\n");for(j=0;j<52;j++){if(b==k[j]){if(l->data[j]==0)printf("%d,次数为%d.正面\n",j+1,b);elseprintf("%d,次数为%d.反面\n",j+1,b);}}}3.4建立zuishao()函数voidzuishao(list*&l){intb=k[1],j;for(j=1;j<52;j++){if(b>k[j+1]){b=k[j+1];
word文档下载后可任意复制编辑}}printf("翻牌次数最少的是:\n");for(j=0;j<52;j++){if(b==k[j]){if(l->data[j]==0)printf("%d,次数为%d.正面\n",j+1,b);elseprintf("%d,次数为%d.反面\n",j+1,b);}}}3.5定义main()主函数intmain(){list*a;build(a);intj=0;voidchange(list*&l);voidmore(list*&l);voidless(list*&l);change(a);printf("\n");more(a);//翻牌//翻动次数最多//翻动次数最少printf("\n");less(a);printf("\n");return0;}
word文档下载后可任意复制编辑4.调试分析刚开始使用链表来存储数据,但是发现函数太过复杂而且有不可调节的错误。后经测试发现使用线性表能够更好的存储和调用数据。而且线性表更容易理解,而在使用过程中,数组的使用会导致结果的不同,intb=k[1],j;如在子程序zuishao函数中,语句for(j=1;j<52;j++){if(b>k[j+1]){b=k[j+1];}}修改数组的下标,能够得到不同的数据5.用户使用说明5.1此程序可以在环境为C++Buildor6或者MicrosoftVisualC++6.0及其以上版本的地方直接运行。5.2查看程序结果可直接运行源程序或者运行可执行文件,可直接得到运行结果。6.测试结果6.1运行源程序后直接得出的结果
word文档下载后可任意复制编辑word文档下载后可任意复制编辑6.2测试结果分析:结果完全符合要求,编译中无错误无警告7.总结感觉这是一次极好的旅程,从开始的设计思路与程序的完成都十分顺利。感谢老师提前把题目发出,让我们有了思考的空间和充足的时间来修改程序。不得不说,每次的课程设计对自己来说都是巨大的挑战,对自己是否掌握了所学内容做出了检验。数据结构这门课程相对于其他语言类课程来说,是我掌握的最多的一门了,然而当进行设计中需要c,,c++这些语言的时候我却感觉到了吃力,果然基础还是太过薄弱,所以这也激起了我要重新学习这些语言的念头,其实,应该是必须要重新习复,加深了解这些课程了。总体来说,这次课设是完美的完成了,而且在这次课设中我的感悟也颇多,希望自己能够在这些体验与感中能够走得更踏实,更远。悟中汲取经验,用实验中收获的教训来鞭策自己,让自己在学习8.附录纸牌游戏源代码#include<stdio.h>#include<malloc.h>typedefstruct{intdata[52];}list;voidbuild(list*&l){inti;
word文档下载后可任意复制编辑l=(list*)malloc(sizeof(list));for(i=0;i<52;i++){l->data[i]=0;}}intk[52]={0};voidfanpai(list*&l){intj,i;for(j=2;j<=52;j++){for(i=1;i<=52;i++){if((i*j<=52)&&(l->data[i*j-1]==1)){l->data[i*j-1]=0;k[i*j-1]++;continue;}if((i*j<=52)&&(l->data[i*j-1]==0)){l->data[i*j-1]=1;k[i*j-1]++;continue;}}}
word文档下载后可任意复制编辑printf("正面朝上的牌有:");for(j=0;j<52;j++){if(l->data[j]==0)printf("%d",j+1);}}voidzuiduo(list*&l){intb=k[0],j;for(j=0;j<51;j++){if(b<k[j+1]){b=k[j+1];}}printf("\n翻牌次数最多的是:\n");for(j=0;j<52;j++){if(b==k[j]){if(l->data[j]==0)printf("%d,次数为%d.正面\n",j+1,b);elseprintf("%d,次数为%d.反面\n",j+1,b);}}}voidzuishao(list*&l)
word文档下载后可任意复制编辑{intb=k[1],j;for(j=1;j<52;j++){if(b>k[j+1]){b=k[j+1];}}printf("翻牌次数最少的是:\n");for(j=0;j<52;j++){if(b==k[j]){if(l->data[j]==0)printf("%d,次数为%d.正面\n",j+1,b);elseprintf("%d,次数为%d.反面\n",j+1,b);}}}intmain(){list*a;build(a);intj=0;voidfanpai(list*&l);voidzuiduo(list*&l);voidzuishao(list*&l);fanp
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026福建泉州市南安市码头镇政府招聘专职调解员1人笔试备考试题及答案详解
- 2026广西桂林市叠彩区招聘劳务派遣人员3人笔试模拟试题及答案详解
- 2025年鹤岗市兴山区社区工作者招聘考试试题及答案详解
- 2026云南昆明市中医医院下半年面向社会招聘编外人员81人笔试备考试题及答案详解
- 政工师考试试题及参考答案
- 2026年哈尔滨市第五十九中学校临时招聘2人考试备考试题及答案详解
- 2026聊城东阿某国企招聘笔试备考题库及答案详解
- 2026湖北荆州技师学院招聘4人考试备考题库及答案详解
- 2025年济宁市任城区网格员招聘考试试题及答案详解
- 2026年黑龙江省绥化市社区工作者招聘笔试备考题库及答案详解
- 通信汛期安全生产课件
- 《肺叶手术的麻醉》课件
- 一元一次方程和分式方程复习教案 人教版
- 脚手架拆除方案报审
- 2024外贸佣金合同中英文版
- 钻孔灌注桩桩头质量缺陷处理方案样本
- 法院送达地址确认书(诉讼类范本)
- TDTG5024斗式提升机机座及总体部分设计
- 3%水泥土试验段施工方案
- GB/T 36174-2018金属和合金的腐蚀固溶热处理铝合金的耐晶间腐蚀性的测定
- 第二章常用低压电器基本原理课件
评论
0/150
提交评论