版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 學生課程設計(論文)</p><p> 題 目: 紙牌游戲 </p><p> 學生姓名: 00000 學 號: </p><p> 所在院(系): 數學與計算機學院 </p><p> 專 業(yè):
2、 網絡工程 </p><p> 班 級: 2012級1班 </p><p> 指 導 教 師: 職稱: 教授 </p><p> 2014年 01月 03日</p><p><b> 學生課程設計任務書</b></p&g
3、t;<p> 注:任務書由指導教師填寫。</p><p><b> 摘 要</b></p><p> 數據結構課程是計算機專業(yè)中必修的核心課程之一,也是一門理論性很強的一門課程,同時也是一門鍛煉程序涉及能力的實踐課程,“數據結構”成為計算機程序設計的重要理論技術基礎,它不僅是計算機學科的核心課程,而且已成為其它理工專業(yè)的熱門選修課。主要包括線性表
4、、樹和二叉樹以及圖等基本類型的數據結構。數據結構是一門研究非數值計算的程序設計問題中計算機的操作對象以及它們之間的關系和運算等的學科,包括數據的邏輯結構、數據的存儲結構和數據的運算這三個方面的內容,其中邏輯結構可分為線性結構和非線性結構;存儲結構可分為順序存儲和鏈式存儲兩類,圖則屬于邏輯結構中的非線性結構。廣度優(yōu)先搜索(BFS)用的隊列一步一步完成的,從而找到的是最短路徑。</p><p> 紙牌游戲課程設計包
5、括紙牌信息的建立、了解其翻拍的原理、并簡明闡述翻牌的具體步驟與流程、最后輸出與打印翻牌結果,整個過程使學生進一步理解和掌握課堂上所學各種基本抽象數據類型的邏輯結構、存儲結構和操作實現算法,以及它們在程序中的使用方法。掌握一般軟件設計的基本內容和設計方法,培養(yǎng)學生進行規(guī)范化軟件設計的能力。而且使學生掌握使用各種計算機資料和有關參考資料的方法,提高學生進行程序設計的基本能力。</p><p> 關鍵詞:數據結構,紙
6、牌游戲,BFS,遍歷</p><p><b> Abstract</b></p><p> Data structure course is one of required core curriculum in computer major, course is a very practical, is also an exercise program invol
7、ves the ability to practice curriculum, "has become an important theoretical and technical foundation of computer program design data structure", it is not only the core course of computer science, and has beco
8、me a hot elective course for other science majors. Mainly includes the basic data structure type linear table, tree and binary tree and graph of two. Dat</p><p> A card game Solitaire, curriculum design inc
9、ludes information about its principle, and expounds the flop remake of the concrete steps and processes, the final output and print flop results, the whole process to enable students to understand and master the various
10、basic abstract data type science class logical structure, storage structure and operation of the realization of algorithm, and their in the process of using the method. To master the basic content and the general design
11、method of softwa</p><p> Key words: data structure, card games, BFS, traversal</p><p><b> 目錄</b></p><p><b> 摘 要I</b></p><p> AbstractII&l
12、t;/p><p><b> 1 前言2</b></p><p> 1.1 課題背景2</p><p> 1.2 課程設計目的2</p><p> 2 相關技術分析3</p><p><b> 2.1概要設計3</b></p><p>
13、 2.2設計原始數據的輸入及輸出格式4</p><p> 2.3算法流程圖6</p><p><b> 3 設計與實現7</b></p><p> 3.1 數據結構7</p><p> 3.2詳細設計和編碼7</p><p> 3.2.1 定義全局變量:7</p>
14、<p> 3.2.1主要程序代碼與分析如下:7</p><p> 3.3 上機調試過程10</p><p> 5 測試結果及其分析11</p><p> 6 用戶使用說明18</p><p><b> 7 源代碼18</b></p><p><b>
15、結論19</b></p><p><b> 參考文獻20</b></p><p><b> 附錄21</b></p><p><b> 1 前言</b></p><p> 《數據結構》是軟件工程專業(yè)的必修課之一,是一門綜合性的專業(yè)基礎課。本課程較系統地
16、介紹了軟件設計中常用的數據結構以及相應的實現算法,如線性表、棧、隊列、樹和二叉樹,圖、檢索和排序等,并對性能進行分析和比較,內容非常豐富。</p><p><b> 1.1 課題背景</b></p><p> “數據結構”旨在使學生學會分析研究數據對象的特性,學會數據的組織方法,以便選擇合適的數據邏輯結構和存儲結構,以及相應的運算,把現實世界中的問題轉化為計算機內
17、部的表示和處理,這是一個良好的程序設計技能訓練的過程。“數據結構”課程設計不僅可以幫助學生充分理解、鞏固所學的基本概念、原理和方法,更重要的是能夠針對實際問題來選擇數據結構,設計相應的存儲結構并加以實現,從而最終解決問題。結合數據結構所學知識,要求學生用C語言編程實現一個簡單的紙牌游戲設計。</p><p> 1.2 課程設計目的</p><p> ?。?)使學生進一步理解和掌握課堂上所
18、學各種基本抽象數據類型的邏輯結構、存儲結構和操作實現算法,以及它們在程序中的使用方法。</p><p> ?。?)使學生掌握軟件設計的基本內容和設計方法,并培養(yǎng)學生進行規(guī)范化軟件設計的能力。</p><p> ?。?) 使學生掌握使用各種計算機資料和有關參考資料,提高學生進行程序設計的基本能力。</p><p><b> 2 相關技術分析</b&g
19、t;</p><p><b> 2.1概要設計</b></p><p> 按照題目的要求,首先,應對52張牌進行編號并且保存它們的編號信息,編號的類型為整型,而對于這樣固定的數據,使用整型數組是最好的,因此,我們需要在程序的開始定義一共整型的數組,同時,為了方便對翻轉過程的記錄,在定義記錄編號信息的同時,定義一個與之相對應的標記數組,數組類型為整型。該程序的核心為
20、一個嵌套的循環(huán),所以定義兩個變量i,j作為循環(huán)條件。</p><p> 接著開始對變量進行初始化,首先是編號信息數組,使用for循環(huán)對數組進行1到52的賦值,代表52張紙牌,然后對標記數組賦值,將數組內的所有的值初始化為零,方便在接下來的循環(huán)中統計每張牌的翻牌數。數據初始化結束后,開始按照要求對紙牌進行翻轉,在嵌套循環(huán)中,定義了一個全局變量Flag,值為-1,負數定義為向下,正數定義為向上,這樣,翻轉一次,即乘
21、以Flag,同時,符合翻轉條件時,標記數組相應的編號的紙牌翻牌次數+1。</p><p> 當每個號碼每次遇到是某個數的倍數時,都會相應的翻一次,這樣,每張牌會翻的次數就各不一樣,可能很多次,也可能只有一兩次,結果就只是要輸出在經過各個不同次數的翻牌后,正面向上的牌都有哪幾個。舉例說明一下,比如24,第一次它是2的倍數時要從正面翻到背面,當進行到3時,就又要從背面翻回來,而到4時還要在翻,同理呢,到6.8.12
22、…它都要來回的翻。如果它在多次的翻牌后,正面還向上了,那么它就是要輸出的結果之一。</p><p> 循環(huán)結束后,編號數組中的數據已經更新,因此對數組進行掃描,大于零的即為正面向上的紙牌,輸出其編號即可,同時,輸出標記數組中的值,顯示每張牌的翻牌記錄,方便觀察或者尋找規(guī)律。到此,整個題目結束。</p><p> 2.2設計原始數據的輸入及輸出格式</p><p>
23、; 原始數據要求輸入紙牌的基礎編號,編號的輸入為整型。輸出的是經過規(guī)律翻轉后正面向上的紙牌的編號。</p><p> 輸入的數據信息如下:紙牌:1、2、3……、51、52。</p><p><b> 問題直觀分析表:</b></p><p> ?。ㄗⅲ簣D中“√”表示翻轉一次。)</p><p><b>
24、 2.3算法流程圖</b></p><p><b> 3 設計與實現</b></p><p><b> 3.1 數據結構</b></p><p> 按照題目要求,整個主體包括一個嵌套的循環(huán),外循環(huán)控制從2開始每張紙牌都作為基數進行翻牌,內循環(huán)控制對所有紙牌進行判斷,如果是當前循環(huán)中基數的倍數,則對其進行
25、翻轉操作。具體代碼如下:</p><p> for(i=2;i<=52;i++)</p><p><b> {</b></p><p> for(j=1;j<=52;j++)</p><p><b> {</b></p><p> if(j%i==0)&
26、lt;/p><p> data[j-1]=data[j-1]*Flag;</p><p><b> }</b></p><p><b> }</b></p><p> 3.2詳細設計和編碼</p><p> 3.2.1 定義全局變量:</p><p&
27、gt; 作為判斷紙牌是否向上的依據,我們需要定義一個全局變量Flag=-1,在循環(huán)中對所有紙牌進行操作。</p><p> 3.2.1主要程序代碼與分析如下:</p><p> #define Flag -1</p><p> ?。紤]到最后要判斷哪些紙牌是正面向上的,所以必須要有一共判斷條件,因此定義一個全局變量作為正反面的判斷條件。)</p>
28、<p> void main()</p><p><b> {</b></p><p> int i,j,data[52],flag[52];</p><p><b> char m;</b></p><p> ?。ㄔ诔绦蜷_始,建立了兩個數組,一個存放52張牌的編號,另外一個存放
29、相應編號的紙牌的翻牌記錄,便于后面對翻牌次數的輸出。)</p><p> for(i=1;i<=52;i++)</p><p><b> {</b></p><p> data[i-1]=i;</p><p> ?。ㄍㄟ^for循環(huán),向數組中錄入1-52個數,作為52張牌的編號,以便進行接下來的操作)</
30、p><p> flag[i-1]=0;</p><p> ?。▽lag數組中的相應編號紙牌的翻牌數初始化為0,在接下來的循環(huán)中,需要對翻牌次數進行統計。)</p><p><b> }</b></p><p> for(i=2;i<=52;i++)</p><p> ?。ㄇ短籽h(huán)的外循環(huán)
31、,保證基數的循環(huán)。)</p><p><b> {</b></p><p> for(j=1;j<=52;j++)</p><p> ?。ㄇ短籽h(huán)的內循環(huán),對每張紙牌進行基數的倍數條件判斷)</p><p><b> {</b></p><p> if(j%i=
32、=0)</p><p><b> {</b></p><p> data[j-1]=data[j-1]*Flag;</p><p> flag[j-1]++;</p><p> (翻牌一次,則相應的標記數組中該編號的位置數值+1,即將翻牌次數記入flag數組中。)</p><p><
33、b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> printf("最后所有正面向上的牌有:");</p><p> for(i=0;i<52;i++)</p><p
34、><b> {</b></p><p> if(data[i]>0)</p><p> ?。ㄔ擃}目中將大于零的編號定義為正面向上的紙牌的編號)</p><p> printf("第%d張牌 ",i+1);</p><p><b> }</b></p&g
35、t;<p> printf("\n");</p><p><b> }</b></p><p> 以上為程序主要代碼的分析。</p><p> 在程序中,主要還包括功能界面,如下:</p><p> printf("\t------------------------
36、-----------------------------------\n");printf("\t-----------------------------------------------------------\n");</p><p> printf("\t--------- 歡迎進入紙牌游戲 -----------\
37、n");</p><p> printf("\t--------- 1.查看題目 -----------\n");</p><p> printf("\t--------- 2.查看所有紙牌的翻牌次數 -----------\n");</p>
38、<p> printf("\t--------- 3.查看指定編號紙牌翻牌記錄 -----------\n");</p><p> printf("\t--------- 4.查看最終正面向上的紙牌編號 -----------\n");</p><p> printf("\t-----
39、---- 5.制作人信息 -----------\n");</p><p> printf("\t--------- 0.按0鍵結束 -----------\n");</p><p> printf("\t---------------------
40、--------------------------------------\n");</p><p> printf("\t-----------------------------------------------------------\n");</p><p> 同時,整個功能實現由do-while語句和switch語句組合而成,do-while
41、語句可以保證界面最少運行一次,switch語句保證每個功能獨立實現,通過choice的輸入來進入不同的功能,同時在每個小的獨立功能內,我都添加了獨立判斷是否回到主菜單的語句,如下:</p><p> printf("是否回到主菜單?(Y/N):");</p><p> n=getchar();</p><p> n=getchar();&l
42、t;/p><p> if(n=='Y')break;</p><p> else if(n=='N')</p><p><b> choice=0;</b></p><p> else printf("***********(提示:輸入錯誤,默認為繼續(xù)。)******\n&q
43、uot;);</p><p> 整個do-while語句的結束條件為:choice=0,所以如果用戶輸入為N,則直接將0賦值給choice,則符合循環(huán)結束的條件,則直接結束程序,如果輸入為Y,則break,繼續(xù)循環(huán),輸入錯誤,沒有對choice任何的賦值操作,即不能滿足結束條件,則無論輸入什么都默認為繼續(xù),break后繼續(xù)循環(huán)。由于程序默認的將回車操作通過getchar()賦值給n,導致不能正常的實現下面的判斷
44、,而直接顯示為輸入錯誤,所以加入兩個n=getchar()語句,保證第二句能夠正確的實現功能,讓用戶自行輸入條件,進行下一步的操作。在整個程序中,存在著大量的輸入判斷條件,如下:</p><p> if(num<1&&num>52)</p><p> printf("\t輸入錯誤!\n");</p><p> 這
45、兩句代碼就是對輸入的num值進行判斷,由于紙牌序號為1-52,所以不在這個范圍的值都為錯誤值,需要有一個錯誤信息的反饋,所以需要對輸入的信息進行判斷,然后通過不同的值對數據進行相應的操作,這對于程序的正確運行,有著至關重要的作用。</p><p> 3.3 上機調試過程</p><p> 該程序任務相對比較簡單,思路較明確。</p><p> 在一開始編寫代碼
46、的時候,在嵌套循環(huán)中,外循環(huán)for的條件(i=2;i<=52;i++),寫成(i=1;i<=52;i++),導致對每個紙牌的翻轉都多判斷了一次,按照一開始定義的大于零的編號數為正面向上的條件,最后輸出的結果正好相反,經過修改調試后,問題解決。</p><p> 在每個case中加入獨立的判斷是否回到主菜單的語句,一開始getchar()總是不能正確錄入,沒有輸入就直接運行下一個語句,在加入控制語句后
47、經過調試發(fā)現,程序把上一個輸入的回車直接默認賦值給getchar(),導致沒有輸入,直接進行下一個語句,后來使用了兩個連續(xù)的getchar()語句,第一個getchar()語句默認為回車,但是后面一個getchar()語句可以正確的重新輸入判斷值,經過重新的調試,運行正常,問題解決,但是希望能找到更完善的答案。在判斷是否繼續(xù)輸入紙牌編碼的功能中,同樣遇到了這個問題,按照相同的解決辦法解決。</p><p> 整
48、個程序由一個大的do-while語句和switch語句組合實現界面的不同功能,do-while語句通過choice=0作為結束的條件,在case 3中,有一個小的do-while語句實現紙牌編號的重復輸入,在整個程序中有很多信息的輸入,需要根據輸入的信息正確與否來反饋信息,否則會導致程序出錯,所以在調試的過程中加入了很多判斷條件,可以解決信息輸入錯誤的情況,但是仍然存在輸入非整型值程序出錯的問題,所以在輸入條件中加入提示信息,以保證信息
49、類型輸入正確。</p><p> 5 測試結果及其分析</p><p> 1.測試結果如下圖5.1-5.11;</p><p> 2結果分析以注釋的形式寫在圖的下方;</p><p> 圖5.1:MessageBox制作的一個歡迎提示</p><p> 5.2:紙牌游戲程序的主功能界面</p>
50、<p> 5.3:紙牌游戲程序功能1:查看題目</p><p> 5.4:紙牌游戲程序功能2:查看所有紙牌的翻牌次數</p><p> 5.4.1:續(xù)5.4</p><p><b> 第一章 題目與要求</b></p><p> 5.4.2:續(xù)5.4</p><p> 5.5
51、:紙牌游戲程序功能3:查看指定編號紙牌翻牌記錄</p><p> 5.6:紙牌游戲程序功能4:查看最終正面向上的紙牌編號</p><p> 5.7:紙牌游戲程序結束畫面</p><p> 5.8:主界面輸入錯誤提示</p><p> 5.9:功能3輸入錯誤提示以及判斷是否需要繼續(xù)查詢紙牌編碼</p><p>
52、 5.10:回主菜單判斷以及輸入錯誤提示</p><p> 5.11:功能5輸出制作人信息</p><p><b> 6 用戶使用說明</b></p><p> 用戶運行程序,按操作提示進行操作。程序運行環(huán)境VC++6.0。</p><p><b> 7 源代碼</b></p>
53、<p><b> 見附錄</b></p><p><b> 結論</b></p><p> 這個學期是我第一次接觸《數據結構》,在完成設計的過程中,我遇到了一系列的問題,能明顯感覺到自己在很多方面的不足,但另一方面,問題是要分析解決的,找出問題以便為完善學習計劃,改變學習內容與方法提供實踐依據。所以在整個過程中,我不斷加深了對數
54、據結構的理解與一些程序寫書時要注意的事項,體會了《數據結構》這門課程在解決現實生活問題上的可行性,也更進一步地激發(fā)了我的學習熱情。 </p><p> 做一個課程設計要注意很多方面,無論是格式,還是書寫的內容和要表達的思想都得嚴格要求自己,所以做起來真的不算容易。本次課程設計涉及了很多知識,由于往日沒有學得很扎實,對某些問題仍然比較疑惑,所以要進行充足的補習。期間,我翻閱了很多書籍,知識總是聯系很緊密的,解決完
55、這個問題又發(fā)現了新的問題,之后,為了解決新問題又發(fā)現了更多的問題,就這樣,我得等到一個一個把問題處理完。</p><p> 問題越多,明白的也就會越來越多,做一次課程設計就像從頭到尾做了一次系統的復習,從基礎到難點,從輪廓到每個知識點,數據結構的研究內容在我的腦海里就再也不像以前那么模糊了。設計程序來解決現在存在的問題,把理論知識付諸于實踐,對于我們這些計算機專業(yè)的本科生來說,實際能力的培養(yǎng)至關重要,而這種實際
56、能力的培養(yǎng)單靠課堂教學是遠遠不夠的,必須從課堂走向實踐,這也是我們學習的目的。做完設計,我已深刻體會到了學習這門課程的重要性與必要性了,同時,它留給我很多思考:學習是思考一個的過程,我們應該主動去想學習一門知識后怎么去運用,而不是一味地被動地接受。</p><p> 數據結構及其算法在解決現實生活中的常見問題和書寫軟件設計方面上都有著重要的意義,我們應該好好掌握它的相關知識,在以后的學習過程中,更多的去學會如何
57、運用知識。</p><p><b> 參考文獻</b></p><p> [1].王昆侖、李紅 《數據結構與算法》 北京:中國鐵道出版社</p><p> [2].寧國正 《數據結構(C語言版)》 南京:東南大學出版社</p><p> [3].嚴尉敏 《數據結構(C語言版)》 北京:清華大學出版社</p&
58、gt;<p> [4].吳乃陵 《C++程序設計》 北京:高等教育出版社</p><p> [5] 譚浩強,張基溫,唐永炎編著. C語言程序設計教程. 北京:高等教育出版社,1992</p><p> [6] 譚浩強編著. C語言程序設計. 北京:清華大學出版社, 2007</p><p> [7] 嚴蔚敏,吳偉民編著. 數據結構(C語言版
59、). 北京:清華大學出版社,2008</p><p> [8] 嚴蔚敏,吳偉民,米寧編著. 數據結構題集(C語言版)北京:清華大學出版社,2008</p><p> [9] 劉愛民編著. 離散數學. 北京;北京郵電大學出版社,2008</p><p><b> 附錄</b></p><p><b> 程
60、序源代碼:</b></p><p> #include<stdio.h></p><p> #include<windows.h></p><p> #define Flag -1//定義一個全局變量作為正反面的判斷條件。</p><p> void main()</p><p&
61、gt;<b> {</b></p><p> int i,j,data[52],flag[52],choice,num;//建立兩個數組,一個存放52張牌的編號,另外一個存放相應編號的紙牌的翻牌記錄。</p><p><b> char m,n;</b></p><p> MessageBox(NULL,"
62、;歡迎進入紙牌游戲程序!","溫馨提示",MB_ICONASTERISK);//添加了一個MessageBox歡迎對話框</p><p> for(i=1;i<=52;i++)</p><p><b> {</b></p><p> data[i-1]=i;//錄入52張牌的編號。</p>
63、<p> flag[i-1]=0;//將相應編號紙牌的翻牌數初始化為0。</p><p><b> }</b></p><p> for(i=2;i<=52;i++)//外循環(huán),基數循環(huán)。</p><p><b> {</b></p><p> for(j=1;j<
64、=52;j++)//內循環(huán),基數倍數條件判斷。</p><p><b> {</b></p><p> if(j%i==0)</p><p><b> {</b></p><p> data[j-1]=data[j-1]*Flag;//將翻轉后的結果更新data中的數據。</p>
65、<p> flag[j-1]++;//翻牌一次,即記入flag數組中。</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> do{</b><
66、;/p><p> printf("\t-----------------------------------------------------------\n");printf("\t-----------------------------------------------------------\n");</p><p> printf(&
67、quot;\t--------- 歡迎進入紙牌游戲 -----------\n");</p><p> printf("\t--------- 1.查看題目 -----------\n");</p><p> printf("\t---------
68、 2.查看所有紙牌的翻牌次數 -----------\n");</p><p> printf("\t--------- 3.查看指定編號紙牌翻牌記錄 -----------\n");</p><p> printf("\t--------- 4.查看最終正面向上的紙牌編號 -----
69、------\n");</p><p> printf("\t--------- 5.制作人信息 -----------\n");</p><p> printf("\t--------- 0.按0鍵結束 -----------\n");
70、</p><p> printf("\t-----------------------------------------------------------\n");</p><p> printf("\t-----------------------------------------------------------\n");</p
71、><p> printf("請輸入您的選擇(數字0-5):");//主界面</p><p> scanf("%d",&choice);</p><p> switch(choice)//通過switch語句進行功能的選擇</p><p><b> {</b></p
72、><p><b> case 1:{</b></p><p> printf("---題目---\n");</p><p> printf("**************************************************************\n");</p>&l
73、t;p> printf("編號為1-52張牌,正面向上,從第2張開始,以2為基數,是2的倍數的牌翻一次,");</p><p> printf("直到最后一張牌;然后,從第3張開始,以3為基數,是3的倍數的牌翻一次,");</p><p> printf("直到最后一張牌;直到以52為基數的翻過,輸出:這時輸出正面向上的牌有哪些
74、?\n");</p><p> printf("****************************************************************");</p><p> printf("\n");</p><p> printf("\n");</p>
75、;<p> printf("是否回到主菜單?(Y/N):");//在每個獨立功能后添加了獨立的判斷語句,從而可以選擇性的回到主菜單。</p><p> n=getchar();</p><p> n=getchar();</p><p> if(n=='Y')break;</p><p&g
76、t; else if(n=='N')</p><p> choice=0;//0作為整個界面的循環(huán)結束條件,所以直接將choice=0,即可結束循環(huán)。</p><p> else printf("**********(提示:輸入錯誤,默認為繼續(xù)。)***********\n");</p><p><b> }br
77、eak;</b></p><p><b> case 2:{</b></p><p> printf("以下為翻牌記錄:\n");</p><p> printf("\t----第1張牌翻過0次。----\t");</p><p> printf("\
78、n");</p><p> printf("\n");</p><p> for(i=1;i<52;i++)</p><p><b> {</b></p><p> printf("\t----第%d張牌翻過%d次。----\t",i+1,flag[i]);
79、</p><p> if(i%2==0)</p><p> printf("\n");</p><p><b> }</b></p><p> printf("\n");</p><p> printf("是否回到主菜單?(Y/N):&q
80、uot;);</p><p> n=getchar();</p><p> n=getchar();</p><p> if(n=='Y')break;</p><p> else if(n=='N')</p><p><b> choice=0;</b>
81、</p><p> else printf("**********(提示:輸入錯誤,默認為繼續(xù)。)*********** **\n");</p><p><b> }break;</b></p><p><b> case 3:{</b></p><p><b>
82、 do{</b></p><p> printf("\t請輸入您想查詢的紙牌編碼:");</p><p> scanf("%d",&num);</p><p> if(num<1&&num>52)//紙牌的序號為1-52,所以其他數值都為輸入錯誤。</p>
83、<p> printf("\t輸入錯誤!\n");</p><p><b> else</b></p><p><b> {</b></p><p> printf("\t紙牌翻轉記錄如下:\n");</p><p> printf(&qu
84、ot;\t紙牌翻轉次數為%d\n",flag[num-1]);</p><p> for(j=2;j<=52;j++)//內循環(huán),基數倍數條件判斷。</p><p><b> {</b></p><p> if(num%j==0)</p><p><b> {</b><
85、/p><p> printf("\t在以編號%d為基數時此紙牌有一次翻轉。\n",j);</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> pri
86、ntf("需要繼續(xù)查詢紙牌編碼嗎?(Y/N):");//獨立的判斷語句,作為do-while的結束條件,從而可循環(huán)的查詢紙牌編碼。</p><p> m=getchar();</p><p> m=getchar();</p><p> if(m!='Y'&&m!='N')</p>
87、<p> printf("************(提示:輸入錯誤,默認為跳過。)******** **\n");</p><p> }while(m=='Y');</p><p> printf("是否回到主菜單?(Y/N):");</p><p> n=getchar();</p
88、><p> n=getchar();</p><p> if(n=='Y')break;</p><p> else if(n=='N')</p><p><b> choice=0;</b></p><p> else printf("******
89、********(提示:輸入錯誤,默認為繼續(xù)。)***** *****\n");</p><p><b> }break;</b></p><p><b> case 4:{</b></p><p> printf("\t最后所有正面向上的牌有:\n");</p><
90、p> for(i=0;i<52;i++)</p><p><b> {</b></p><p> if(data[i]>0)//所有大于0的數即為正面向上的紙牌。</p><p> printf(" 第%d張牌 ",i+1);</p><p><b> }&l
91、t;/b></p><p> printf("\n");</p><p> printf("是否回到主菜單?(Y/N):");</p><p> n=getchar();</p><p> n=getchar();</p><p> if(n=='Y
92、9;)break;</p><p> else if(n=='N')</p><p><b> choice=0;</b></p><p> else printf("***************(提示:輸入錯誤,默認為繼續(xù)。)**** ******\n");</p><p>
93、<b> }break;</b></p><p><b> case 5:{</b></p><p> printf("\t\t\t制作人: \n");</p><p> printf("\t\t\t班級: \n");</p><p> printf
94、("\t\t\t指導老師: \n");</p><p> printf("是否回到主菜單?(Y/N):");</p><p> n=getchar();</p><p> n=getchar();</p><p> if(n=='Y')break;</p><
95、p> else if(n=='N')</p><p><b> choice=0;</b></p><p> else printf("***************(提示:輸入錯誤,默認為繼續(xù)。)****** *****\n");</p><p><b> }</b>&l
96、t;/p><p> case 0:break;</p><p> default:printf("\t輸入錯誤,請重新輸入!\n");</p><p><b> }</b></p><p> }while(choice!=0);//0作為整個循環(huán)的結束條件。</p><p>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 數據結構課程設計-紙牌游戲
- 數據結構課程設計“紙牌游戲”
- 數據結構課程設計--紙牌游戲
- 數據結構課程設計報告-紙牌游戲
- 數據結構課程設計-- 猴子選大王+ joseph環(huán)+紙牌游戲
- 迷宮游戲數據結構課程設計
- 紙牌游戲課程設計
- 紙牌游戲課程設計
- 數據結構課程設計---走迷宮游戲
- 數據結構課程設計---走迷宮游戲
- 數據結構課程設計---走迷宮游戲
- 數據結構課程設計--數據結構課程設計----huffman編碼
- 數據結構課程設計--漢諾塔游戲
- 黑白棋游戲數據結構課程設計
- 數據結構課程設計--flash 迷宮小游戲
- 紙牌游戲-課程設計報告
- 數據結構課程設計--24點游戲源代碼
- 數據結構課程設計
- 數據結構課程設計
- 數據結構課程設計
評論
0/150
提交評論