欢迎来到天天文库
浏览记录
ID:13169363
大小:310.50 KB
页数:17页
时间:2018-07-21
《洗牌发牌模拟系统课程设计报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、集美大学诚毅学院《高级语言程序设计》课程设计实验报告题目:洗牌和发牌模拟专业:计算机科学与技术班级:姓名:成绩:指导教师:完成日期:2008年6月26日第17页共17页一、目的1.进一步掌握和利用C语言进行程设计的能力;2、 进一步理解和运用结构化程设计的思想和方法;3、 初步掌握开发一个小型实用系统的基本方法;4、 学会调试一个较长程序的基本方法;5、 学会利用流程图或N-S图表示算法;6、 掌握书写程设计开发文档的能力(书写课程设计报告);二、内容与设计思想(1).系统功能与分析(填写你所设计的菜单及流程图)◆系统功能综述本文本编辑器通过菜单的选择可以实现对扑克牌的构建、洗牌
2、和发牌的功能,并可将最初始的扑克牌的花色与面值显示出来以及发牌后的花色与面值显示出来◆设计的主菜单程序初始化主窗口1低效洗牌2低效发牌选择执行的操作4高效洗牌发牌3退出第17页共17页◆N-S流程图main()主函数定义显示菜单的函数定义构建扑克牌的函数定义低效洗牌的函数定义低效发牌的函数定义高效洗牌、发牌的函数定义扑克牌花色的函数定义扑克牌面值的函数初始化二维数组deck为0初始化一维数组huase初始化一维数组dianshu调用菜单函数当为真时调用构建扑克牌函数输入用户所需要的选择根据用户的选择进行功能根据根据第17页共17页第17页共17页voidsuit(structpu
3、kepk[52])判断行数,打印正确的花色voidface(structpukepk[52])判断列数,打印正确的面值第17页共17页◆分析与设计说明每个函数的基本功能及函数的重要变量的意义:voidmenu()/*打印主菜单栏*/voidmake(structpukepk[52])/*构建一副扑克并打印起初的扑克顺序*/voidordinary_shuffle(structpukepk[52])/*进行低效洗牌*/voidordinary_deal(structpukepk[52])/*进行低效发牌*/voideffective(intdeck[][13],charhuase[
4、],chardianshu[])/*进行高效洗牌、发牌*/voidsuit(structpukepk[52])/*打印扑克的花色*/voidface(structpukepk[52])/*打印扑克的面值*/各函数中的重要变量的意义详见下面源程序段的解释说明部分各函数的之间的相互关系:第17页共17页(2).数据结构(程序中所使用的变量、数组、结构体)变量e使用户选择所需要操作的功能的按键i定义为1-52张牌,在1-4内的随机变量t定义为随机变量进行运算后所赋的值tds某张牌的面值在实现洗牌功能时暂时存放的变量地址ths某张牌的花色在实现洗牌功能时暂时存放的变量地址temp扑克牌在
5、实现高效洗牌、发牌时,某张牌暂时存放的变量地址row表示行数column表示列数card代表52张扑克牌jishu表示在实现高效洗牌、发牌时,发牌的牌数数组deck[4][13]定义为一个4x13的二维数组deck表示一副牌。行与花色对应:第0行代表红心、第l行代表方块、第2行代表草花、第3行代表黑心。列代表牌的面值:第0列到第9列对应于“A”到9,第10列到第12列对应于“J”、“Q’’和“K”。字符串数组suit代表四种花色,字符串数组face代表13张牌的面值。huase[4]定义扑克牌的花色:第0行代表红心、第l行代表方块、第2行代表草花、第3行代表黑心dianshu[1
6、3]定义扑克牌的面值:第0到13列分别用‘A’,’2’,’3’,’4’,’5’,’6’,’7’,’8’,'9','10','J','Q'’K'结构体structpuke用来定义扑克牌的花色与面值,使得扑克牌被打印时能够显示出每张牌的特征第17页共17页(3).模块设计根据功能需要:在运行程序时调用了这几个头文件源文件函数名功能fapai---xipai.cvoidmain()主函数voidmenu()打印主菜单栏voidmake(structpukepk[52])构建一副扑克并打印起初的扑克顺序voidor
7、dinary_shuffle(structpukepk[52])进行洗牌voidordinary_deal(structpukepk[52])进行发牌voideffective(intdeck[][13],charhuase[],chardianshu[])进行高效的洗牌、发牌voidsuit(structpukepk[52])打印扑克的花色voidface(structpukepk[52])打印扑克的面值(3)总体设计思想:◆先定义一个扑克牌的结构体变量,成员列表中包含扑克牌的
此文档下载收益归作者所有