欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    课程设计(论文)纸牌游戏设计.doc

    • 资源ID:4018010       资源大小:1.12MB        全文页数:32页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

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

    课程设计(论文)纸牌游戏设计.doc

    西安建筑科技大学大作业设计(论文)任务书专业班级: 学生姓名: 指导教师(签名): 一、大作业题目 纸牌游戏二、本次大作业应达到的目的编号为1-52张牌,正面向上,从第2张开始,以2为基数,是2的倍数的牌翻一次,直到最后一张牌;然后,从第3张开始,以3为基数,是3的倍数的牌翻一次,直到最后一张牌;然后从第4张开始,以4为基数,是4的倍数的牌翻一次, 直到最后一张牌;.再依次5的倍数的牌翻一次,6的,7的 直到 以52为基数的 翻过,输出:这时正面向上的牌有哪些? 三、本次大作业任务的主要内容和要求(包括原始数据、技术参数、设计要求等) 数据对象:ji=0,bi-1,i=1,2,n,D= aj1j2jn|n(>0)称为数组的维数,bi是数组第i维的长度, ji是数组第i维的下标, aj1j2jnElemSet数据关系:R=R1,R2,RnRi=<aj1jijn,aj1,ji+1,jn>|0jkbk-1,1kn且kI, 0jibk-2, aj1jijn,aj1,ji+1,jnD,i=2,n要求:输出最后正面向上的牌四、应收集的资料及主要参考文献: 1 严蔚敏.数据结构 C语言.清华大学出版社2 谭浩强.c语言程序设计.清华大学出版社3数据结构.高教出版社 4 李春保.数据结构习题.清华大学出版社5 严蔚敏.数据结构习题.清华大学出版社6 王立柱.c语言与数据结构.清华大学出版社7 李春葆.数据结构(C语言篇)习题与解析.清华大学出版社8910111213五、审核批准意见教研室主任(签字) 西安建筑科技大学大作业设计(论文)任务书专业班级: 学生姓名: 指导教师(签名): 一、大作业题目 运动会分数统计二、本次大作业应达到的目的参加运动会有n个学校,学校编号为1n。比赛分成m个男子项目,和w个女子项目。项目编号为男子1m,女子m+1m+w。不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些取前五名或前三名由学生自己设定。(m<=20,n<=20) 三、本次大作业任务的主要内容和要求(包括原始数据、技术参数、设计要求等) 功能要求:1).可以输入各个项目的前三名或前五名的成绩;2).能统计各学校总分;3).可以按学校编号、学校总分、男女团体总分排序输出;4).可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的学校。规定:输入数据形式和范围:20以内的整数(如果做得更好可以输入学校的名称,运动项目的名称)输出形式:有中文提示,各学校分数为整形。四、应收集的资料及主要参考文献: 1 严蔚敏.数据结构 C语言.清华大学出版社2 谭浩强.c语言程序设计.清华大学出版社3数据结构.高教出版社 4 李春保.数据结构习题.清华大学出版社5 严蔚敏.数据结构习题.清华大学出版社6 王立柱.c语言与数据结构.清华大学出版社7 李春葆.数据结构(C语言篇)习题与解析.清华大学出版社891011 五、审核批准意见教研室主任(签字) 目 录摘要 (5)1 需求分析 (6) 1.1纸牌游戏 (6) 1.2运动会分数统计 (6)2 概要设计 (6) 2.1 纸牌游戏 (6) 2.1.1 数据类型分类 (6)2.1.2系统功能的实现 (6)2.1.3 系统整体流程图 (7) 2.2运动会分数统计 (7) 2.2.1 数据类型分类 (7)2.2.2系统功能的实现 (8)2.2.3 系统整体流程图 (8)3 详细设计 (9) 3.1 纸牌游戏 (9)3.1.1添加纸牌游戏流图 (9) 3.1.1.1添加输出正面朝上模块 (10)3.1.1.2添加纸牌游戏函数实现 (11)3.2运动会分数统计 (12)3.2.1添加运动会分数统计住流程图流程图 (12)3.2.1.1添加成员函数介绍模块 (13)3.2.1.2添加学校代码查询某个项目的情况模块 (14)3.2.1.3添加项目代号查询取得成绩的学校模块(14)3.2.1.4添加统计各学校总分模块 (15)3.2.1.5运动会分数统计函数实现 (16)4 调试分析 (24)4.1 纸牌游戏调试分析 (24) 4.2 运动会分数统计调试分析 (25)5 总结 (30)参考文献 (32)摘 要 今日,我们的地球信息化,网络化,结构化的发展模式已经成为主流,对于如何办好一届属于二十一世纪的高科技绿色环保的奥运会,我们持之以恒的努力!在传统的统计分数的方式上加入大量的先进技术设备,使其成为一届前无古人的充满现代气息的奥林匹克运动会!在高度信息化的前提下,我们利用最基础计算机通用语言C语言对程序进行调试,使得其功能更加完善,以求达到预期的效果!此外,在编辑程序的过程中,我们利用循环链表实现对程序的循环功能!趁这次程序设计课程掌握了程序设计,其任务是纸牌游戏设计与运动会分数统计设计,并且对其进行程序调试。关键词:信息化,先进,C语言,掌握 1 需求分析1.1纸牌游戏: 编号为1-52张牌,正面向上,从第2张开始,以2为基数,是2的倍数的牌翻一次,直到最后一张牌;然后,从第3张开始,以3为基数,是3的倍数的牌翻一次,直到最后一张牌;然后从第4张开始,以4为基数,是4的倍数的牌翻一次, 直到最后一张牌;.再依次5的倍数的牌翻一次,6的,7的 直到 以52为基数的 翻过,输出:这时正面向上的牌有哪些?1.2 运动会分统计: 参加运动会有n个学校,学校编号为1n。比赛分成m个男子项目,和w个女子项目。项目编号为男子1m,女子m+1m+w。不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些取前五名或前三名由学生自己设定。(m<=20,n<=20)2 概要设计2.1纸牌游戏 2.1.1数据类型分类数据对象:ji=0,bi-1,i=1,2,n,D= aj1j2jn|n(>0)称为数组的维数,bi是数组第i维的长度, ji是数组第i维的下标, aj1j2jnElemSet数据关系:R=R1,R2,RnRi=<aj1jijn,aj1,ji+1,jn>|0jkbk-1,1kn且kI, 0jibk-2, aj1jijn,aj1,ji+1,jnD,i=2,n2.1.2系统功能的实现操作结果:对纸牌进行翻转 ADT SqList本程序包含两个模块:(1) 主程序模块void main()定义一个二叉树;for(i=1;i<=52;i+) L.ri.num=i;L.ri.visit=0;/用0来记正面(2) 纸牌翻转模块翻转纸牌各模块之间的调用关系如下:主程序模块纸牌翻转模块2.1.3系统整体流程图图2-1-3系统整体流程图2.2运动会分数统计2.2.1 数据类型分类该程序是针对运动会分数统计管理的一个简单系统包含运动会信息输入、成绩查询、学校成绩查询等功能,使用模块化编程设计void xxbh( ) 、void xxzf( )、void malezf( )、 void femalezf( )、void cxsch( )、 void cxxm( )6个函数完成实验要求的各项功能。2.2.2系统功能的实现1、学校编号排序模块:用于对学校编号排列输出,可以用void xxbh( )函数实现功能。2、按学校总分排序模块:用于对学校总分排列输出,可以用void xxzf ( )函数实现功能。3、按学校男总分排序模块:用于对学校男子总分排列输出,可以用void malezf( )函数实现功能。 4、按学校女总分排序模块:用于对学校女子总分排列输出,可以用void fexxnf( )函数实现功能。5、查询某个学校成绩模块:用于查询某个学校的比赛成绩信息输出,可以用void cxsch( )函数完成此功能。 6、查询某个项目成绩模块:用于查询某个学校的比赛成绩信息输出,可以用void cxxm( )函数完成此功能2.2.3 系统整体流程图开始输入相关信息(学校信息和项目信息)判断输入信息是否正确输入前三名信息统计学校总分按编号排序输出按总分排序输出按男子总分排序输出按女子总分排序输出结束图2-2-3 系统整体流程图3 详细设计3.1纸牌游戏 3.1.1添加纸牌游戏流程图图3-1-1纸牌游戏主流程图3.1.1.1添加输出正面朝上模块图3-1-1-1输出正面朝上流程图3.1.1.2添加纸牌游戏函数实现#include <stdio.h> #include <conio.h> #include <string.h> int main() int aa53, k=2, i,j ; for(i=1;i<53;i+) aai=i ; for(i=2;i<53;i+) for(j=k;j<53;j+) if(j%k=0) if(aaj=0) aaj=j ; else aaj=0 ; k=k+1 ; printf(" 最后正面向上的纸牌编号为: n"); for(i=1;i<53;i+) if(aai=0)continue ; printf("%4d",aai); printf("nnn");printf("请按任意键退出程序!"); getch(); 3.2运动会分数统计3.2.1添加运动会分数统计主流程图图3-2-1运动会分数统计主流程图3.2.1.1添加成员函数介绍模块3-2-1-1添加成员函数介绍流程图3.2.1.2添加学校代码查询某个项目的情况模块3-2-1-2添加学校代码查询某个项目的情况流程图3.2.1.3添加项目代号查询取得成绩的学校模块3.2.1.3项目代号查询取得成绩的学校流程图3.2.1.4添加统计各学校总分模块在统计学校总分和各学校男女项目总分时,在统计男(女)项目总分时只需要确定下是否是男(女)子项目,如果是就加,判断方法就是男子项目代号小于等于男子项目数而女子项目则大于男子项目数。3-2-1-4添加统计各学校总分流程图3.2.1.5运动会分数统计函数实现#include<iostream>#include<string>#include<iomanip>using namespace std;int n; /n个学校int m; /m个男子项目int w; /w个女子项目struct pro /表示项目的结构体string name; /项目名称int snum6; /前5名学校的编号p21;struct school /表示学校的结构体int num;string name; /学校名称int score; /学校总分int male; /男子总分int female; /女子总分sch21;int a101101;int integral5=7,5,3,2,1;/*函数原型void input();void print(int i);void xxbh();/*按编号排序void xxzf();/*按学校总分排序void malezf();/*/按学校男总分排序void femalezf();/*/按学校女总分排序void cxsch();/*/查询学校信息void cxxm();/*查询项目信息void solve();int main()input();solve();return 0;void input()int i,j,y,x;printf("*请输入学校数目*n");y=0;while(1) scanf("%d",&n); if(n>=1&&n<=20)y=1; if(y)break; else printf("*您的输入有误,请重新输入!*n");for(i=1;i<=n;i+) printf("*请输入第%d个学校的名称*n",i); cin>>schi.name; schi.score=0; schi.female=0; schi.male=0; schi.num=i;printf("*输入男子项目数和女子项目数*n");y=0;while(1) scanf("%d%d",&m,&w); if(m<=20&&m>=1&&w<=20&&w>=1)y=1; if(y)break; else printf("*您的输入有误,请重新输入!*n");for(i=1;i<=m+w;i+) printf("*输入第%d个项目的名称*n",i); cin>>pi.name; printf("*输入第%d个项目的前5名的学校编号*n",i); for(j=1;j<=5;j+) y=0; while(1) scanf("%d",&x); if(x>=1&&x<=20)y=1; if(y)break; else printf("*您的输入有误,请重新输入!*n"); pi.snumj=x; schx.score+=integralj-1; if(i<=m)schx.male+=integralj-1; else schx.female+=integralj-1; void print(int i)cout<<schi.num<<setw(13)<<schi.name<<setw(8)<<schi.score<<setw(9) <<schi.male<<setw(10)<<schi.female<<endl;void xxbh()/*按编号排序int i,j;school t;for(i=1;i<n;i+) for(j=i;j<=n;j+) if(schi.num>schj.num) t=schi;schi=schj;schj=t;printf("n*按学校编号排列*n");printf("编号 学校名称 总分 男子总分 女子总分n");for(i=1;i<=n;i+) print(i);void xxzf()/*按学校总分排序int i,j;school t;for(i=1;i<n;i+) for(j=i;j<=n;j+) if(schi.score<schj.score) t=schi;schi=schj;schj=t;printf("n*按学校总分排列*n");printf("编号 学校名称 总分 男子总分 女子总分n");for(i=1;i<=n;i+) print(i);void malezf()/*/按学校男总分排序int i,j;school t;for(i=1;i<n;i+) for(j=i;j<=n;j+) if(schi.male<schj.male) t=schi;schi=schj;schj=t;printf("n*按学校男子总分排列*n");printf("编号 学校名称 总分 男子总分 女子总分n");for(i=1;i<=n;i+) print(i);void femalezf()/*/按学校女总分排序int i,j;school t;for(i=1;i<n;i+) for(j=i;j<=n;j+) if(schi.female<schj.female) t=schi;schi=schj;schj=t;printf("n*按学校女子总分排列*n");printf("编号 学校名称 总分 男子总分 女子总分n");for(i=1;i<=n;i+) print(i);cout<<endl;void cxsch()/*/查询学校信息int i,y,s;printf("*请输入需要查询的学校编号*n");y=0;while(1) scanf("%d",&s); if(s>=1&&s<=n)y=1; if(y)break; else printf("*您的输入有误,请重新输入!*n");printf("*此该学校全部信息*n");printf("编号 学校名称 总分 男子总分 女子总分n");for(i=1;i<=n;i+) if(schi.num=s) print(i); break; cout<<endl;void cxxm()/*查询项目信息int i,y,s;printf("*请输入需要查询的项目编号*n");y=0;while(1) scanf("%d",&s); if(s>=1&&s<=n)y=1; if(y)break; else printf("*您的输入有误,请重新输入!*n");cout<<ps.name<<"*前5名学校编号及名称为:*"<<endl;printf("名次 编号 学校名称n");for(i=1;i<=5;i+) cout<<" "<<i<<" "<<ps.snumi<<setw(12)<<sch ps.snumi .name<<endl;cout<<endl;void solve()int z;while(1) printf("nnnn"); printf(" n"); printf(" 欢迎进入运动会分数统计系统 n"); printf("n"); printf(" 1.按学校编号排序输出 n"); printf(" 2.按学校总分排序输出 n"); printf(" 3.按学校男总分排序输出 n"); printf(" 4.按学校女总分排序输出 n"); printf(" 5.查询某个学校成绩 n"); printf(" 6.查询某个项目成绩 n"); printf(" 7.安全退出系统 n"); printf("n"); printf("请选择(1-7)进行操作:"); scanf("%d",&z); if(z=1)xxbh(); if(z=2)xxzf(); if(z=3)malezf(); if(z=4)femalezf(); if(z=5)cxsch(); if(z=6)cxxm(); if(z=7)break;4 调试分析4.1纸牌游戏调试分析运行中出现的部分错误图4-1-1运行中出现的错误解决方法:在函数前面加入头文件#include <conio.h> 。程序功能运行结果展示图4-1-2程序功能运行结果4.2运动会分数统计调试分析运行中出现的部分错误图4-2-1运行中出现的错误解决方法:在第45至53行每个函数声明后加“;”。 (1)学校信息录入运行结果图4-2-2学校信息录入运行结果(2)按学校编号排列运行结果图4-2-3学校编号排列运行结果(3)按学校总分排序运行结果图4-2-4按学校总分排序运行结果(4)按学校男子总分排列运行结果图4-2-5按学校男子总分排列运行结果(5)按学校女子总分排列运行结果图4-2-6按学校女子总分排列运行结果(6)查询项目信息运行结果图4-2-7查询项目信息运行结果(7)查询学校编号运行结果图4-2-8查询学校编号运行结果(8)查询有误运行结果图4-2-9查询有误运行结果5 总结经过这次课程设计,我对数据库这门课程了解更加深入,感觉这门课程用处十分广泛与重要,而且学到课本中没有的知识,最重要的是对程序设计技术有所了解,从学习C语言课程开始,已发现程序设计的好处,他对我们数学的学习也有很大的帮助。在综合模拟实习过程中也学到和巩固了许多计算机应用基础知识,对计算机的机体也有了一个较为详细的了解。通过实际操作,学会 C语言程序编程的基本步骤、基本方法,开发了自己的逻辑思维能力,培养了分析问题、解决问题的能力。这不仅是程序设计,更是锻炼我们处理问题的能力,同时也使我们了解到团队合作的可贵.编写程序是件细心活,稍不留神就会出错,这就必须要求我们对待事情要认真!在编写程序的过程中,错误不断出现,不同的类型(如少写了一个符号,写错了字母,用错了函数等等)层出不穷,这考验我们待事细心,耐心,能不能坚持到底,不能半途而废。参考文献1 作者1,作者2.文章题目.期刊名,期(卷),年:起始页码-终结页码2 作者1,作者2.文章题目.见:论文集名称. 出版地:出版者,出版年份:起始页码-终结页码3 作者1,作者2.著作名称. 出版地:出版者,出版年份4 作者1,作者2.著作名称(译者名+译). 出版地:出版者,出版年份5 作者1.学位论文题目学位论文. 学位授予单位地点:学位授予单位名称,学位授予年份6 国家标准.木结构设计规范GB 50005-2003,2003

    注意事项

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

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




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开