![c++課程設(shè)計(jì)論文_第1頁(yè)](http://file.renrendoc.com/FileRoot1/2019-7/13/ecd5757c-63a1-4d9a-ba38-712df36314a0/ecd5757c-63a1-4d9a-ba38-712df36314a01.gif)
![c++課程設(shè)計(jì)論文_第2頁(yè)](http://file.renrendoc.com/FileRoot1/2019-7/13/ecd5757c-63a1-4d9a-ba38-712df36314a0/ecd5757c-63a1-4d9a-ba38-712df36314a02.gif)
![c++課程設(shè)計(jì)論文_第3頁(yè)](http://file.renrendoc.com/FileRoot1/2019-7/13/ecd5757c-63a1-4d9a-ba38-712df36314a0/ecd5757c-63a1-4d9a-ba38-712df36314a03.gif)
![c++課程設(shè)計(jì)論文_第4頁(yè)](http://file.renrendoc.com/FileRoot1/2019-7/13/ecd5757c-63a1-4d9a-ba38-712df36314a0/ecd5757c-63a1-4d9a-ba38-712df36314a04.gif)
![c++課程設(shè)計(jì)論文_第5頁(yè)](http://file.renrendoc.com/FileRoot1/2019-7/13/ecd5757c-63a1-4d9a-ba38-712df36314a0/ecd5757c-63a1-4d9a-ba38-712df36314a05.gif)
已閱讀5頁(yè),還剩13頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
畢業(yè)設(shè)計(jì)課程定做 QQ1714879127VC+課程設(shè)計(jì)報(bào)告課 程: 院 系:選題名稱: TICTACTOE游戲(三子連珠游戲)題目級(jí)別: B級(jí)班 級(jí):學(xué) 號(hào): 姓 名:時(shí) 間:指導(dǎo)老師: v 程序功能簡(jiǎn)介 該程序是TICTACTOE游戲,棋盤為3*3,3個(gè)棋子連起來(lái)即為贏。輸入?yún)?shù)時(shí),若輸入的數(shù)字超過(guò)邊界或在已有棋子的地方再輸入,則提示出錯(cuò),要求重新輸入。v 課程設(shè)計(jì)要求1.將程序改寫成類。2.將棋盤擴(kuò)充成4*4。3.統(tǒng)計(jì)輸贏結(jié)果并打印輸出。4.選做:使游戲更生動(dòng)。(輸贏條件相同)評(píng)定難易程度:Bv 程序設(shè)計(jì)思想 設(shè)計(jì)一個(gè)玩家下棋的操作類,里面封裝了棋盤棋子類別和輸贏次數(shù)等成員數(shù)據(jù)。 操作類的函數(shù)包括有初始化棋盤下棋判斷輸贏等。定義一個(gè)類的對(duì)象,在調(diào)用類中函數(shù)時(shí)直接使用對(duì)象名加函數(shù)名即可。 將兩個(gè)玩家定義為兩個(gè)數(shù)組用于區(qū)分他們的信息,分別用O和X代表兩個(gè)玩家所用棋子,然后分別對(duì)兩個(gè)玩家通過(guò)已定義的類的對(duì)象調(diào)用類中的函數(shù),完成下棋過(guò)程。 進(jìn)一步改進(jìn)程序:1. 程序中用if else if格式的語(yǔ)句來(lái)判斷玩家的輸贏,當(dāng)棋盤增大時(shí),三子連珠的各種可能性成倍增加,使得語(yǔ)句非常繁瑣,所以將其改為for語(yǔ)句的循環(huán)結(jié)構(gòu)進(jìn)行判斷,當(dāng)棋盤增大時(shí),只需更改循環(huán)條件結(jié)束的參數(shù)即可,可靈活使用于各種尺寸的棋盤。2. 為防止用戶誤操作,特別是在姓名的輸入時(shí)的失誤,可以采用cin.getline函數(shù)讀入在判斷確認(rèn)。3. 在完成第一步的基礎(chǔ)上可將三子連珠擴(kuò)充為標(biāo)準(zhǔn)的五子棋。v 原程序各個(gè)功能說(shuō)明1. 原程序的結(jié)構(gòu)(見(jiàn)下頁(yè))開始輸出菜單及提示信息輸入姓名由“O”先手下棋結(jié)束輸出最終結(jié)果詢問(wèn)是否繼續(xù)下棋“O”輸入棋子所在的行列判斷勝負(fù)和棋條件輸出結(jié)果“X”輸入棋子所在的行列不符合錯(cuò)誤正確錯(cuò)誤正確符合 YN2. 類的說(shuō)明 類是對(duì)一組具有相同屬性、相同行為的對(duì)象的抽象的描述,不占用內(nèi)存空間??梢园杨惪醋鳌袄碚撋稀钡膶?duì)象,也就是說(shuō),它為對(duì)象提供藍(lán)圖,但在內(nèi)存中并不存在。從這個(gè)藍(lán)圖可以創(chuàng)建任何數(shù)量的對(duì)象。從累創(chuàng)建的所有對(duì)象都有相同的成員:屬性、行為或方法。這些對(duì)象才是具體的獨(dú)立的個(gè)體,占用存儲(chǔ)空間,因此,對(duì)象又稱作類的實(shí)例。 下面以具體程序說(shuō)明。 在頭文件之后定義了一個(gè)名為CGobang的類:class CGobang char board44;/用數(shù)組來(lái)定義一個(gè)4*4的棋盤public:void Guize();/打印菜單總體情況,說(shuō)明游戲規(guī)則和方法,無(wú)返回值 void Dayinqp();/打印棋盤,無(wú)返回值void Xiaqi(char*,int &,int &,char);/下棋,無(wú)返回值int Huosheng(int,int,char);/判斷那個(gè)選手贏,返回值為一整形數(shù)void Choice(char &);/是否再玩,無(wú)返回值void Chongzhi();/重置棋盤,無(wú)返回值; 在這個(gè)類中,定義了一個(gè)未經(jīng)說(shuō)明的數(shù)組被默認(rèn)為私有成員,即char board44,用它來(lái)存儲(chǔ)玩家在下棋的過(guò)程中所輸入的棋子的坐標(biāo),并以此來(lái)區(qū)分表示不同的兩個(gè)玩家。另外,這個(gè)類中還說(shuō)明了五個(gè)沒(méi)有返回值的函數(shù)以及一個(gè)返回值為整形數(shù)的函數(shù),對(duì)它們的定義將出現(xiàn)在主函數(shù)完成之后,所以本著“先定義,后調(diào)用”的原則,在類中的說(shuō)明相當(dāng)于自定義函數(shù)中的函數(shù)說(shuō)明,這樣可以使在主函數(shù)調(diào)用類中的公有函數(shù)時(shí)變得更加明了清晰。 在這個(gè)函數(shù)中,對(duì)類的對(duì)象的定義出現(xiàn)在了主函數(shù)第一行,即:CGobang s;/定義類的一個(gè)對(duì)象s對(duì)這個(gè)對(duì)象的定義的目的是,在下面不同玩家的下其中的不同操作中,可以直接通過(guò)這個(gè)對(duì)象來(lái)分別調(diào)用類中的任意公有成員函數(shù),這樣就避免了通過(guò)類名來(lái)調(diào)用函數(shù)時(shí)可能出現(xiàn)的冗長(zhǎng)??梢哉f(shuō),在這個(gè)程序里,這個(gè)對(duì)象s起到了把主函數(shù)與類連接起來(lái)的橋梁作用。v 課程設(shè)計(jì)要求的實(shí)現(xiàn)一、類的封裝。 首先,在源程序代碼中出現(xiàn)的主要函數(shù)程序有:void PrintBoard(); / 打印棋盤void PrintInfo(); /輸出游戲提示信息void PrintStats(int, int, int); / 輸出統(tǒng)計(jì)的勝負(fù)信息void IfError(int&, int&); / 判斷輸入時(shí)候有錯(cuò)void ChoiceOfChar(char&); / 詢問(wèn)用戶是否在玩一局void PromptTurnO(int&, int&); / 選擇“O”的玩家下棋(先走)void PromptTurnX(int&, int&); / 選擇“X”的玩家下棋(后走)char board33; / 棋盤在我的程序中的主要函數(shù)程序?yàn)椋簐oid Guize();/打印菜單總體情況,說(shuō)明游戲規(guī)則和方法,無(wú)返回值void Dayinqp();/打印棋盤,無(wú)返回值void Xiaqi(char*,int &,int &,char);/下棋,無(wú)返回值int Huosheng(int,int,char);/判斷那個(gè)選手贏,返回值為一整形數(shù)void Choice(char &);/是否再玩,無(wú)返回值void Chongzhi();/重置棋盤,無(wú)返回值以此來(lái)對(duì)比說(shuō)明。源代碼中的關(guān)于打印棋盤以及規(guī)則提示的說(shuō)明的函數(shù)沒(méi)有變動(dòng)。去掉了關(guān)于輸出統(tǒng)計(jì)勝負(fù)信息的函數(shù),在主函數(shù)體中用三個(gè)一組的條件自增變量代替,這樣減少了復(fù)雜的函數(shù)調(diào)用,說(shuō)明以及定義,精簡(jiǎn)了程序,并且達(dá)到了預(yù)想的目的。由于對(duì)玩家輸入是否有錯(cuò)的判斷在玩家每次確定下棋之后必須進(jìn)行,所以如果像源代碼一樣把玩家下棋的函數(shù)和判斷是否有誤分開定義的話,在沒(méi)下一步棋之后都要重復(fù)調(diào)用判斷函數(shù),顯得十分復(fù)雜,所以把源代碼中的判斷是否有錯(cuò)的函數(shù)與玩家下棋合并在 void Xiaqi(char*,int &,int &,char)中,對(duì)它們的定義在后面的類的成員函數(shù)的定義中一起定義,這樣可以減少很多不必要的麻煩,起到了精簡(jiǎn)程序的作用。源代碼中把連個(gè)玩家分別定義為兩個(gè)函數(shù),用以區(qū)別先后手,然后在定義一個(gè)數(shù)組char board33(由于源代碼中顯示的是3*3的棋盤,所以數(shù)組定義為board33)來(lái)表示棋盤。在這點(diǎn)我做了比較大的改動(dòng),首先是定義了一個(gè)類中的私有成員數(shù)組,用以記錄每位玩家所下棋子的坐標(biāo),這樣既可以通過(guò)用不同的指針變量來(lái)指向鍵盤的方法來(lái)區(qū)分不同的玩家,亦可以同時(shí)用它表示整個(gè)棋盤。這樣使程序得到了進(jìn)一步的精簡(jiǎn)。void CGobang:Xiaqi(char*player1,int & x,int & y,char c)cout該player1下棋了,請(qǐng)輸入:endl;coutx;cout y;while(x4|y4|x1|y1| !=boardx-1y-1)/輸入數(shù)字超過(guò)邊界或在已有棋子的地方再輸入/ !=boardx-1y-1表示已有棋子cout對(duì)不起,您的輸入有誤,請(qǐng)重新輸入!endl;coutx;cout y;boardx-1y-1=c;/在x行,y列處下O或X由于需要重復(fù)使用空棋盤,我又增加了一個(gè)重置棋盤的函數(shù)void Chongzhi()來(lái)進(jìn)行每次開始下棋時(shí)的棋盤清空重置。void CGobang:Chongzhi()for(int Row=0;Row4;Row+)for(int Column=0;Column4;Column+)boardRowColumn= ;完成對(duì)主要函數(shù)的改動(dòng)之后,把它們封裝到類CGobang中即可。二、將棋盤擴(kuò)充為4*4在類的封裝中已經(jīng)詳細(xì)的將我改動(dòng)過(guò)的棋盤說(shuō)明了,所以,要把棋盤擴(kuò)充為n*n只需把定義過(guò)的私有成員數(shù)組boardnn中的n改為所需數(shù)字即可。即,定義board44,就完成了對(duì)棋盤4*4的擴(kuò)充。三、統(tǒng)計(jì)輸出結(jié)果并打印輸出。同樣,在類的封裝中也已說(shuō)明我對(duì)記錄勝負(fù)結(jié)果以及輸出的方法,下面給出源代碼:記錄勝負(fù)結(jié)果:int FirstWin=0,SecondWin=0,Draws=0,x,y,N;在每次獲勝、失敗以及和棋的判斷完成之后,令FirstWin SecondWin Draws分別依情況自增,達(dá)到記錄勝負(fù)次數(shù)的目的。打印輸出:/輸出游戲輸贏次數(shù)coutplayer1贏了FirstWin次endl;coutplayer2贏了SecondWin次endl;cout和Draws次endl;cout謝謝使用。endl;cout任意鍵繼續(xù)。endl;即在主函數(shù)結(jié)束時(shí)輸出已記錄的數(shù)值即可完成。l 主要源程序及注釋1主函數(shù)void main ()/主函數(shù)CGobang s;/定義類的一個(gè)對(duì)象s s.Guize();/通過(guò)已定義的類的對(duì)象s調(diào)用Guize函數(shù),提示玩家如何進(jìn)行游戲char player120,player220;/定義兩個(gè)玩家的姓名變量,分別用兩個(gè)數(shù)組儲(chǔ)存int FirstWin=0,SecondWin=0,Draws=0,x,y,N;/說(shuō)明變量,并對(duì)部分變量付初值,以待計(jì)算輸贏結(jié)果char choice=Y;cin.ignore(20,n);/輸入輸出流,前面如果有輸入把輸入行所有字符 /取空,以便后面的輸入從新的一行開始cout請(qǐng)輸入第一個(gè)玩家姓名:;cin.getline(player1,20);/連續(xù)讀取數(shù)據(jù),實(shí)現(xiàn)對(duì)玩家一命名cout請(qǐng)輸入第二個(gè)玩家姓名:;cin.getline(player2,20);/連續(xù)讀取數(shù)據(jù),實(shí)現(xiàn)對(duì)玩家二命名while(choice=Y|choice=y)/條件成立,開始下棋 s.Chongzhi();/通過(guò)對(duì)象s調(diào)用Chongzhi函數(shù) N=0;/對(duì)變量付初值,表示已經(jīng)下在棋盤上的妻子總數(shù)while(N=16)/在棋盤未滿的條件下下棋s.Dayinqp();/打印棋盤s.Xiaqi(player1,x,y,O);/調(diào)用下棋的運(yùn)行函數(shù)N+;/記錄已下棋子數(shù)if(s.Huosheng(x-1,y-1,O)/返回值不為0則條件成立coutplayer1贏了。endl;FirstWin+;/記錄玩家一所贏局?jǐn)?shù)break;/終止本次循環(huán)s.Dayinqp();/交換玩家下棋,下棋方法同上s.Xiaqi(player2,x,y,X);N+;if(s.Huosheng(x-1,y-1,X)coutplayer2贏了。endl;SecondWin+;/記錄玩家二所贏局?jǐn)?shù)break;if(N=16)/當(dāng)棋盤滿時(shí),此局結(jié)束cout和棋!;Draws+;/記錄平局總數(shù)break;s.Choice(choice);/讓玩家選擇是否在玩一次/輸出游戲輸贏次數(shù)coutplayer1贏了FirstWin次endl;coutplayer2贏了SecondWin次endl;cout和Draws次endl;cout謝謝使用。endl;cout任意鍵繼續(xù)。=0)&(y-a=0)&(boardx-ay-a=c);a+)if(+count=3) return 1;/從 右斜下 方向判斷是否構(gòu)成勝利條件for(a=1;(x+a4)&(y+a=0)&(boardx-ay=c);a+)if(+count=3) return 1;/從 下向上 方向判斷是否構(gòu)成勝利條件for(a=1;(x+a=0)&(boardxy-a=c);a+)if(+count=3) return 1;/從 右至左 方向判斷是否構(gòu)成勝利條件for(a=1;(y+a=0)&(y+a4)&(boardx-ay+a=c);a+)if(+count=3) return 1;/從 左斜下 方向判斷是否構(gòu)成勝利條件for(a=1;(x+a=0)&(boardx+ay-a=c);a+)if(+count=3) return 1;return 0;v 設(shè)計(jì)過(guò)程中的疑難及解答方案和設(shè)計(jì)的不足 設(shè)計(jì)過(guò)程中的疑難及解答方案在這次課程設(shè)計(jì)的過(guò)程中,我遇到了不小的阻力,還有也從中學(xué)習(xí)到了很多以前沒(méi)有掌握好或這根本沒(méi)有掌握的知識(shí)。 在定義玩家名字的輸入接受的時(shí)候我遇到了一個(gè)從未見(jiàn)過(guò)的函數(shù)cin.ignore(),這個(gè)函數(shù)是我從一個(gè)同樣是輸入存儲(chǔ)用戶姓名的程序里看到的,上面對(duì)它的注釋是:“輸入輸出流,前面如果有輸入把輸入行所有字符去空,一邊后面的輸入從新的一行開始?!蔽覍?duì)這個(gè)想了很長(zhǎng)時(shí)間,但是一直沒(méi)有明白。最后解決問(wèn)題的方法是我通過(guò)網(wǎng)絡(luò)查詢找到了這個(gè)函數(shù),在其他一些人那里得到了答案:“cin.ignore(a,ch)方法是從輸入流(cin)中提取字符,提取的字符被忽略(ignore),不被使用。每拋棄一個(gè)字符,它都要計(jì)數(shù)和比較字符:如果計(jì)數(shù)值達(dá)到a或者被拋棄的字符是ch,則cin.ignore()函數(shù)執(zhí)行終止;否則,它繼續(xù)等待。它的一個(gè)常用功能就是用來(lái)清除以回車結(jié)束的輸入緩沖區(qū)的內(nèi)容,消除上一次輸入對(duì)下一次輸入的影響。比如可以這么用:cin.ignore(1024,n),通常把第一個(gè)參數(shù)設(shè)置得足夠大,這樣實(shí)際上總是只有第二個(gè)參數(shù)n起作用,所以這一句就是把回車(包括回車)之前的所以字符從輸入緩沖(流)中清除出去。”這樣我就對(duì)這個(gè)函數(shù)有了很清楚的認(rèn)識(shí),所以就將它應(yīng)用到了我的設(shè)計(jì)中了。 在設(shè)計(jì)過(guò)程中最大的困難就是對(duì)勝負(fù)判斷條件的改寫。依據(jù)課本中程序設(shè)計(jì)思想的提示,我需要把源代碼中的if else格式的語(yǔ)句改寫成for循環(huán)語(yǔ)句,以便于后面對(duì)任意大棋盤的n子連珠程序的擴(kuò)展。 起初我只是單單從for循環(huán)的簡(jiǎn)單語(yǔ)句中找答案,但是一直沒(méi)有結(jié)果,我也覺(jué)得不應(yīng)該那么簡(jiǎn)單,但是卻找不到突破口。于是我向另一位同學(xué)請(qǐng)教,在我們倆的共同努力下,我們覺(jué)得應(yīng)該把for循環(huán)語(yǔ)句與if條件語(yǔ)句結(jié)合使用,于是,我便得出了我現(xiàn)在的判斷方法。下面舉例詳細(xì)說(shuō)明:例如從左斜上方向判斷 課本中的源代碼是else if (board20= O & board11= O & board02= O) cout O player wins the game =0)&(y-a=0)&(boardx-ay-a=c);a+)if(+count=3) return 1; 需要注意的是,源代碼只是局限于3*3的棋盤進(jìn)行三子游戲的從左斜上的獲勝判斷,不論棋盤變化或者子數(shù)變化都會(huì)引起代碼的非常大的變動(dòng),這樣顯然不利于棋盤以及游戲的擴(kuò)充。而對(duì)于修改后的判斷方法,如果棋盤變化,只需修改相應(yīng)的a的值即可,如果游戲子數(shù)變化,那么只要把if(+count=3)中的3改掉就可以了。比如說(shuō)五子棋可以改為if(+count=5)。 當(dāng)小錯(cuò)誤解決了以后,在重復(fù)運(yùn)行程序的過(guò)程中,我測(cè)試了各種數(shù)據(jù)及不同數(shù)據(jù)類型的輸入,發(fā)現(xiàn)在玩家輸入坐標(biāo)的時(shí)候如果不是int型的,就會(huì)導(dǎo)致程序的無(wú)效死循環(huán),為了解決這個(gè)問(wèn)題我才又引入了while(!cin) /當(dāng)輸入的行坐標(biāo)不是int型時(shí)char str20;cin.clear();/清空輸入緩沖區(qū)cin.getline(str,20);/接收原輸入數(shù)據(jù)coutx; /重新輸入這一程序,從而解決了這個(gè)問(wèn)題。設(shè)計(jì)的不足 我的設(shè)計(jì)已經(jīng)完成了,但是其中還有很多不足之處,其中最明顯的就是我沒(méi)有完成課程設(shè)計(jì)要求中的選作項(xiàng),起初,我是想按照課本程序設(shè)計(jì)思想中提到的設(shè)一個(gè)電腦玩家可以與人競(jìng)賽的程序的,但是我在思考之后還是決定不添加這個(gè)項(xiàng)目,原因是我并沒(méi)有什么好的辦法來(lái)完成這個(gè)程序段。這個(gè)問(wèn)題也算這次設(shè)計(jì)過(guò)后的一個(gè)遺留問(wèn)題吧,我會(huì)在以后的學(xué)習(xí)中努力掌握這個(gè)問(wèn)題的解決方法的。v 個(gè)人心得體會(huì) 在這次課程設(shè)計(jì)中,我不只一次的從早上八點(diǎn)一直到下午六點(diǎn)一直坐在機(jī)房,調(diào)試已經(jīng)寫好的程序,當(dāng)晚上拖著疲憊的身體走進(jìn)食堂開始這一天第一頓飯時(shí),我的心里雖然能很清楚的感受到身體的疲憊,但卻一直充滿了喜悅,這大概就是付出的喜悅吧。 還有,通過(guò)這次設(shè)計(jì),我還掌握了很多有用但以前不知道的知識(shí):首先,我比以前更加知道了注釋的重要性,而且學(xué)到了一些關(guān)于注釋的技巧,比如說(shuō),當(dāng)一段注釋的話比較長(zhǎng)的時(shí)候,為了美觀起見(jiàn),可以用/*開頭,在用*/結(jié)尾,這樣就可以輕松
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 存量房屋買賣協(xié)議書
- 木門安裝工程合同
- 門面房裝修合同書(6篇)
- 房地產(chǎn)項(xiàng)目認(rèn)購(gòu)協(xié)議
- 技術(shù)改造借款合同書
- 解決某個(gè)問(wèn)題的解決方案報(bào)告
- 農(nóng)業(yè)生產(chǎn)環(huán)境保護(hù)與監(jiān)測(cè)方案
- 委托投資協(xié)議合同
- 小學(xué)詞語(yǔ)聽(tīng)活動(dòng)方案
- 物流倉(cāng)儲(chǔ)項(xiàng)目合作協(xié)議
- 2024-2025學(xué)年山東省濰坊市高三上學(xué)期1月期末英語(yǔ)試題
- 2025-2030年中國(guó)青海省旅游行業(yè)市場(chǎng)現(xiàn)狀調(diào)查及發(fā)展趨向研判報(bào)告
- 人力資源部門2023年度招聘效果分析
- 八年級(jí)數(shù)學(xué)下冊(cè) 第1章 單元綜合測(cè)試卷(北師版 2025年春)
- 商業(yè)銀行的風(fēng)險(xiǎn)審計(jì)與內(nèi)部控制
- 2024項(xiàng)目管理人員安全培訓(xùn)考試題及參考答案AB卷
- 2025年與商場(chǎng)合作協(xié)議樣本(5篇)
- 2024年12月青少年機(jī)器人技術(shù)等級(jí)考試?yán)碚摼C合試卷(真題及答案)
- 網(wǎng)絡(luò)與社交媒體管理制度
- 2025年春新外研版(三起)英語(yǔ)三年級(jí)下冊(cè)課件 Unit1第1課時(shí)Startup
- 2025年安徽碳鑫科技有限公司招聘筆試參考題庫(kù)含答案解析
評(píng)論
0/150
提交評(píng)論