《数据结构》纸牌游戏设计报告.docVIP

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PAGE PAGE 4 合肥工业大学 《数据结构》课程设计 题 目: 纸牌游戏 专业班级:计算机科学与技术 姓 名: 萧航 学 号: 2010811584 指导教师: 日 期: 2011年1月5日 目 录 TOC \o 1-3 \h \z \u 一、目的 3 二、课题简介 3 三、需求分析 3 四、概要设计 3 五、详细设计 4 5.1 定义 node 节点 4 5.2 创建链表建立 creat()函数 4 5.3建立fanpai()函数 5 5.4建立obj()函数 5 5.5编写main()主函数 6 5.6函数的调用关系图: 7 六、调试分析 8 6.1调试过程 8 6.2复杂度 8 6.3经验和体会 8 七、用户使用说明 8 八、测试结果 8 8.1用户输入1 8 8.2用户输入2 9 8.3用户输入0 10 8.4用户输入错误字符 10 8.5测试结果 11 九、参考文献 11 十、附录 11 纸牌游戏设计报告 一、目的 利用《数据结构》课程的相关知识完成一个具有一定难度的综合设计题目,利用C/C++语言进行程序设计,并规范地完成课程设计报告。通过课程设计,巩固和加深对线性表、栈、队列、字符串、树、图、查找、排序等理论知识的理解;掌握现实复杂问题的分析建模和解决方法(包括问题描述、系统分析、设计建模、代码实现、结果分析等);提高利用计算机分析解决综合性实际问题的基本能力。 二、课题简介 本次课程设计名称为纸牌游戏,具体内容如下:编号为1-52 张牌,正面向上,从第 2 张开始,以 2 为基数,是 2 的倍数的牌翻一次,直到最后一张牌;然后,从第 3 张开始,以 3 为基数,是 3 的倍数的牌翻一次,直到最后一张牌;然后,从第 4 张开始,以 4 为基数,是 4 的倍数的牌翻一次,直到最后一张牌;再依次 5 的倍数的牌翻一次, 6 的, 7 的直到以 52 为基数的牌翻过,输出,这时正面向上的牌有哪些? 三、需求分析 (1)运行程序,进入用户选择界面; (2)用户选择 l 输出 52 张牌编号和最后正面向上牌的编编号; (3)用户选择 2 输出要求输入牌数,用户输入牌数后,输出所有牌的编号和最后正面向上牌的编号; (4)用户选择 0 退出执行程序; (5)用户输入其他信息时,输出错误信息提示并要求用户重新选择操作。 四、概要设计 (1)编号为1-52 张纸牌,则需要光创建链表,运用 mallac 函数申请内存空间,存储纸牌编号信息; (2)设计翻牌程序,利用 j%i==0的思想,使用指针存储最后正面向上的牌编号; (3)编写主函数,判断链表建立是否成功,输出全部纸牌编号与程序运行结果,让用户能够直接的看到求解结果。 五、详细设计 5.1 定义 node 节点 用于存储单张牌的信息。 struct node //定义结点 { int data; int key; /*标志位*/ struct node *next; } 5.2 创建链表建立 creat()函数 用于建立和存储所有纸牌编号,运用 malloc 函数申请内存空间时若申请失败,输出相应提示信息。 struct node *creat() //定义链表建立函数creat() { struct node *p,*head,*s; //其返回值位结构指针 int i; head=NULL; //初始化 p=(struct node*)malloc(sizeof(*p)); if(p==NULL) { Printf(“Memory is too small!\n”); } head=p; head-key=1; head-data=1; head-next=NULL; for(i=2;i=n;i++) //建立n个结点的链表 } s=(struct node*)malloc(sizeof(*p)); s-data=i;s-key=1; p-next=s;p=s; //p=s-next; } p-next=NULL; return(head); } 5.3建立fanpai()函数 利用j%i==0的思想,使用指针存储最后正面向上的牌编号。 void fanpai(struct node *p) { struct node *pl,*p2; for(pl=p-next;pl!=NULL;pl=pl-next) { for(p2=p1;p2!=NULL;p2=p2-next

文档评论(0)

我思故我在 + 关注
实名认证
文档贡献者

部分用户下载打不开,可能是因为word版本过低,用wps打开,然后另存为一个新的,就可以用word打开了

1亿VIP精品文档

相关文档