- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
洗牌发牌模拟系统课程的设计的报告
第 PAGE 2 页 共 NUMPAGES 17 页
集美大学诚毅学院
《高级语言程序设计》课程设计
实验报告
题目:洗牌和发牌模拟
专业:计算机科学与技术
班级:
姓名:
成绩:
指导教师:
完成日期:2008 年 6月 26
一、目的
1. 进一步掌握和利用C语言进行程设计的能力;
2、? 进一步理解和运用结构化程设计的思想和方法;
3、? 初步掌握开发一个小型实用系统的基本方法;
4、? 学会调试一个较长程序的基本方法;
5、? 学会利用流程图或N-S图表示算法;
6、? 掌握书写程设计开发文档的能力(书写课程设计报告);
二、内容与设计思想
(1).系统功能与分析(填写你所设计的菜单及流程图)
◆系统功能综述
本文本编辑器通过菜单的选择可以实现对扑克牌的构建、洗牌和发牌的功能,并可将最初始的扑克牌的花色与面值显示出来以及发牌后的花色与面值显示出来
设计的主菜单
程序初始化主窗口
程序初始化主窗口
1 低效洗牌
1 低效洗牌
2 低效发牌
2 低效发牌
选择执行的
操作
4高效洗牌发牌
4高效洗牌发牌
3 退出
3 退出
N-S流程图
main()主函数
定义显示菜单的函数
定义构建扑克牌的函数
定义低效洗牌的函数
定义低效发牌的函数
定义高效洗牌、发牌的函数
定义扑克牌花色的函数
定义扑克牌面值的函数
初始化二维数组deck为0
初始化一维数组huase
初始化一维数组dianshu
调用菜单函数
当为真时调用构建扑克牌函数
当为真时
输入用户所需要的选择根据用户的选择进行功能
输入用户所需要的选择
根据用户的选择进行功能
根据根据
void suit(struct puke pk[52])
判断行数,打印正确的花色
判断行数,打印正确的花色
void face(struct puke pk[52])
判断列数,打印正确的面值
判断列数,打印正确的面值
分析与设计说明
每个函数的基本功能及函数的重要变量的意义:
void menu() /*打印主菜单栏*/
void make(struct puke pk[52]) /*构建一副扑克并打印起初的扑克顺序*/
void ordinary_shuffle(struct puke pk[52]) /*进行低效洗牌*/
void ordinary_deal(struct puke pk[52]) /*进行低效发牌*/
void effective(int deck[][13],char huase[],char dianshu[]) /*进行高效洗牌、发牌*/
void suit(struct puke pk[52]) /*打印扑克的花色*/
void face(struct puke pk[52]) /*打印扑克的面值*/
各函数中的重要变量的意义详见下面源程序段的解释说明部分
各函数的之间的相互关系:
(2).数据结构(程序中所使用的变量、数组、结构体)
变量
e 使用户选择所需要操作的功能的按键
i 定义为1-52张牌,在1-4内的随机变量
t 定义为随机变量进行运算后所赋的值
tds 某张牌的面值在实现洗牌功能时暂时存放的变量地址
ths 某张牌的花色在实现洗牌功能时暂时存放的变量地址
temp 扑克牌在实现高效洗牌、发牌时,某张牌暂时存放的变量地址
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[13] 定义扑克牌的面值:第0到13列分别用‘A’,’2’,’3’,’4’,’5’,’6’,’7’,
结构体
struct puke 用来定义扑克牌的花色与面值,使得扑克牌被打印时能够显示出每张牌的特征
(3).模块设计
根据功能需要:
在运行程序时调用了stdio.h string.h stdlib.h time.h这几个头文件
源文件
函数名
功能
fapaixipai.c
v
您可能关注的文档
- 河南省手足口病防治技术的方案.doc
- 河南省新郑市农业技术推广的体系.doc
- 河南省开封高中20132014学年高二上学期期末考试政治试题 含的答案.doc
- 河南省新蔡二高20132014学年高二上学期第三次月考英语试题 无的答案.doc
- 河南省某高层商住楼转换层施工的方案.doc
- 河南省武陟一中西区20132014学年高一年级第二次月考生物试题 无的答案.doc
- 河南省武陟一中西区20132014学年高一年级第二次月考地理试题 含的答案.doc
- 河南省武陟一中西区20132014学年高一年级第二次月考英语试题 含的答案.doc
- 河南省沁阳市第一中学20132014学年高二英语单元检测题Unit13 .doc
- 河南省武陟一中西区20132014学年高二年级第三次月考政治试题 含的答案.doc
文档评论(0)