数据结构课程设计纸牌游戏Word文档下载推荐.docx

上传人:b****6 文档编号:21460952 上传时间:2023-01-30 格式:DOCX 页数:15 大小:332.34KB
下载 相关 举报
数据结构课程设计纸牌游戏Word文档下载推荐.docx_第1页
第1页 / 共15页
数据结构课程设计纸牌游戏Word文档下载推荐.docx_第2页
第2页 / 共15页
数据结构课程设计纸牌游戏Word文档下载推荐.docx_第3页
第3页 / 共15页
数据结构课程设计纸牌游戏Word文档下载推荐.docx_第4页
第4页 / 共15页
数据结构课程设计纸牌游戏Word文档下载推荐.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

数据结构课程设计纸牌游戏Word文档下载推荐.docx

《数据结构课程设计纸牌游戏Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《数据结构课程设计纸牌游戏Word文档下载推荐.docx(15页珍藏版)》请在冰豆网上搜索。

数据结构课程设计纸牌游戏Word文档下载推荐.docx

3.1.概要设计…………………………………x

3.2.详细设计…………………………………x

3.3.调试分析…………………………………x

3.4.用户手册…………………………………x

3.5.测试结果…………………………………x

3.6.程序清单…………………………………x

4.小结……………………………………………x

5.参考文献…………………………………x

1.课程设计的目的

(1)熟练使用C语言编写程序,解决实际问题;

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

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

(4)提高综合运用所学的理论知识和方法独立分析和解决问题的能力;

2.需求分析

编号为1-52牌,正面向上,从第2开始,以2为基数,是2的倍数的牌翻一次,直到最后一牌;

然后,从第3开始,以3为基数,是3的倍数的牌翻一次,直到最后一牌;

直到以52为基数的翻过,输出:

这时输出正面向上的牌有哪些?

3.纸牌游戏的设计

3.1概要设计

建立两个数组,一个存放52牌的编号,另外一个存放相应编号的纸牌的翻牌记录:

data[52],flag[52]

定义一个全局变量作为正反面的判断条件:

Flag=-1

Y

N

3.2详细设计

//建立两个数组,一个存放52牌的编号,另外一个存放相应编号的纸牌的翻牌记录。

inti,j,data[52],flag[52],choice,num;

charm,n;

for(i=1;

i<

=52;

i++)

{

data[i-1]=i;

//录入52牌的编号。

flag[i-1]=0;

//将相应编号纸牌的翻牌数初始化为0。

}

for(i=2;

i++)//外循环,基数循环。

for(j=1;

j<

j++)//循环,基数倍数条件判断。

if(j%i==0)

data[j-1]=data[j-1]*Flag;

//将翻转后的结果更新data中的数据。

flag[j-1]++;

//翻牌一次,即记入flag数组中。

case1:

printf("

---题目---\n"

);

**************************************************************\n"

编号为1-52牌,正面向上,从第2开始,以2为基数,是2的倍数的牌翻一次,"

直到最后一牌;

然后,从第3开始,以3为基数,是3的倍数的牌翻一次,"

\n"

****************************************************************"

是否回到主菜单?

(Y/N):

"

//在每个独立功能后添加了独立的判断语句,从而可以选择性的回到主菜单。

n=getchar();

if(n=='

Y'

)break;

elseif(n=='

N'

choice=0;

//0作为整个界面的循环结束条件,所以直接将choice=0,即可结束循环。

elseprintf("

**********(提示:

输入错误,默认为继续。

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

}break;

case2:

以下为翻牌记录:

\t----第1牌翻过0次。

----\t"

52;

\t----第%d牌翻过%d次。

i+1,flag[i]);

if(i%2==0)

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

case3:

do{

\t请输入您想查询的纸牌编码:

scanf("

%d"

&

num);

if(num<

1&

&

num>

52)//纸牌的序号为1-52,所以其他数值都为输入错误。

\t输入错误!

else

\t纸牌翻转记录如下:

\t纸牌翻转次数为%d\n"

flag[num-1]);

for(j=2;

if(num%j==0)

\t在以编号%d为基数时此纸牌有一次翻转。

j);

}

需要继续查询纸牌编码吗?

//独立的判断语句,作为do-while的结束条件,从而可循环的查询纸牌编码。

m=getchar();

if(m!

='

m!

************(提示:

输入错误,默认为跳过。

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

}while(m=='

**************(提示:

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

}break;

case4:

\t最后所有正面向上的牌有:

for(i=0;

if(data[i]>

0)//所有大于0的数即为正面向上的纸牌。

第%d牌"

i+1);

***************(提示:

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

case0:

break;

default:

\t输入错误,请重新输入!

}while(choice!

=0);

//0作为整个循环的结束条件。

*******************程序结束,使用********************\n"

3.3调试分析:

选择1,显示题目

选择2,查看所有翻牌记录

选择3,查看指定纸牌记录,如18

选择4,显示最后结果

4.程序清单:

#include<

stdio.h>

windows.h>

#defineFlag-1//定义一个全局变量作为正反面的判断条件。

voidmain()

\t-----------------------------------------------------------\n"

\t---------欢迎进入纸牌游戏-----------\n"

\t---------1.查看题目-----------\n"

\t---------2.查看所有纸牌的翻牌次数-----------\n"

\t---------3.查看指定编号纸牌翻牌记录-----------\n"

\t---------4.查看最终正面向上的纸牌编号-----------\n"

\t---------0.按0键结束-----------\n"

请输入您的选择(数字0-4):

//主界面

choice);

switch(choice)//通过switch语句进行功能的选择

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 工学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1