欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    数据结构课程设计纸牌游戏.docx

    • 资源ID:18104662       资源大小:73.75KB        全文页数:20页
    • 资源格式: DOCX        下载积分:6金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要6金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数据结构课程设计纸牌游戏.docx

    1、数据结构课程设计纸牌游戏数据结构课程设计纸牌游戏学号:XXXX专业:计科指导老师:XXXX姓名:XXX院系:计算机科学与技术学院年级:大三1.课程设计的目的 X2.需求分析 x3.课程设计报告内容 x3.1.概要设计 X32详细设计3.3.调试分析 x34用户手册 x3.5.测试结果 x3.6.程序清单 x4.小结 x5.参考文献 x1.课程设计的目的(1)熟练使用 c语言编写程序,解决实际问题;(2)了解并掌握数据结构与算法的设计方法 ,具备初步的独立分析和设计能力 ;(3)初步掌握软件开发过程的问题分析 、系统设计、程序编码、测试等基本方法和技能;(4)提高综合运用所学的理论知识和方法独立

    2、分析和解决问题的能力 ;2.需求分析编号为1-52张牌,正面向上,从第2张开始,以2为基数,是2的倍数的牌翻一次,直到 最后一张牌;然后,从第3张开始,以3为基数,是3的倍数的牌翻一次,直到最后一张 牌;直到以52为基数的翻过,输出:这时输出正面向上的牌有哪些 ?3.纸牌游戏的设计3.1概要设计建立两个数组,一个存放 52张牌的编号,另外一个存放相应编号的纸牌的翻牌记录data52,flag52定义一个全局变量作为正反面的判断条件 :Flag= -1查看所有牌查看指定纸 * 查看翻牌的的翻牌记录牌翻牌记录最后结果Case3:输出记录欢迎来到纸 牌游戏Case2:所有牌翻牌记录Case4:显示最

    3、后结果开始i=2一维数组 data52,flag52;并将flag初始化为0表示正面朝上丫 -j=i+j%i=O翻牌。如果flagj-1为0则变为1,否则变为0j+专业.专注3.2详细设计/建立两个数组,一个存放52张牌的编号,另外一个存放相应编号的纸牌的翻牌记录int i,j,data52,flag52,choice ,num;char m,n;for(i=1;i=52;i+)datai-1=i; 录入52张牌的编号。flagi-1=0;/将相应编号纸牌的翻牌数初始化为 0。for(i=2;i=52;i+)/ 外循环,基数循环。for( j=1;j=52;j+)/ 内循环,基数倍数条件判断。

    4、if(j%i=O)data j-1=data j-1*Flag; 将翻转后的结果更新 data中的数据。flagj-1+; 翻牌一次,即记入flag数组中。case 1: printf(-题目-n);prin tf(*n);printf(”编号为1-52张牌,正面向上,从第2张开始,以2为基数,是2的倍数的牌翻一次,);printf(”直到最后一张牌;然后,从第3张开始,以3为基数,是3的倍数的牌翻一次,);printf(”直到最后一张牌;直到以52为基数的翻过,输出:这时输出正面向上的牌有哪些 ?n);printf( *);prin tf(n);prin tf(n);printf(是否回到主

    5、菜单?(Y/N):);在每个独立功能后添加了独立的判断语句 ,从而可以选择性的回到主菜单。n=getchar();if(n=Y)break;else if(n=N)choice=0;/0 作为整个界面的循环结束条件 ,所以直接将choice=0 ,即可结束循环else printf(*( 提示:输入错误,默认为继续。)*n); break;case 2: printf(”以下为翻牌记录:n);printf(t- 第 1 张牌翻过 0 次。一t);prin tf(n);prin tf(n);for(i=1;i52;i+)printf(t- 第%d 张牌翻过 %d 次。-t,i+1,flagi);

    6、if(i%2=0)prin tf(n);prin tf(n);printf(是否回到主菜单?(Y/N):);n=getchar();n=getchar();if(n=Y)break;else if(n=N)choice=0;else printf(*( 提示:输入错误,默认为继续。)* *宙”);break;case 3 :doprintf(t 请输入您想查询的纸牌编码 :”);sca nf(%d,&n um);if(num52) 纸牌的序号为1-52,所以其他数值都为输入错误 。printf(t 输入错误!n);elseprintf(t 纸牌翻转记录如下:n);prin tf(t 纸牌翻转次

    7、数为 %dn,flag num-1);for( j=2;j=52;j+) 内循环,基数倍数条件判断。if(n um%j=O)printf(t 在以编号%d为基数时此纸牌有一次翻转 。n,j); printf(需要继续查询纸牌编码吗 ?(Y/N):);/独立的判断语句,作为do-while的结束条件,从而可循环的查询纸牌编码 。m=getchar();if(m!=Y&m!=N) printf(*( 提示:输入错误,默认为跳过。)* *n”);while(m=Y);printf(是否回到主菜单?(Y/N):);n=getchar();n=getchar();if(n=Y)break;else if

    8、(n=N)choice=0;else printf(*( 提示:输入错误,默认为继续。)* *n);break;case 4: printf(t 最后所有正面向上的牌有 :n);for(i=0;i0)所有大于0的数即为正面向上的纸牌 。printf(” 第 %d 张牌 ”,i+1);prin tf(n);printf(是否回到主菜单?(Y/N):);n=getchar();if(n=Y)break;else if(n=N) choice=0;else printf(H*提示:输入错误,默认为继续。)* *n);break;case 0:break;default:printf(t 输入错误,请

    9、重新输入!n);while(choice!=0);/0 作为整个循环的结束条件 。printf(程序结束,谢谢使用*n); 3.3调试分析:=.回选择1,显示题目 C:U5er5Admi ni 5tratorDe s lct0pDebug2. exe 迎查查查壽 12 3 4 0瞬选择:以强为基数的翻过,岀1E面向G去=处噪翩一次,直到叢后一张牌:去 选择2,查看所有翻牌记录i=i 回是否回至|J主菜单?(YzH:y一一 _n/ 纸目有爰馥 入题所营醪 迎查査查查按 12340牌号面纸编正-号 -i 数记牌 驚上腱翳数字2 -1蟲张牌翻过瞰.-第2张牌翻过丄派-一一第4张牌翻过2袂。一第弱雕翻

    10、过M次.一 -一第E张牌翻过了矢一 一一第诃张牌翻过2枕 -第3张牌翻过直次。- 一一第&张牌翻过- -第:涨牌翻过丄次。- 第夕张牌翻过乂次* 第11张牌翻过丄次 - C:UsersAdm i nistratorDe 5 ktopDebug2 .exei=i 回 第丄2张牌翻过5枕 第14张牌翻过M次。 第丄丘张牌翻过4次* 第他张牌翻过占次 -一 第20张牌翻过弓次。 第22张牌翻过2次 -一第张牌翻过7次 -一 -一第站张牌翻过M次. 第汕:牌胡过5次* 第$ 3张牌翻过1次。 第丄召张牌翻过3次。 第炜张牌翻过1次 第纱张牌翻过丄矢-第劭张牌翻过3次。一一 一一第齟张牌翻过 一一第葛张

    11、牌翻过址袂。- _第跆张牌翻过3袂。_ 一一第彗张牌翻过I次* 一一 C:UsersAdmli nistratorDe s ktopDebugi2. exe第张牌翻过丄次。-一第眈张牌翻过吕次 第兀张牌翻过3枕* 第阳张牌翻过叭-第35张牌翻过3次 第躬张牌翻过3次* 第弱张牌翻过;J次。 第3 &张牌翻过&枕.4 第即张牌翻过丄次。 第38张牌翻过3次* 第翁张牌翻过3衩* 一一第舗张牌翻过7次。一一一一第牡张牌翻过1越 一一 第43张牌翻过7次* 第43张牌翻过丄次* -r 一-一第刼张牌翻过弓次* 第钙张牌翻过5次。一一 第4&张牌翻选矢 第羽张牌翻过丄次。 -一第期张牌翻过9次。-一一

    12、一第詢张牌翻过2次。一一-一-第强张牌翻过吕次* 一一一一第张牌翻过2次* 一一-一第竝张牌翻过次。- 是否回到王菜卑? =_选择3,查看指定纸牌记录,如18 C:U5er5Administra torDesktopDebug2.exe C:UsersAdm inistratorDe5ktopDebug2.exe观牌潞戏導潭 译着最庭面向上矗蘇匚九按瞬结束字0-4) : 3r畫询的纸牌编码:绅 事疇如下1世輝谿霰吐此貌有-熠 籤|璀豔踏F I jijw 瞽回貝王橐单?MsczH:N纸目有産 入聲指 迎、杳香查 隸2.3.日,宝 牌昼 HUB if.八数记选择4 ,显示最后结杲 C:User5A

    13、dministra torDesktopDebug2.exe:N日B?MA娄? V 蟹霞 6 9 1 nr 号号口輕?单 以増木 在查主要否書疋-号 录编黑上 惮号面冷电3 - 纸QU有定终靜 入题所营蚤 进-看壬M:-M-TI0I 迎杳香香一壽 .-2.3.4.0.坏张牌 第鹦张牌 第恥张牌 第裁张牌4.程序清单:#in clude#in clude#defi ne Flag -1 定义一个全局变量作为正反面的判断条件 。void mai n()int i,j,data52,flag52,choice,num; 建立两个数组,一个存放52张牌的编号,另外一个存放相应编号的纸牌的翻牌记录 。c

    14、har m,n;for(i=1;i=52;i+)datai-1=i; 录入52张牌的编号。flagi-1=O; 将相应编号纸牌的翻牌数初始化为 0。for(i=2;i=52;i+) 外循环,基数循环。for( j=1;j=52;j+) 内循环,基数倍数条件判断。if(j%i=0)data j-1=data j-1*Flag; 将翻转后的结果更新 data中的数据。flagj-1+; 翻牌一次,即记入flag数组中。doprintf(t-n);printf(t-n);printf(t-欢迎进入纸牌游戏-n);printf(t-1.查看题目 -n);printf(t-2.查看所有纸牌的翻牌次数-n

    15、);printf(t-3.查看指定编号纸牌翻牌记录-n);printf(t-4.查看最终正面向上的纸牌编-口号 - n)printf(t-0.按0键结束 -n);printf(t-n);n);printf(请输入您的选择 (数字0-4 ): );/主界面sea nf(%d,&choice);switch(choice)/通过switch语句进行功能的选择case 1:printf(-题目-in”);printf(* n);printf(编号为1-52张牌,正面向上,从第2张开始,以2为基数,是2的倍数的牌翻一次,);printf(”直到最后一张牌;然后,从第3张开始,以3为基数,是3的倍数的牌

    16、翻一次,);printf(”直到最后一张牌;直到以52为基数的翻过,输出:这时输出正面向上的牌有哪些 ?n);printf(“*“);prin tf(n);prin tf(n);printf(是否回到主菜单?(Y/N):);在每个独立功能后添加了独立的判断语句 ,从而可以选择性的回到主菜单。n=getchar();n=getchar(); if(n=Y)break; else if(n=N)choice=0;/0 作为整个界面的循环结束条件 ,所以直接将choice=0 ,即可结束循环else printf(*( 提示:输入错误,默认为继续。)*n); break;case 2:printf(

    17、”以下为翻牌记录:n);printf(t- 第 1 张牌翻过 0 次。一t);prin tf(n);prin tf(n);for(i=1;i52;i+)printf(t- 第%d 张牌翻过 %d 次。-t,i+1,flagi);if(i%2=0)prin tf(n);prin tf(n);printf(是否回到主菜单?(Y/N):);n=getchar();n=getchar();if(n=Y)break;else if(n=N)choice=0;else printf(*( 提示:输入错误,默认为继续。)* *n”); break;case 3:doprintf(t 请输入您想查询的纸牌编码

    18、 :”);sea nf(%d,&n um);if(num52) 纸牌的序号为1-52 ,所以其他数值都为输入错误 。printf(t 输入错误!n);elseprintf(t 纸牌翻转记录如下:n);prin tf(t 纸牌翻转次数为 %dn,flag num-1);for( j=2;j=52;j+) 内循环,基数倍数条件判断。if(n um%j=O)printf(t 在以编号%d为基数时此纸牌有一次翻转 。n,j); printf(需要继续查询纸牌编码吗 ?(Y/N):);/独立的判断语句,作为do-while的结束条件,从而可循环的查询纸牌编码 。m=getchar();m=getchar

    19、();if(m!=Y&m!=N)printf(*( 提示:输入错误,默认为跳过。)* *n”);while(m=Y);printf(是否回到主菜单?(Y/N):);n=getchar();n=getchar();if(n=Y)break;else if(n=N)choice=0;else printf(*( 提示:输入错误,默认为继续。)* *n);break;case 4:printf(t 最后所有正面向上的牌有 :n);for(i=0;i0)所有大于0的数即为正面向上的纸牌 。printf(” 第 %d 张牌 ”,i+1);prin tf(n);printf(是否回到主菜单?(Y/N):);n=getchar();n=getchar();if(n=Y)break;choice=0;else printf(*( 提示:输入错误,默认为继续。)*、门”);break;case 0:break;default:printf(t 输入错误,请重新输入!n);while(choice!=0);/0 作为整个循环的结束条件 。prin tf(*程序结束,谢谢使用 *n);


    注意事项

    本文(数据结构课程设计纸牌游戏.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开