《高级语言程序设计》
课程设计报告
题目随机发牌
专业网络工程
班级163
姓名代应豪
指导教师代美丽
成绩
20162017学年第2学期
f目录
一、设计内容及要求3
二、概要设计3
1系统功能与分析填写你所设计的菜单及流程图3
2数据结构程序中所使用的变量、数组、结构体8
3模块设计9
4调试过程测试数据及结果出现了哪些问题如何修改的
10
三、设计结果与分析11
5程序有待改进的地方及本次实习的收获和建议13
四、程序代码13
附录完整、可运行代码及注释16
f一、设计内容及要求
1进一步掌握和利用C语言进行程设计的能力
2、进一步理解和运用结构化程设计的思想和方法
3、初步掌握开发一个小型实用系统的基本方法
4、学会调试一个较长程序的基本方法
5、学会利用流程图或NS图表示算法
6、掌握书写程设计开发文档的能力书写课程设计报告
二、概要设计
1系统功能与分析填写你所设计的菜单及流程图
◆系统功能综述
本文本编辑器通过菜单的选择可以实现对扑克牌的构建、洗牌和发牌的功能并可将最初始的扑克牌的花色与面值显示出来以及发牌后的花色与面值显示出来
◆设计的主菜单
f◆NS流程图
mai
主函数
ffvoidsuitstructpukepk52
判断行数打印正确的花色voidfacestructpukepk52
判断列数打印正确的面值
f◆分析与设计说明
每个函数的基本功能及函数的重要变量的意义
voidme
u打印主菜单栏
voidmakestructpukepk52构建一副扑克并打印起初的扑克顺序
voidordi
ary_shufflestructpukepk52进行低效洗牌
voidordi
ary_dealstructpukepk52进行低效发牌
voideffectivei
tdeck13charhuasechardia
shu进行高效洗牌、发牌voidsuitstructpukepk52打印扑克的花色
voidfacestructpukepk52打印扑克的面值
各函数中的重要变量的意义详见下面源程序段的解释说明部分
各函数的之间的相互关系
f2数据结构程序中所使用的变量、数组、结构体
变量
e使用户选择所需要操作的功能的按键
i定义为152张牌在14内的随机变量
t定义为随机变量进行运算后所赋的值
tds某张牌的面值在实现洗牌功能时暂时存放的变量地址
ths某张牌的花色在实现洗牌功能时暂时存放的变量地址
temp扑克牌在实现高效洗牌、发牌时某张牌暂时存放的变量地址
row表示行数
colum
表示列数
card代表52张扑克牌
jishu表示在实现高效洗牌、发牌时发牌的牌数
数组
deck413定义为一个4x13的二维数组deck表示一副牌。行与花色对应第0行代表红心、第l行代表方块、第2行代表草花、第3行代表黑心。列代表r