编程模拟洗牌和发牌过程c语言,洗牌发牌模拟系统课程设计报告.doc
集美大學誠毅學院
《高級語言程序設計》課程設計
實驗報告
題目:洗牌和發牌模擬
專業:計算機科學與技術
班級:
姓名:
成績:
指導教師:
完成日期:2008 年 6月 26 日
一、目的
C語言進行程設計的能力;
2、?
3、?
4、?
5、? N-S圖表示算法;
6、? 二、內容與
選擇執行的
操作
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’,’8’,'9','10','J','Q' ’K'
結構體
struct puke 用來定義撲克牌的花色與面值,使得撲克牌被打印時能夠顯示出每張牌的特征
(3).模塊設計
根據功能需要:
在運行程序時調用了這幾個頭文件
源文件函數名功能fapai---xipai.cvoid main()主函數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])打印撲克的面值
(3)總體設計思想:
◆先定義一個撲克牌的結構體變量,成員列表中包含撲克牌的花色與面值
◆創建主菜單欄,表明此程序的主要用途及相關操
總結
以上是生活随笔為你收集整理的编程模拟洗牌和发牌过程c语言,洗牌发牌模拟系统课程设计报告.doc的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言程序设计分段定时器,单片机C语言编
- 下一篇: 求一个qq个性网情侣网名