




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、湖南涉外經(jīng)濟學院課程設(shè)計報告課程名稱: C語言課程設(shè)計 報告題目: 游戲玩家管理系統(tǒng) 學生姓名: *愛若煙花* 所在學院: 信息科學與工程學院 專業(yè)班級: 電科12* 學生學號: *愛若煙花* 指導教師: 菁菁姐 2021年06月21日C語言程序設(shè)計課程設(shè)計任務(wù)書報告題目游戲玩家管理系統(tǒng)完成時間6.17-6.21學生姓名*專業(yè)班級電科1指導教師*職稱講師設(shè)計目的1、熟練掌握C語言課程中所學的理論知識;2、通過綜合C語言的基本知識來解決實際問題;3、加強分析和解決問題的能力。4、提升對C語言問題的綜合分析能力。 設(shè)計內(nèi)容游戲玩家管理包括玩家用戶名、真實姓名、注冊時間、門派、點數(shù)。系統(tǒng)功能包括:1
2、、 系統(tǒng)初始化。系統(tǒng)運行時,用數(shù)組元素初始化或文件讀入的方法把預(yù)先設(shè)置好的游戲玩家信息列表載入系統(tǒng)中。2、 系統(tǒng)以菜單方式工作,管理員用密碼登陸。3、 游戲玩家的錄入(增加數(shù)據(jù))。通過操作界面可以增加新的游戲玩家。4、 游戲玩家的瀏覽(查找數(shù)據(jù))。任意輸入一個玩家用戶名,顯示符合條件的游戲玩家。要求能多次查找。5、 游戲玩家的刪除(刪除數(shù)據(jù))。任意輸入一個玩家用戶名,將該游戲玩家從系統(tǒng)中刪除。6、 游戲玩家的修改(修改數(shù)據(jù))。任意輸入一個游戲玩家,顯示相關(guān)信息后,可對該游戲玩家進行修改并保存。7、 游戲玩家的統(tǒng)計和排序。統(tǒng)計所有游戲玩家的總點數(shù),并按點數(shù)逆序顯示游戲玩家清單。設(shè)計步驟1、需求分
3、析:對系統(tǒng)的應(yīng)實現(xiàn)的功能進行分析。2、概要設(shè)計:對系統(tǒng)功能進行模塊分解,對模塊的功能及模塊之間的相互關(guān)系進行說明(如用到函數(shù),則對函數(shù)間的接口進行說明),對系統(tǒng)使用的數(shù)據(jù)結(jié)構(gòu)(各數(shù)組、主要變量的設(shè)置及其代表的含義)進行說明。3、詳細設(shè)計:用流程圖、偽代碼等方法對各主要算法進行描述。4、編寫代碼:根據(jù)設(shè)計編寫。源程序要按照程序的格式規(guī)范來編寫,要求結(jié)構(gòu)清晰,界面友好,關(guān)鍵部分有必要的注釋。5、調(diào)試分析:準備充分的測試數(shù)據(jù)對系統(tǒng)進行調(diào)試(對錯誤的數(shù)據(jù)輸入也要進行測試,保證程序的容錯性),并通過測試對系統(tǒng)提出改進設(shè)想工作內(nèi)容及時間進度安排周1:需求分析、小組分工周2-周4 :設(shè)計、實現(xiàn)及測試周5 :
4、驗收答辯課程設(shè)計成果1與設(shè)計內(nèi)容對應(yīng)的軟件程序2課程設(shè)計總結(jié)報告摘 要 隨著Internet和計算機網(wǎng)絡(luò)的普及,網(wǎng)絡(luò)以經(jīng)走進千家萬戶,人們的生活越來越離不開網(wǎng)絡(luò)。學習,工作閑暇之余可以通過網(wǎng)絡(luò)來放松自己,也正因為如此,網(wǎng)絡(luò)游戲占據(jù)了我們生活的很大部分比重。同時,對于我們大學所學專業(yè)是網(wǎng)絡(luò)工程編程者而言,熟練的掌握編寫網(wǎng)絡(luò)游戲的程序是很重要的。依托互聯(lián)網(wǎng),世界各地的人們可以同時互動娛樂。而正因如此,所以在后臺對用戶的管理是必不可少的。 通過游戲玩家管理系統(tǒng)可以讓用戶更好的了解游戲,進入游戲,享受游戲。同時也更好的方便管理員更好的管理用戶,給用戶玩家送去最好的的愉悅感。關(guān)鍵詞:計算機網(wǎng)絡(luò);網(wǎng)絡(luò)游戲
5、;管理系統(tǒng);Visual C+5目 錄一、概述1二、需求分析2三、系統(tǒng)設(shè)計3四、游戲管理模塊詳細設(shè)計與實現(xiàn)4五、結(jié)論與心得5六、參考文獻6七、附錄7 一、概述 隨著IT產(chǎn)業(yè)的告訴發(fā)展,信息技術(shù)正以其強大的滲透力滲透到人們的生活,而網(wǎng)絡(luò)游戲也正是此飛速發(fā)展信息時代的產(chǎn)物。網(wǎng)絡(luò)游戲在社會經(jīng)濟、人們生活中占據(jù)著很大的比重,所以一款合適的游戲管理系統(tǒng)是很重要的,且在我們大學生的學習生活中,游戲也是我們所熟悉的,同時對于練習C語言也有很大的好處。成員*分工5、6、7部分1、2、部分3、4部分完成情況完成完成完成在王菁老師的指導和同學們的幫助下,我們小組所選的課題終于在21日之前圓滿完成,其中雖然還有很大
6、的不足之處,但還是對自己一年的大學學習c語言這門課程的結(jié)果交上了一份合格的答卷。二、需求分析1系統(tǒng)初始化初始化系統(tǒng),管理員執(zhí)行系統(tǒng)操作,進入游戲登錄界面。2系統(tǒng)以菜單方式工作,管理員用密碼登陸管理員輸入預(yù)設(shè)的管理員密碼,登錄成功后進行菜單選擇,執(zhí)行操作。3 游戲玩家的錄入(增加數(shù)據(jù))管理員輸入玩家的數(shù)據(jù)信息,增加玩家的數(shù)據(jù)。4 游戲玩家的瀏覽(查找數(shù)據(jù))輸入一個玩家的名稱,查找玩家的信息,與真實的數(shù)據(jù)進行核對,有無對錯。5游戲玩家的刪除(刪除數(shù)據(jù))刪除錯誤的玩家數(shù)據(jù),和外掛玩家的所得物品,經(jīng)驗等,使其返回到正常狀態(tài)。3、 系統(tǒng)設(shè)計1系統(tǒng)模塊一、系統(tǒng)初始化模塊模塊: 系統(tǒng)運行時,用數(shù)組元素初始化
7、或文件讀入的方法把預(yù)先設(shè)置好的游戲玩家信息列表載入系統(tǒng)中。二、系統(tǒng)以菜單方式工作,管理員用密碼登陸模塊: 管理員進行登錄操作。三、游戲玩家的錄入(增加數(shù)據(jù))模塊: 通過操作界面可以增加新的游戲玩家。四、游戲玩家的瀏覽(查找數(shù)據(jù))模塊: 任意輸入一個玩家用戶名,顯示符合條件的游戲玩家。要求能多次查找。5、 游戲玩家的刪除(刪除數(shù)據(jù))模塊: 任意輸入一個玩家用戶名,將該游戲玩家從系統(tǒng)中刪除。六、游戲玩家的修改(修改數(shù)據(jù))模塊: 任意輸入一個游戲玩家,顯示相關(guān)信息后,可對該游戲玩家進行修改并保存。7、 戲玩家游戲玩家的統(tǒng)計和排序模塊: 統(tǒng)計所有游戲玩家的總點數(shù),并按點數(shù)逆序顯示游清單。2總流程圖登陸
8、密碼正確否退出錄入玩家數(shù)據(jù)數(shù)據(jù)正常修改數(shù)據(jù)瀏覽玩家數(shù)據(jù)YYN3技術(shù)路線本程序采用C程序設(shè)計教程中的選擇結(jié)構(gòu)程序設(shè)計、循環(huán)結(jié)構(gòu)程序設(shè)計、數(shù)組、函數(shù)調(diào)用以及Visual C+ 2021 數(shù)據(jù)庫開發(fā)及程序經(jīng)典設(shè)計中的案例綜合以C語言編寫而成。采用Visual C+中的C軟件編寫。本程序借鑒了Baidu文庫中的一些案例,四、詳細設(shè)計我負責的是程序的前1、2部分,分別是系統(tǒng)初始化、系統(tǒng)以菜單方式工作,管理員用密碼登陸、游戲玩家的錄入(增加數(shù)據(jù)),流程圖嚴格按照設(shè)計初的思路來完成。其中數(shù)組元素初始化技術(shù)的實現(xiàn)我請教了大二的劉明學長,其它的是在自己查閱資料等之后完成。其中密碼部分采用循環(huán)結(jié)構(gòu)設(shè)計的思路,其中
9、我負責的部分程序如下: #include #include #include typedef struct char number12; /用戶名char name20;/姓名char time12; /注冊時間char school20; /門派int renaining; /點數(shù) GAME; GAME player100; int I=0; void password();/管理員登陸 void input();/游戲玩家錄入 void through();/查找 void del();/刪除 void alter();/修改 void statistics();/統(tǒng)計,排序 void d
10、educt();/點數(shù)充值,扣除 void browse();/瀏覽全部玩家 void main()while(1)password();void password()/管理員登陸int l,m=3;char pass7=123456,p7,a;printf(*請輸入管理員密碼(只有三次機會):*n);for(l=0;l6;l+)pl=getch(); putchar(*);pl=0;doif(strcmp(pass,p)=0)printf(n);printf(*1、游戲玩家的錄入。 *n);printf(*2、游戲玩家的查找。 *n);printf(*3、游戲玩家的刪除。 *n);print
11、f(*4、游戲玩家的修改。 *n);printf(*5、游戲玩家的統(tǒng)計和排序。*n);printf(*6、點數(shù)充值和點數(shù)扣除。 *n);printf(*7、瀏覽所有玩家。 *n);printf(*8、退出程序。 *n);printf(*請按鍵選擇:t);scanf(%1s,&a);五、結(jié)論與心得 通過這次課程設(shè)計我清晰的明白只有學好課程,才能對各種難題得心應(yīng)手的解決,才能心中不慌不忙,同時我明白要學好C語言是不容易的,只有將書本與實踐結(jié)合其來,多加操作實驗,做程序。 同時,課程設(shè)計是培養(yǎng)學生綜合運用所學知識、發(fā)現(xiàn)、提出、分析和解決實際問題,鍛煉實踐能力的重要環(huán)節(jié),是對我們的實際工作能力的具體訓
12、練和考察過程.隨著科學技術(shù)發(fā)展的日新月異,當今計算機應(yīng)用在生活中可以說得是無處不在。因此作為二十一世紀的大學來說掌握程序開發(fā)技術(shù)是十分重要的,而C語言又是最常見,功能最強大的一種高級語言,因此做好C語言課程設(shè)計是十分必要的。通過這次課程設(shè)計使我們懂得了理論與實際相結(jié)合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結(jié)合起來,從理論中得出結(jié)論,才能真正提高自己的實際動手能力和獨立思考的能力。在設(shè)計的過程中遇到過各種各樣的問題,同時在設(shè)計的過程中發(fā)現(xiàn)了自己的不足之處,對一些前面學過的知識理解得不夠深刻,掌握得不夠牢固,比如說結(jié)構(gòu)體,數(shù)組通過這次課程設(shè)計之后,我們把前面所學過的知識
13、又重新溫故了一遍。 通過這次C語言課程實踐程序編寫以及論文的寫作,我不僅加深了對C語言理論的理解,將理論很好地應(yīng)用到實際當中去,而且我還學會了如何去培養(yǎng)我們的創(chuàng)新精神,從而不斷地戰(zhàn)勝自己,超越自己。六、參考文獻1 譚浩強.C語言程序設(shè)計M.北京:清華大學出版社,20212 龔沛曾編著.VisualBasic6.0程序設(shè)計教程02年第三版(高等教育出版社). 3 薩師煊、王珊編著.數(shù)據(jù)庫系統(tǒng)概論02年第二版(高等教育出版社)4 趙文靜。數(shù)據(jù)結(jié)構(gòu)與算法M.北京:科學出版社5 王敬華,林萍,.陳靜.C語言程序設(shè)計M.北京:清華大學出版社17教師評語及設(shè)計成績教師評語:課程設(shè)計成績: 指導教師: (簽
14、名) 日期: 年 月 日附錄基于C語言的游戲玩家管理信息系統(tǒng)源程序代碼: #include #include #include typedef struct char number12;/用戶名char name20;/姓名char time12;/注冊時間char school20;/門派int renaining;/點數(shù) GAME; GAME player100; int I=0; void password();/管理員登陸 void input();/游戲玩家錄入 void through();/查找 void del();/刪除 void alter();/修改 void stati
15、stics();/統(tǒng)計,排序 void deduct();/點數(shù)充值,扣除 void browse();/瀏覽全部玩家 void main()while(1)password();void password()/管理員登陸int l,m=3;char pass7=123456,p7,a;printf(*請輸入管理員密碼(只有三次機會):*n);for(l=0;l6;l+)pl=getch(); putchar(*);pl=0;doif(strcmp(pass,p)=0)printf(n);printf(*1、游戲玩家的錄入。 *n);printf(*2、游戲玩家的查找。 *n);printf(
16、*3、游戲玩家的刪除。 *n);printf(*4、游戲玩家的修改。 *n);printf(*5、游戲玩家的統(tǒng)計和排序。*n);printf(*6、點數(shù)充值和點數(shù)扣除。 *n);printf(*7、瀏覽所有玩家。 *n);printf(*8、退出程序。 *n);printf(*請按鍵選擇:t);scanf(%1s,&a);switch(a)case 1:input();break;case 2:through();break;case 3:del();break;case 4:alter();break;case 5:statistics();break;case 6:deduct();bre
17、ak;case 7:browse();break;case 8: printf(*謝謝使用,再見!*n);exit(0);default :printf(*無該選項,請重新輸入。*n); break;else if(strcmp(pass,p)!=0)m-; printf(n*密碼錯誤,請重新輸入(還有%d次機會):*n,m);for(l=0;l6;l+)pl=getch(); putchar(*);pl=0;if(m=1)printf(n*密碼錯誤三次,請重新打開程序!*n);exit(0);while(1); void input()/游戲玩家錄入char t;doprintf(*請輸入游
18、戲玩家信息。*n);printf(*請輸入用戶名:t);scanf(%s,playerI.number);printf(*請輸入姓名:t);scanf(%s,playerI.name);printf(*請輸入注冊時間:t);scanf(%s,playerI.time);printf(*請輸入門派:t);scanf(%s,playerI.school);printf(*請輸入點數(shù):t);scanf(%d,&playerI.renaining);I+;printf(*錄入成功!*n);printf(*繼續(xù)請按Y,否則請按任意鍵。t);scanf(%1s,&t); while(t=y|t=Y);pr
19、intf(*反回主菜單!*n); void through()/查找int j,k;char ch20,t;doprintf(*請輸入要查找的用戶名:n);scanf(%s,&ch);for(j=0,k=1;jI;j+)if(strcmp(ch,playerj.number)=0)printf(用戶名為:%s,姓名為:%s,注冊時間為:%s,門派為:%s,點數(shù)為:%dn,playerj.number,,playerj.time,playerj.school,playerj.renaining);k=0;break;if(k)printf(*沒有找到對應(yīng)的信息,反回主菜單
20、。*n);break;printf(*是否繼續(xù),繼續(xù)請按y,否則請按任意鍵:t);scanf(%1s,&t); while(t=y|t=Y);printf(*反回主菜單!*n); void del()/刪除int i,j,k;char ch20,t;dok=1;printf(*請輸入要刪除的用戶名:n);scanf(%s,&ch);for(j=0;jI;j+)if(strcmp(ch,playerj.number)=0) k=0; break; if(k) printf(*沒有找到對應(yīng)的用戶名,反回主菜單。*n);break; for(i=j+1;iI;i+)playerj=playeri;p
21、rintf(*刪除成功!*n);printf(*繼續(xù)刪除是請按y,否則請按任意鍵:t);scanf(%1s,&t);I-;while(t=y|t=Y);printf(*反回主菜單!*n);void alter()/修改char ch20,k,t;int j,n=1;doprintf(*請輸入要修改的用戶名:t);scanf(%s,&ch);for(j=0;jI;j+)if(strcmp(ch,playerj.number)=0)n=0;N1: printf(*請輸入要修改的項目:n);printf(*1、姓名。*n);printf(*2、注冊時間。*n);printf(*3、門派。*n);sc
22、anf(%1s,&k);switch(k)case 1: printf(*輸入要修改姓名:t); scanf(%s,); break;case 2: printf(*輸入要修改注冊時間:t); scanf(%s,playerj.time); break;case 3: printf(*輸入要修改門派:t); scanf(%s,playerj.school); break;default :printf(*無此選項,請重新輸入。*n); goto N1; if(n)printf(*沒有找到對應(yīng)的用戶,反回主菜單!*n);break;printf(*修改成功!繼續(xù)修改是請按
23、y,否則請按任意鍵:t);scanf(%1s,&t);while(t=y|t=Y);printf(*反回主菜單!*n);void statistics()/統(tǒng)計,排序int i=0,j,k,b,n=0;char ch20;while(iI) n+=playeri.renaining;i+;printf(*所有游戲玩家的點數(shù)有%d。*n,n);for(j=0;jI-1;j+)for(k=0;kplayerk+1.renaining)strcpy(ch,playerk.number);strcpy(playerk.number,playerk+1.number);strcpy(playerk+1.
24、number,ch);strcpy(ch,);strcpy(,playerk+1.name);strcpy(playerk+1.name,ch);strcpy(ch,playerk.time);strcpy(playerk.time,playerk+1.time);strcpy(playerk+1.time,ch);strcpy(ch,playerk.school);strcpy(playerk.school,playerk+1.school);strcpy(playerk+1.school,ch);b=playerk.renaining;pla
25、yerk.renaining=playerk+1.renaining;playerk+1.renaining=b;printf(*排序后為:*n);for(j=0;jI;j+)printf(用戶名為:%s,姓名為:%s,注冊時間為:%s,門派為:%s,點數(shù)為:%dn,playerj.number,,playerj.time,playerj.school,playerj.renaining);printf(*反回主菜單!*n); void deduct()/點數(shù)充值,扣除int n,j,m=1;char k,ch20;N2:printf(*請選擇要進行的操作:*n*1、充
26、值。*n*2、扣除。*n);scanf(%1s,&k);switch(k)case 1:printf(*請輸入要充值點數(shù)的游戲玩家用戶名:*n);scanf(%s,ch);for(j=0;jI;j+)if(strcmp(ch,playerj.number)=0) m=0;if(m) printf(*沒有找到此用戶,反回主菜單。*n); break;printf(*請輸入要充值的點數(shù)!*n);scanf(%d,&n);playerj-1.renaining+=n;printf(*充值成功!*n); break;case 2:printf(*請輸入要扣除點數(shù)的游戲玩家用戶名:*n);scanf(%
27、s,ch);for(j=0;j=n) playerj-1.renaining-=n; else printf(*余額不足,反回主菜單!*); break; printf(*扣除成功!*n); printf(*反回主菜單!*n); break; default :printf(*無此選項,請重新輸入。*n); goto N2; void browse()/瀏覽全部玩家 int j;printf(*一共有%d個玩家,分別為:*n,I); for(j=0;jI;j+)printf(用戶名為:%s,姓名為:%s,注冊時間為:%s,門派為:%s,點數(shù)為:%dn,playerj.number,,playerj.time,playerj.school,playerj.renaining);printf(*反回主菜單
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 聚焦海上成品油運輸合同新篇章
- 瑜伽課程預(yù)約合同
- 酒店經(jīng)營轉(zhuǎn)讓合同范本
- 草莓購銷合同范本
- 工程項目合同廉政承諾書范文
- 誠信標志合作合同范本
- 人工智能在醫(yī)療保健中的創(chuàng)新考核試卷
- 木材切削刀具的選用與磨損分析考核試卷
- 云母制品在太陽能熱水器中的應(yīng)用考核試卷
- 安全網(wǎng)絡(luò)數(shù)據(jù)安全應(yīng)急響應(yīng)考核試卷
- 2025年上半年潛江市城市建設(shè)發(fā)展集團招聘工作人員【52人】易考易錯模擬試題(共500題)試卷后附參考答案
- 旋轉(zhuǎn)類機電設(shè)備故障預(yù)測、診斷研究
- 新媒體營銷(第三版) 課件全套 林海 項目1-6 新媒體營銷認知-新媒體營銷數(shù)據(jù)分析
- 愚公移山英文 -中國故事英文版課件
- DB52∕T 1413-2019 黎平牛-行業(yè)標準
- 公園綠化養(yǎng)護景觀綠化維護項目迎接重大節(jié)會活動的保障措施
- 國內(nèi)外旅游公共服務(wù)研究的文獻綜述
- 集團公司各職能部管控分權(quán)手冊
- 機車電測儀表使用及檢修
- PMS顏色對照表
- 2012年北京大學醫(yī)學部外國留學生本科入學考試
評論
0/150
提交評論